text: (window["webpackJsonp"] = window["webpackJsonp"] || []).push([[6],{
  
  /***/ "./node_modules/monaco-editor/esm/vs/basic-languages/html/html.js":
  /*!************************************************************************!*\
    !*** ./node_modules/monaco-editor/esm/vs/basic-languages/html/html.js ***!
    \************************************************************************/
  /*! exports provided: conf, language */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  __webpack_require__.r(__webpack_exports__);
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "conf", function() { return conf; });
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "language", function() { return language; });
  /*---------------------------------------------------------------------------------------------
   *  Copyright (c) Microsoft Corporation. All rights reserved.
   *  Licensed under the MIT License. See License.txt in the project root for license information.
   *--------------------------------------------------------------------------------------------*/
   // Allow for running under nodejs/requirejs in tests
  
  var _monaco = typeof monaco === 'undefined' ? self.monaco : monaco;
  
  var EMPTY_ELEMENTS = ['area', 'base', 'br', 'col', 'embed', 'hr', 'img', 'input', 'keygen', 'link', 'menuitem', 'meta', 'param', 'source', 'track', 'wbr'];
  var conf = {
    wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\$\^\&\*\(\)\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\s]+)/g,
    comments: {
      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: '>'
    }],
    onEnterRules: [{
      beforeText: new RegExp("<(?!(?:" + EMPTY_ELEMENTS.join('|') + "))([_:\\w][_:\\w-.\\d]*)([^/>]*(?!/)>)[^<]*$", 'i'),
      afterText: /^<\/([_:\w][_:\w-.\d]*)\s*>$/i,
      action: {
        indentAction: _monaco.languages.IndentAction.IndentOutdent
      }
    }, {
      beforeText: new RegExp("<(?!(?:" + EMPTY_ELEMENTS.join('|') + "))(\\w[\\w\\d]*)([^/>]*(?!/)>)[^<]*$", 'i'),
      action: {
        indentAction: _monaco.languages.IndentAction.Indent
      }
    }],
    folding: {
      markers: {
        start: new RegExp("^\\s*<!--\\s*#region\\b.*-->"),
        end: new RegExp("^\\s*<!--\\s*#endregion\\b.*-->")
      }
    }
  };
  var language = {
    defaultToken: '',
    tokenPostfix: '.html',
    ignoreCase: true,
    // The main tokenizer for our languages
    tokenizer: {
      root: [[/<!DOCTYPE/, 'metatag', '@doctype'], [/<!--/, 'comment', '@comment'], [/(<)((?:[\w\-]+:)?[\w\-]+)(\s*)(\/>)/, ['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'
      }]], [/</, 'delimiter'], [/[^<]+/]],
      doctype: [[/[^>]+/, '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]+/]],
      // -- BEGIN <script> tags handling
      // After <script
      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'
      }]]],
      // After <script ... type
      scriptAfterType: [[/=/, 'delimiter', '@scriptAfterTypeEquals'], [/>/, {
        token: 'delimiter',
        next: '@scriptEmbedded',
        nextEmbedded: 'text/javascript'
      }], [/[ \t\r\n]+/], [/<\/script\s*>/, {
        token: '@rematch',
        next: '@pop'
      }]],
      // After <script ... type =
      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'
      }]],
      // After <script ... type = $S2
      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'
      }], [/[^<]+/, '']],
      // -- END <script> tags handling
      // -- BEGIN <style> tags handling
      // After <style
      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'
      }]]],
      // After <style ... type
      styleAfterType: [[/=/, 'delimiter', '@styleAfterTypeEquals'], [/>/, {
        token: 'delimiter',
        next: '@styleEmbedded',
        nextEmbedded: 'text/css'
      }], [/[ \t\r\n]+/], [/<\/style\s*>/, {
        token: '@rematch',
        next: '@pop'
      }]],
      // After <style ... type =
      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'
      }]],
      // After <style ... type = $S2
      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'
      }], [/[^<]+/, '']]
    }
  };
  
  /***/ })
  
  }]);
  //# sourceMappingURL=6.aae40212254ed8359ce4.js.map