/*!-----------------------------------------------------------
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * Version: 0.9.0(630109944f54bcdfc2dbaaff5f090c0843af6c66)
 * Released under the MIT license
 * https://github.com/Microsoft/vscode/blob/master/LICENSE.txt
 *-----------------------------------------------------------*/
try {
  ;(function() {
    function e(e) {
      ;(this.tokens = []),
        (this.tokens.links = {}),
        (this.options = e || l.defaults),
        (this.rules = g.normal),
        this.options.gfm &&
          (this.options.tables ? (this.rules = g.tables) : (this.rules = g.gfm))
    }
    function t(e, t) {
      if (
        ((this.options = t || l.defaults),
        (this.links = e),
        (this.rules = m.normal),
        (this.renderer = this.options.renderer || new n()),
        (this.renderer.options = this.options),
        !this.links)
      )
        throw new Error('Tokens array requires a `links` property.')
      this.options.gfm
        ? this.options.breaks
          ? (this.rules = m.breaks)
          : (this.rules = m.gfm)
        : this.options.pedantic && (this.rules = m.pedantic)
    }
    function n(e) {
      this.options = e || {}
    }
    function i(e) {
      ;(this.tokens = []),
        (this.token = null),
        (this.options = e || l.defaults),
        (this.options.renderer = this.options.renderer || new n()),
        (this.renderer = this.options.renderer),
        (this.renderer.options = this.options)
    }
    function o(e, t) {
      return e
        .replace(t ? /&/g : /&(?!#?\w+;)/g, '&amp;')
        .replace(/</g, '&lt;')
        .replace(/>/g, '&gt;')
        .replace(/"/g, '&quot;')
        .replace(/'/g, '&#39;')
    }
    function r(e) {
      return e.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/g, function(
        e,
        t
      ) {
        return (
          (t = t.toLowerCase()),
          'colon' === t
            ? ':'
            : '#' === t.charAt(0)
              ? 'x' === t.charAt(1)
                ? String.fromCharCode(parseInt(t.substring(2), 16))
                : String.fromCharCode(+t.substring(1))
              : ''
        )
      })
    }
    function s(e, t) {
      return (
        (e = e.source),
        (t = t || ''),
        function n(i, o) {
          return i
            ? ((o = o.source || o),
              (o = o.replace(/(^|[^\[])\^/g, '$1')),
              (e = e.replace(i, o)),
              n)
            : new RegExp(e, t)
        }
      )
    }
    function a() {}
    function u(e) {
      for (var t, n, i = 1; i < arguments.length; i++) {
        t = arguments[i]
        for (n in t) Object.prototype.hasOwnProperty.call(t, n) && (e[n] = t[n])
      }
      return e
    }
    function l(t, n, r) {
      if (r || 'function' == typeof n) {
        r || ((r = n), (n = null))
        var s,
          a,
          c = (n = u({}, l.defaults, n || {})).highlight,
          d = 0
        try {
          s = e.lex(t, n)
        } catch (e) {
          return r(e)
        }
        a = s.length
        var h = function(e) {
          if (e) return (n.highlight = c), r(e)
          var t
          try {
            t = i.parse(s, n)
          } catch (t) {
            e = t
          }
          return (n.highlight = c), e ? r(e) : r(null, t)
        }
        if (!c || c.length < 3) return h()
        if ((delete n.highlight, !a)) return h()
        for (; d < s.length; d++)
          !(function(e) {
            'code' !== e.type
              ? --a || h()
              : c(e.text, e.lang, function(t, n) {
                  return t
                    ? h(t)
                    : null == n || n === e.text
                      ? --a || h()
                      : ((e.text = n), (e.escaped = !0), void (--a || h()))
                })
          })(s[d])
      } else
        try {
          return n && (n = u({}, l.defaults, n)), i.parse(e.lex(t, n), n)
        } catch (e) {
          if (
            ((e.message +=
              '\nPlease report this to https://github.com/chjj/marked.'),
            (n || l.defaults).silent)
          )
            return (
              '<p>An error occurred:</p><pre>' +
              o(e.message + '', !0) +
              '</pre>'
            )
          throw e
        }
    }
    var c,
      d = [
        'require',
        'exports',
        'vs/editor/common/core/range',
        'vs/base/common/lifecycle',
        'vs/css!vs/editor/editor.main',
        'vs/nls',
        'vs/base/browser/dom',
        'vs/nls!vs/editor/editor.main',
        'vs/base/common/winjs.base',
        'vs/base/common/strings',
        'vs/base/common/errors',
        'vs/base/common/event',
        'vs/editor/common/core/position',
        'vs/editor/common/editorCommonExtensions',
        'vs/platform/theme/common/themeService',
        'vs/base/common/platform',
        'vs/platform/instantiation/common/instantiation',
        'vs/editor/common/modes',
        'vs/base/common/async',
        'vs/platform/contextkey/common/contextkey',
        'vs/editor/common/editorContextKeys',
        'vs/editor/common/editorCommon',
        'vs/editor/common/core/selection',
        'vs/platform/theme/common/colorRegistry',
        'vs/base/common/uri',
        'vs/editor/browser/editorBrowser',
        'vs/base/browser/fastDomNode',
        'vs/base/common/arrays',
        'vs/base/common/objects',
        'vs/base/common/types',
        'vs/base/browser/browser',
        'vs/platform/commands/common/commands',
        'vs/editor/browser/editorBrowserExtensions',
        'vs/editor/common/model/textModelWithDecorations',
        'vs/base/common/color',
        'vs/editor/browser/view/viewPart',
        'vs/editor/common/view/editorColorRegistry',
        'vs/editor/common/controller/cursorCommon',
        'vs/base/common/eventEmitter',
        'vs/base/common/keyCodes',
        'vs/base/common/severity',
        'vs/editor/common/services/codeEditorService',
        'vs/platform/registry/common/platform',
        'vs/editor/common/modes/languageConfigurationRegistry',
        'vs/base/browser/ui/widget',
        'vs/base/browser/mouseEvent',
        'vs/base/common/paths',
        'vs/platform/keybinding/common/keybinding',
        'vs/base/browser/ui/aria/aria',
        'vs/editor/common/config/editorOptions',
        'vs/base/browser/builder',
        'vs/base/common/scrollable',
        'vs/editor/common/model/textModelEvents',
        'vs/editor/common/services/modelService',
        'vs/editor/common/controller/cursorEvents',
        'vs/base/common/actions',
        'vs/editor/common/view/viewEvents',
        'vs/editor/common/core/editOperation',
        'vs/editor/common/modes/languageConfiguration',
        'vs/platform/editor/common/editor',
        'vs/editor/browser/view/dynamicViewOverlay',
        'vs/base/browser/ui/scrollbar/scrollableElement',
        'vs/platform/telemetry/common/telemetry',
        'vs/editor/common/services/editorWorkerService',
        'vs/base/browser/keyboardEvent',
        'vs/editor/browser/config/configuration',
        'vs/platform/message/common/message',
        'vs/platform/opener/common/opener',
        'vs/base/common/network',
        'vs/base/browser/ui/actionbar/actionbar',
        'vs/editor/common/modes/nullMode',
        'vs/platform/contextview/browser/contextView',
        'vs/platform/storage/common/storage',
        'vs/platform/configuration/common/configuration',
        'vs/editor/common/commands/replaceCommand',
        'vs/base/browser/touch',
        'vs/base/common/assert',
        'vs/platform/actions/common/actions',
        'vs/editor/common/services/resolverService',
        'vs/editor/common/core/viewLineToken',
        'vs/editor/common/view/renderingContext',
        'vs/base/common/events',
        'vs/editor/common/core/characterClassifier',
        'vs/editor/standalone/common/standaloneThemeService',
        'vs/platform/instantiation/common/serviceCollection',
        'vs/base/common/filters',
        'vs/editor/common/viewModel/viewModel',
        'vs/editor/common/viewModel/viewEventHandler',
        'vs/base/common/map',
        'vs/editor/common/services/modeService',
        'vs/editor/common/controller/wordCharacterClassifier',
        'vs/platform/keybinding/common/keybindingsRegistry',
        'vs/editor/common/model/textModel',
        'vs/base/parts/quickopen/common/quickOpen',
        'vs/base/browser/htmlContentRenderer',
        'vs/editor/common/core/uint',
        'vs/editor/common/core/token',
        'vs/base/browser/globalMouseMoveMonitor',
        'vs/editor/common/viewModel/prefixSumComputer',
        'vs/base/browser/ui/sash/sash',
        'vs/editor/common/model/wordHelper',
        'vs/base/common/idGenerator',
        'vs/editor/common/model/modelLine',
        'vs/editor/common/modes/supports',
        'vs/editor/common/model/textSource',
        'vs/platform/markers/common/markers',
        'vs/editor/common/modes/supports/richEditBrackets',
        'vs/base/common/iterator',
        'vs/editor/contrib/zoneWidget/browser/peekViewWidget',
        'vs/editor/common/viewLayout/viewLineRenderer',
        'vs/platform/workspace/common/workspace',
        'vs/editor/common/config/editorZoom',
        'vs/editor/common/core/editorState',
        'vs/editor/browser/editorDom',
        'vs/editor/standalone/browser/quickOpen/editorQuickOpen',
        'vs/editor/browser/codeEditor',
        'vs/editor/browser/viewParts/glyphMargin/glyphMargin',
        'vs/base/browser/event',
        'vs/base/common/cancellation',
        'vs/base/browser/ui/inputbox/inputBox',
        'vs/base/parts/quickopen/browser/quickOpenModel',
        'vs/base/parts/tree/browser/treeDefaults',
        'vs/editor/common/config/fontInfo',
        'vs/editor/common/controller/cursorTypeOperations',
        'vs/base/browser/ui/highlightedlabel/highlightedLabel',
        'vs/base/common/htmlContent',
        'vs/editor/common/viewLayout/lineDecorations',
        'vs/editor/browser/view/viewLayer',
        'vs/editor/contrib/find/common/findModel',
        'vs/base/common/functional',
        'vs/editor/contrib/referenceSearch/browser/referencesModel',
        'vs/editor/common/model/tokensBinaryEncoding',
        'vs/base/browser/ui/scrollbar/scrollbarArrow',
        'vs/editor/common/core/lineTokens',
        'vs/platform/theme/common/styler',
        'vs/editor/contrib/suggest/browser/suggest',
        'vs/editor/common/view/minimapCharRenderer',
        'vs/editor/common/controller/coreCommands',
        'vs/editor/common/modes/textToHtmlTokenizer',
        'vs/base/common/diff/diff',
        'vs/editor/standalone/browser/simpleServices',
        'vs/platform/configuration/common/configurationRegistry',
        'vs/editor/common/modes/modesRegistry',
        'vs/editor/common/view/overviewZoneManager',
        'vs/editor/contrib/goToDeclaration/browser/goToDeclaration',
        'vs/editor/contrib/find/common/findController',
        'vs/editor/standalone/common/monarch/monarchCommon',
        'vs/editor/contrib/snippet/browser/snippetParser',
        'vs/editor/contrib/hover/browser/hoverWidgets',
        'vs/editor/contrib/hover/browser/hoverOperation',
        'vs/editor/contrib/goToDeclaration/browser/clickLinkGesture',
        'vs/editor/contrib/comment/common/blockCommentCommand',
        'vs/base/common/labels',
        'vs/editor/browser/viewParts/margin/margin',
        'vs/base/common/collections',
        'vs/editor/browser/controller/mouseTarget',
        'vs/editor/browser/viewParts/overviewRuler/overviewRulerImpl',
        'vs/editor/browser/viewParts/lines/viewLine',
        'vs/base/browser/ui/scrollbar/scrollbarState',
        'vs/editor/common/services/editorWorkerServiceImpl',
        'vs/editor/common/services/resourceConfiguration',
        'vs/editor/contrib/goToDeclaration/browser/goToDeclarationCommands',
        'vs/editor/browser/widget/embeddedCodeEditorWidget',
        'vs/editor/browser/widget/diffEditorWidget',
        'vs/editor/common/config/commonEditorConfig',
        'vs/editor/browser/widget/diffNavigator',
        'vs/base/browser/ui/contextview/contextview',
        'vs/base/common/glob',
        'vs/platform/instantiation/common/descriptors',
        'vs/editor/contrib/referenceSearch/browser/referencesController',
        'vs/editor/contrib/zoneWidget/browser/zoneWidget',
        'vs/editor/browser/viewParts/lineNumbers/lineNumbers',
        'vs/editor/common/viewModel/splitLinesCollection',
        'vs/editor/common/model/model',
        'vs/base/browser/iframe',
        'vs/editor/common/controller/cursorMoveCommands',
        'vs/editor/common/editorAction',
        'vs/editor/common/controller/cursorWordOperations',
        'vs/editor/browser/controller/textAreaState',
        'vs/editor/browser/controller/textAreaInput',
        'vs/platform/progress/common/progress',
        'vs/editor/common/controller/cursorDeleteOperations',
        'vs/editor/common/controller/cursorMoveOperations',
        'vs/editor/common/commands/shiftCommand',
        'vs/editor/common/model/textModelSearch',
        'vs/base/browser/ui/iconLabel/iconLabel',
        'vs/base/browser/ui/scrollbar/abstractScrollbar',
        'vs/editor/contrib/toggleTabFocusMode/common/toggleTabFocusMode',
        'vs/editor/standalone/browser/standaloneServices',
        'vs/base/parts/tree/browser/treeImpl',
        'vs/css!vs/editor/contrib/goToDeclaration/browser/goToDeclarationMouse',
        'vs/platform/keybinding/common/keybindingResolver',
        'vs/base/common/worker/simpleWorker',
        'vs/editor/common/standalone/standaloneBase',
        'vs/editor/contrib/snippet/browser/snippetController2',
        'vs/base/common/keybindingLabels',
        'vs/platform/environment/common/environment',
        'vs/base/browser/ui/findinput/findInputCheckboxes',
        'vs/editor/browser/widget/codeEditorWidget',
        'vs/editor/contrib/parameterHints/common/parameterHints',
        'vs/nls!vs/editor/standalone/browser/standaloneCodeEditor',
        'vs/editor/common/modes/supports/onEnter',
        'vs/editor/common/modes/tokenizationRegistry',
        'vs/editor/common/modes/supports/inplaceReplaceSupport',
        'vs/editor/common/modes/supports/indentRules',
        'vs/editor/common/modes/supports/characterPair',
        'vs/editor/common/modes/supports/electricCharacter',
        'vs/editor/common/modes/linkComputer',
        'vs/editor/common/modes/languageFeatureRegistry',
        'vs/editor/common/services/abstractCodeEditorService',
        'vs/editor/common/modes/languageSelector',
        'vs/editor/common/modes/abstractMode',
        'vs/editor/common/model/indentationGuesser',
        'vs/editor/browser/viewParts/lines/rangeUtil',
        'vs/editor/common/view/runtimeMinimapCharRenderer',
        'vs/editor/common/view/viewContext',
        'vs/editor/common/view/viewEventDispatcher',
        'vs/editor/common/model/indentRanges',
        'vs/editor/common/model/editStack',
        'vs/editor/common/diff/diffComputer',
        'vs/editor/common/viewLayout/viewLinesViewportData',
        'vs/editor/common/viewLayout/whitespaceComputer',
        'vs/editor/common/viewLayout/linesLayout',
        'vs/editor/common/commands/surroundSelectionCommand',
        'vs/editor/common/model/mirrorModel',
        'vs/editor/common/services/editorSimpleWorker',
        'vs/editor/common/commands/trimTrailingWhitespaceCommand',
        'vs/editor/browser/config/elementSizeObserver',
        'vs/editor/browser/config/charWidthReader',
        'vs/editor/browser/viewParts/contentWidgets/contentWidgets',
        'vs/editor/browser/viewParts/decorations/decorations',
        'vs/css!vs/platform/contextview/browser/contextMenuHandler',
        'vs/editor/browser/viewParts/linesDecorations/linesDecorations',
        'vs/css!vs/editor/standalone/browser/standalone-tokens',
        'vs/editor/browser/viewParts/marginDecorations/marginDecorations',
        'vs/editor/browser/viewParts/overlayWidgets/overlayWidgets',
        'vs/editor/browser/viewParts/viewZones/viewZones',
        'vs/css!vs/editor/standalone/browser/quickOpen/quickOutline',
        'vs/editor/common/viewLayout/viewLayout',
        'vs/editor/common/viewModel/viewModelDecorations',
        'vs/editor/contrib/caretOperations/common/moveCaretCommand',
        'vs/css!vs/editor/standalone/browser/quickOpen/gotoLine',
        'vs/editor/contrib/comment/common/lineCommentCommand',
        'vs/editor/contrib/dnd/common/dragAndDropCommand',
        'vs/editor/contrib/find/common/findState',
        'vs/editor/contrib/find/common/replaceAllCommand',
        'vs/editor/contrib/find/common/replacePattern',
        'vs/editor/contrib/folding/common/folding',
        'vs/editor/contrib/folding/common/indentFoldStrategy',
        'vs/editor/contrib/format/common/formatCommand',
        'vs/css!vs/editor/standalone/browser/inspectTokens/inspectTokens',
        'vs/css!vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard',
        'vs/css!vs/editor/standalone/browser/accessibilityHelp/accessibilityHelp',
        'vs/editor/contrib/inPlaceReplace/common/inPlaceReplaceCommand',
        'vs/editor/contrib/indentation/common/indentUtils',
        'vs/editor/contrib/linesOperations/common/copyLinesCommand',
        'vs/editor/contrib/linesOperations/common/deleteLinesCommand',
        'vs/editor/contrib/linesOperations/common/sortLinesCommand',
        'vs/editor/contrib/quickFix/browser/lightBulbWidget',
        'vs/editor/contrib/quickFix/browser/quickFixWidget',
        'vs/editor/contrib/smartSelect/common/tokenTree',
        'vs/css!vs/editor/contrib/zoneWidget/browser/zoneWidget',
        'vs/editor/contrib/snippet/browser/snippetVariables',
        'vs/editor/contrib/suggest/browser/completionModel',
        'vs/editor/standalone/browser/colorizer',
        'vs/css!vs/editor/contrib/zoneWidget/browser/peekViewWidget',
        'vs/editor/standalone/common/monarch/monarchCompile',
        'vs/editor/standalone/common/monarch/monarchLexer',
        'vs/nls!vs/base/browser/ui/actionbar/actionbar',
        'vs/css!vs/editor/contrib/suggest/browser/media/suggest',
        'vs/css!vs/editor/contrib/snippet/browser/snippetSession',
        'vs/css!vs/editor/contrib/rename/browser/renameInputField',
        'vs/base/browser/ui/menu/menu',
        'vs/nls!vs/base/browser/ui/aria/aria',
        'vs/css!vs/editor/contrib/referenceSearch/browser/referencesWidget',
        'vs/nls!vs/base/browser/ui/findinput/findInput',
        'vs/nls!vs/base/browser/ui/findinput/findInputCheckboxes',
        'vs/css!vs/editor/contrib/quickFix/browser/lightBulbWidget',
        'vs/nls!vs/base/browser/ui/inputbox/inputBox',
        'vs/css!vs/editor/contrib/parameterHints/browser/parameterHints',
        'vs/base/browser/ui/findinput/findInput',
        'vs/nls!vs/base/common/keybindingLabels',
        'vs/css!vs/editor/contrib/links/browser/links',
        'vs/base/browser/ui/keybindingLabel/keybindingLabel',
        'vs/nls!vs/base/common/severity',
        'vs/css!vs/editor/contrib/hover/browser/hover',
        'vs/nls!vs/base/parts/quickopen/browser/quickOpenModel',
        'vs/css!vs/editor/contrib/gotoError/browser/gotoError',
        'vs/nls!vs/base/parts/quickopen/browser/quickOpenWidget',
        'vs/nls!vs/base/parts/tree/browser/treeDefaults',
        'vs/css!vs/editor/contrib/goToDeclaration/browser/messageController',
        'vs/css!vs/editor/contrib/folding/browser/folding',
        'vs/base/parts/quickopen/browser/quickOpenWidget',
        'vs/nls!vs/editor/browser/widget/diffReview',
        'vs/nls!vs/editor/common/config/commonEditorConfig',
        'vs/nls!vs/editor/common/config/editorOptions',
        'vs/css!vs/editor/contrib/find/browser/findWidget',
        'vs/css!vs/editor/contrib/dnd/browser/dnd',
        'vs/css!vs/editor/contrib/codelens/browser/codelensWidget',
        'vs/css!vs/editor/contrib/clipboard/browser/clipboard',
        'vs/css!vs/editor/contrib/bracketMatching/browser/bracketMatching',
        'vs/editor/common/controller/cursorColumnSelection',
        'vs/css!vs/editor/browser/widget/media/tokens',
        'vs/css!vs/editor/browser/widget/media/editor',
        'vs/css!vs/editor/browser/widget/media/diffReview',
        'vs/css!vs/editor/browser/widget/media/diffEditor',
        'vs/css!vs/editor/browser/viewParts/viewCursors/viewCursors',
        'vs/editor/common/controller/oneCursor',
        'vs/editor/common/controller/cursorCollection',
        'vs/editor/contrib/linesOperations/common/moveLinesCommand',
        'vs/nls!vs/editor/common/controller/cursor',
        'vs/editor/common/controller/cursor',
        'vs/nls!vs/editor/common/model/textModelWithTokens',
        'vs/editor/common/model/textModelWithTokens',
        'vs/editor/common/model/textModelWithMarkers',
        'vs/css!vs/editor/browser/viewParts/selections/selections',
        'vs/editor/common/model/editableTextModel',
        'vs/css!vs/editor/browser/viewParts/scrollDecoration/scrollDecoration',
        'vs/css!vs/editor/browser/viewParts/rulers/rulers',
        'vs/editor/common/viewModel/characterHardWrappingLineMapper',
        'vs/editor/common/viewModel/viewModelImpl',
        'vs/editor/contrib/find/common/findDecorations',
        'vs/css!vs/editor/browser/viewParts/overlayWidgets/overlayWidgets',
        'vs/editor/contrib/folding/common/foldingModel',
        'vs/editor/contrib/snippet/browser/snippetSession',
        'vs/css!vs/editor/browser/viewParts/minimap/minimap',
        'vs/nls!vs/editor/common/modes/modesRegistry',
        'vs/nls!vs/editor/common/services/bulkEdit',
        'vs/editor/common/services/bulkEdit',
        'vs/nls!vs/editor/common/services/modelServiceImpl',
        'vs/nls!vs/editor/common/view/editorColorRegistry',
        'vs/nls!vs/editor/contrib/bracketMatching/common/bracketMatching',
        'vs/nls!vs/editor/contrib/caretOperations/common/caretOperations',
        'vs/nls!vs/editor/contrib/caretOperations/common/transpose',
        'vs/nls!vs/editor/contrib/clipboard/browser/clipboard',
        'vs/nls!vs/editor/contrib/comment/common/comment',
        'vs/nls!vs/editor/contrib/contextmenu/browser/contextmenu',
        'vs/nls!vs/editor/contrib/find/browser/findWidget',
        'vs/nls!vs/editor/contrib/find/common/findController',
        'vs/nls!vs/editor/contrib/folding/browser/folding',
        'vs/nls!vs/editor/contrib/format/browser/formatActions',
        'vs/nls!vs/editor/contrib/goToDeclaration/browser/goToDeclarationCommands',
        'vs/nls!vs/editor/contrib/goToDeclaration/browser/goToDeclarationMouse',
        'vs/nls!vs/editor/contrib/gotoError/browser/gotoError',
        'vs/nls!vs/editor/contrib/hover/browser/hover',
        'vs/nls!vs/editor/contrib/hover/browser/modesContentHover',
        'vs/nls!vs/editor/contrib/inPlaceReplace/common/inPlaceReplace',
        'vs/nls!vs/editor/contrib/linesOperations/common/linesOperations',
        'vs/nls!vs/editor/contrib/links/browser/links',
        'vs/nls!vs/editor/contrib/multicursor/common/multicursor',
        'vs/nls!vs/editor/contrib/parameterHints/browser/parameterHints',
        'vs/nls!vs/editor/contrib/parameterHints/browser/parameterHintsWidget',
        'vs/nls!vs/editor/contrib/quickFix/browser/quickFixCommands',
        'vs/nls!vs/editor/contrib/referenceSearch/browser/referenceSearch',
        'vs/nls!vs/editor/contrib/referenceSearch/browser/referencesController',
        'vs/nls!vs/editor/contrib/referenceSearch/browser/referencesModel',
        'vs/css!vs/editor/browser/viewParts/marginDecorations/marginDecorations',
        'vs/nls!vs/editor/contrib/referenceSearch/browser/referencesWidget',
        'vs/nls!vs/editor/contrib/rename/browser/rename',
        'vs/nls!vs/editor/contrib/rename/browser/renameInputField',
        'vs/nls!vs/editor/contrib/smartSelect/common/smartSelect',
        'vs/nls!vs/editor/contrib/suggest/browser/suggestController',
        'vs/nls!vs/editor/contrib/suggest/browser/suggestWidget',
        'vs/nls!vs/editor/contrib/toggleTabFocusMode/common/toggleTabFocusMode',
        'vs/nls!vs/editor/contrib/wordHighlighter/common/wordHighlighter',
        'vs/nls!vs/editor/contrib/zoneWidget/browser/peekViewWidget',
        'vs/nls!vs/editor/standalone/browser/inspectTokens/inspectTokens',
        'vs/nls!vs/editor/standalone/browser/quickOpen/gotoLine',
        'vs/nls!vs/editor/standalone/browser/quickOpen/quickCommand',
        'vs/nls!vs/editor/standalone/browser/quickOpen/quickOutline',
        'vs/editor/common/modes/supports/tokenization',
        'vs/nls!vs/editor/standalone/browser/toggleHighContrast/toggleHighContrast',
        'vs/nls!vs/platform/configuration/common/configurationRegistry',
        'vs/nls!vs/platform/keybinding/common/abstractKeybindingService',
        'vs/nls!vs/platform/message/common/message',
        'vs/nls!vs/platform/theme/common/colorRegistry',
        'vs/platform/contextview/browser/contextMenuHandler',
        'vs/platform/contextview/browser/contextMenuService',
        'vs/css!vs/editor/browser/viewParts/linesDecorations/linesDecorations',
        'vs/css!vs/editor/browser/viewParts/lines/viewLines',
        'vs/css!vs/editor/browser/viewParts/lineNumbers/lineNumbers',
        'vs/css!vs/editor/browser/viewParts/indentGuides/indentGuides',
        'vs/css!vs/editor/browser/viewParts/glyphMargin/glyphMargin',
        'vs/css!vs/editor/browser/viewParts/decorations/decorations',
        'vs/css!vs/editor/browser/viewParts/currentLineMarginHighlight/currentLineMarginHighlight',
        'vs/css!vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight',
        'vs/css!vs/editor/browser/controller/textAreaHandler',
        'vs/editor/common/services/webWorker',
        'vs/editor/contrib/smartSelect/common/tokenSelectionSupport',
        'vs/css!vs/base/parts/tree/browser/tree',
        'vs/css!vs/base/parts/quickopen/browser/quickopen',
        'vs/editor/contrib/links/common/links',
        'vs/base/browser/ui/selectBox/selectBox',
        'vs/css!vs/base/browser/ui/selectBox/selectBox',
        'vs/base/parts/tree/browser/treeView',
        'vs/base/browser/ui/list/listWidget',
        'vs/editor/common/modes/editorModeContext',
        'vs/platform/actions/common/menu',
        'vs/base/browser/ui/list/listView',
        'vs/css!vs/base/browser/ui/scrollbar/media/scrollbars',
        'vs/css!vs/base/browser/ui/sash/sash',
        'vs/platform/files/common/files',
        'vs/base/browser/ui/progressbar/progressbar',
        'vs/platform/instantiation/common/instantiationService',
        'vs/platform/keybinding/common/abstractKeybindingService',
        'vs/css!vs/base/browser/ui/progressbar/progressbar',
        'vs/css!vs/base/browser/ui/menu/menu',
        'vs/platform/contextkey/browser/contextKeyService',
        'vs/platform/keybinding/common/resolvedKeybindingItem',
        'vs/platform/keybinding/common/usLayoutResolvedKeybinding',
        'vs/platform/markers/common/markerService',
        'vs/css!vs/base/browser/ui/list/list',
        'vs/css!vs/base/browser/ui/keybindingLabel/keybindingLabel',
        'vs/platform/opener/browser/openerService',
        'vs/css!vs/base/browser/ui/inputbox/inputBox',
        'vs/editor/contrib/hover/browser/modesGlyphHover',
        'vs/css!vs/base/browser/ui/iconLabel/iconlabel',
        'vs/css!vs/base/browser/ui/findinput/findInputCheckboxes',
        'vs/css!vs/base/browser/ui/findinput/findInput',
        'vs/base/browser/ui/countBadge/countBadge',
        'vs/editor/common/services/modelServiceImpl',
        'vs/editor/contrib/dnd/browser/dnd',
        'vs/editor/standalone/browser/iPadShowKeyboard/iPadShowKeyboard',
        'vs/platform/jsonschemas/common/jsonContributionRegistry',
        'vs/css!vs/base/browser/ui/countBadge/countBadge',
        'vs/css!vs/base/browser/ui/contextview/contextview',
        'vs/editor/common/services/languagesRegistry',
        'vs/editor/common/services/modeServiceImpl',
        'vs/platform/configuration/common/model',
        'vs/base/browser/ui/checkbox/checkbox',
        'vs/css!vs/base/browser/ui/checkbox/checkbox',
        'vs/css!vs/base/browser/ui/aria/aria',
        'vs/css!vs/base/browser/ui/actionbar/actionbar',
        'vs/editor/browser/view/viewOverlays',
        'vs/editor/browser/viewParts/viewCursors/viewCursor',
        'vs/css!vs/base/browser/builder',
        'vs/base/worker/defaultWorkerFactory',
        'vs/editor/common/commonCodeEditor',
        'vs/base/parts/tree/browser/treeViewModel',
        'vs/editor/browser/view/viewController',
        'vs/editor/contrib/caretOperations/common/caretOperations',
        'vs/editor/contrib/caretOperations/common/transpose',
        'vs/editor/contrib/clipboard/browser/clipboard',
        'vs/editor/contrib/codelens/browser/codelens',
        'vs/editor/contrib/comment/common/comment',
        'vs/editor/contrib/contextmenu/browser/contextmenu',
        'vs/editor/contrib/cursorUndo/browser/cursorUndo',
        'vs/base/parts/tree/browser/treeModel',
        'vs/editor/contrib/folding/browser/folding',
        'vs/editor/contrib/format/common/format',
        'vs/editor/contrib/format/browser/formatActions',
        'vs/base/parts/tree/browser/treeDnd',
        'vs/editor/contrib/hover/common/hover',
        'vs/editor/contrib/hover/browser/modesContentHover',
        'vs/editor/contrib/linesOperations/common/linesOperations',
        'vs/editor/contrib/multicursor/common/multicursor',
        'vs/base/parts/tree/browser/tree',
        'vs/editor/contrib/quickFix/browser/quickFix',
        'vs/editor/contrib/quickFix/browser/quickFixModel',
        'vs/editor/contrib/quickFix/browser/quickFixCommands',
        'vs/editor/contrib/quickOpen/common/quickOpen',
        'vs/editor/contrib/smartSelect/common/smartSelect',
        'vs/base/parts/quickopen/browser/quickOpenViewer',
        'vs/base/browser/ui/scrollbar/verticalScrollbar',
        'vs/editor/contrib/suggest/browser/suggestModel',
        'vs/base/browser/ui/scrollbar/horizontalScrollbar',
        'vs/editor/contrib/wordOperations/common/wordOperations',
        'vs/editor/standalone/browser/toggleHighContrast/toggleHighContrast',
        'vs/platform/contextview/browser/contextViewService',
        'vs/base/browser/ui/scrollbar/scrollbarVisibilityController',
        'vs/base/common/mime',
        'vs/editor/standalone/browser/quickOpen/quickOpenEditorWidget',
        'vs/base/browser/ui/list/rowCache',
        'vs/editor/browser/services/codeEditorServiceImpl',
        'vs/editor/browser/viewParts/editorScrollbar/editorScrollbar',
        'vs/base/common/callbackList',
        'vs/editor/standalone/browser/standaloneLanguages',
        'vs/editor/browser/controller/mouseHandler',
        'vs/editor/browser/controller/pointerHandler',
        'vs/editor/browser/view/viewOutgoingEvents',
        'vs/editor/browser/viewParts/lines/viewLines',
        'vs/editor/browser/viewParts/minimap/minimap',
        'vs/editor/browser/viewParts/scrollDecoration/scrollDecoration',
        'vs/editor/browser/viewParts/selections/selections',
        'vs/base/common/comparers',
        'vs/editor/browser/viewParts/currentLineHighlight/currentLineHighlight',
        'vs/editor/browser/viewParts/currentLineMarginHighlight/currentLineMarginHighlight',
        'vs/editor/browser/viewParts/indentGuides/indentGuides',
        'vs/base/browser/ui/octiconLabel/octiconLabel',
        'vs/editor/browser/controller/textAreaHandler',
        'vs/editor/browser/viewParts/rulers/rulers',
        'vs/editor/browser/viewParts/viewCursors/viewCursors',
        'vs/editor/browser/widget/diffReview',
        'vs/base/common/marshalling',
        'vs/base/common/graph',
        'vs/editor/browser/viewParts/overviewRuler/decorationsOverviewRuler',
        'vs/editor/browser/viewParts/overviewRuler/overviewRuler',
        'vs/editor/browser/view/viewImpl',
        'vs/base/common/stopwatch',
        'vs/base/common/scorer',
        'vs/editor/standalone/browser/standaloneEditor',
        'vs/base/common/marked/marked',
        'vs/editor/contrib/bracketMatching/common/bracketMatching',
        'vs/editor/contrib/codelens/browser/codelensWidget',
        'vs/editor/contrib/codelens/browser/codelensController',
        'vs/editor/contrib/find/browser/findOptionsWidget',
        'vs/editor/contrib/find/browser/findWidget',
        'vs/editor/contrib/find/browser/find',
        'vs/editor/contrib/goToDeclaration/browser/messageController',
        'vs/editor/contrib/gotoError/browser/gotoError',
        'vs/editor/contrib/hover/browser/hover',
        'vs/editor/contrib/inPlaceReplace/common/inPlaceReplace',
        'vs/editor/contrib/links/browser/links',
        'vs/editor/contrib/parameterHints/browser/parameterHintsWidget',
        'vs/editor/contrib/parameterHints/browser/parameterHints',
        'vs/editor/contrib/rename/browser/renameInputField',
        'vs/editor/contrib/rename/browser/rename',
        'vs/editor/contrib/suggest/browser/suggestWidget',
        'vs/editor/contrib/suggest/browser/suggestController',
        'vs/editor/contrib/wordHighlighter/common/wordHighlighter',
        'vs/base/common/json',
        'vs/editor/standalone/browser/accessibilityHelp/accessibilityHelp',
        'vs/editor/standalone/browser/inspectTokens/inspectTokens',
        'vs/base/common/history',
        'vs/editor/standalone/browser/quickOpen/gotoLine',
        'vs/editor/standalone/browser/quickOpen/quickCommand',
        'vs/editor/standalone/browser/quickOpen/quickOutline',
        'vs/editor/standalone/browser/standaloneCodeEditor',
        'vs/editor/standalone/common/themes',
        'vs/editor/standalone/browser/standaloneThemeServiceImpl',
        'vs/base/common/hash',
        'vs/editor/contrib/referenceSearch/browser/referencesWidget',
        'vs/base/common/diff/diffChange',
        'vs/base/common/decorators',
        'vs/editor/contrib/goToDeclaration/browser/goToDeclarationMouse',
        'vs/editor/contrib/referenceSearch/browser/referenceSearch',
        'vs/editor/editor.all',
        'vs/base/browser/ui/list/rangeMap',
        'vs/base/common/marked/raw.marked',
        'vs/base/common/winjs.base.raw',
        'vs/editor/edcore.main'
      ],
      h = function(e) {
        for (var t = [], n = 0, i = e.length; n < i; n++) t[n] = d[e[n]]
        return t
      }
    !(function(e) {
      function t() {
        define('vs/css', new i())
      }
      var n = (function() {
          function e() {
            this._pendingLoads = 0
          }
          return (
            (e.prototype.attachListeners = function(e, t, n, i) {
              var o = function() {
                  t.removeEventListener('load', r),
                    t.removeEventListener('error', s)
                },
                r = function(e) {
                  o(), n()
                },
                s = function(e) {
                  o(), i(e)
                }
              t.addEventListener('load', r), t.addEventListener('error', s)
            }),
            (e.prototype._onLoad = function(e, t) {
              this._pendingLoads--, t()
            }),
            (e.prototype._onLoadError = function(e, t, n) {
              this._pendingLoads--, t(n)
            }),
            (e.prototype._insertLinkNode = function(e) {
              this._pendingLoads++
              var t = document.head || document.getElementsByTagName('head')[0],
                n =
                  t.getElementsByTagName('link') ||
                  document.head.getElementsByTagName('script')
              n.length > 0
                ? t.insertBefore(e, n[n.length - 1])
                : t.appendChild(e)
            }),
            (e.prototype.createLinkTag = function(e, t, n, i) {
              var o = this,
                r = document.createElement('link')
              r.setAttribute('rel', 'stylesheet'),
                r.setAttribute('type', 'text/css'),
                r.setAttribute('data-name', e)
              return (
                this.attachListeners(
                  e,
                  r,
                  function() {
                    return o._onLoad(e, n)
                  },
                  function(t) {
                    return o._onLoadError(e, i, t)
                  }
                ),
                r.setAttribute('href', t),
                r
              )
            }),
            (e.prototype._linkTagExists = function(e, t) {
              var n,
                i,
                o,
                r,
                s = document.getElementsByTagName('link')
              for (n = 0, i = s.length; n < i; n++)
                if (
                  ((o = s[n].getAttribute('data-name')),
                  (r = s[n].getAttribute('href')),
                  o === e || r === t)
                )
                  return !0
              return !1
            }),
            (e.prototype.load = function(e, t, n, i) {
              if (this._linkTagExists(e, t)) n()
              else {
                var o = this.createLinkTag(e, t, n, i)
                this._insertLinkNode(o)
              }
            }),
            e
          )
        })(),
        i = (function() {
          function e() {
            this._cssLoader = new n()
          }
          return (
            (e.prototype.load = function(e, t, n) {
              var i = t.toUrl(e + '.css')
              this._cssLoader.load(
                e,
                i,
                function(e) {
                  n({})
                },
                function(e) {
                  'function' == typeof n.error &&
                    n.error('Could not find ' + i + ' or it was empty')
                }
              )
            }),
            e
          )
        })()
      ;(e.CSSPlugin = i),
        (e.init = t),
        'undefined' == typeof doNotInitLoader && t()
    })(c || (c = {}))
    var p
    !(function(e) {
      function t(e, t, n) {
        var i
        return (
          (i =
            0 === t.length
              ? e
              : e.replace(/\{(\d+)\}/g, function(e, n) {
                  var i = n[0]
                  return void 0 !== t[i] ? t[i] : e
                })),
          n.isPseudo && (i = '［' + i.replace(/[aouei]/g, '$&$&') + '］'),
          i
        )
      }
      function n(e, t) {
        var n = e[t]
        return n || ((n = e['*']) || null)
      }
      function i(e, n, i) {
        for (var o = [], r = 3; r < arguments.length; r++)
          o[r - 3] = arguments[r]
        return t(i, o, e)
      }
      function o(e, n) {
        return function(i, o) {
          var r = Array.prototype.slice.call(arguments, 2)
          return t(e[i], r, n)
        }
      }
      function r() {
        define('vs/nls', new a(s.detect()))
      }
      var s = (function() {
          function e(e) {
            this.isPseudo = e
          }
          return (
            (e.detect = function() {
              return new e(
                'undefined' != typeof document &&
                  document.location &&
                  document.location.hash.indexOf('pseudo=true') >= 0
              )
            }),
            e
          )
        })(),
        a = (function() {
          function e(e) {
            var t = this
            ;(this._env = e),
              (this.localize = function(e, n) {
                for (var o = [], r = 2; r < arguments.length; r++)
                  o[r - 2] = arguments[r]
                return i.apply(void 0, [t._env, e, n].concat(o))
              })
          }
          return (
            (e.prototype.setPseudoTranslation = function(e) {
              this._env = new s(e)
            }),
            (e.prototype.create = function(e, t) {
              return { localize: o(t[e], this._env) }
            }),
            (e.prototype.load = function(t, i, r, s) {
              var a = this
              if (((s = s || {}), t && 0 !== t.length)) {
                var u = s['vs/nls'] || {},
                  l = u.availableLanguages ? n(u.availableLanguages, t) : null,
                  c = '.nls'
                null !== l && l !== e.DEFAULT_TAG && (c = c + '.' + l),
                  i([t + c], function(e) {
                    Array.isArray(e)
                      ? (e.localize = o(e, a._env))
                      : (e.localize = o(e[t], a._env)),
                      r(e)
                  })
              } else r({ localize: this.localize })
            }),
            e
          )
        })()
      ;(a.DEFAULT_TAG = 'i-default'),
        (e.NLSPlugin = a),
        (e.init = r),
        'undefined' == typeof doNotInitLoader && r()
    })(p || (p = {})),
      define(d[174], h([0, 1]), function(e, t) {
        'use strict'
        function n(e) {
          if (!e.parent || e.parent === e) return null
          try {
            var t = e.location,
              n = e.parent.location
            if (
              t.protocol !== n.protocol ||
              t.hostname !== n.hostname ||
              t.port !== n.port
            )
              return (o = !0), null
          } catch (e) {
            return (o = !0), null
          }
          return e.parent
        }
        function i(e, t) {
          for (
            var n,
              i = e.document.getElementsByTagName('iframe'),
              o = 0,
              r = i.length;
            o < r;
            o++
          )
            if ((n = i[o]).contentWindow === t) return n
          return null
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = !1,
          r = null,
          s = (function() {
            function e() {}
            return (
              (e.getSameOriginWindowChain = function() {
                if (!r) {
                  r = []
                  var e,
                    t = window
                  do {
                    ;(e = n(t))
                      ? r.push({ window: t, iframeElement: i(e, t) })
                      : r.push({ window: t, iframeElement: null }),
                      (t = e)
                  } while (t)
                }
                return r.slice(0)
              }),
              (e.hasDifferentOriginAncestor = function() {
                return r || this.getSameOriginWindowChain(), o
              }),
              (e.getPositionOfChildWindowRelativeToAncestorWindow = function(
                e,
                t
              ) {
                if (!t || e === t) return { top: 0, left: 0 }
                for (
                  var n = 0, i = 0, o = this.getSameOriginWindowChain(), r = 0;
                  r < o.length;
                  r++
                ) {
                  var s = o[r]
                  if (s.window === t) break
                  if (!s.iframeElement) break
                  var a = s.iframeElement.getBoundingClientRect()
                  ;(n += a.top), (i += a.left)
                }
                return { top: n, left: i }
              }),
              e
            )
          })()
        t.IframeUtils = s
      }),
      define(d[537], h([0, 1]), function(e, t) {
        'use strict'
        function n(e, t) {
          if (e.start >= t.end || t.start >= e.end) return null
          var n = Math.max(e.start, t.start),
            i = Math.min(e.end, t.end)
          return i - n <= 0 ? null : { start: n, end: i }
        }
        function i(e) {
          return e.end - e.start <= 0
        }
        function o(e, t) {
          for (var i = [], o = 0, r = t; o < r.length; o++) {
            var s = r[o]
            if (!(e.start >= s.range.end)) {
              if (e.end < s.range.start) break
              var a = n(e, s.range)
              a && i.push({ range: a, size: s.size })
            }
          }
          return i
        }
        function r(e, t) {
          return { start: e.start + t, end: e.end + t }
        }
        function s(e) {
          for (var t = [], n = null, i = 0, o = e; i < o.length; i++) {
            var r = o[i],
              s = r.range.start,
              a = r.range.end,
              u = r.size
            n && u === n.size
              ? (n.range.end = a)
              : ((n = { range: { start: s, end: a }, size: u }), t.push(n))
          }
          return t
        }
        function a() {
          for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]
          return s(
            e.reduce(function(e, t) {
              return e.concat(t)
            }, [])
          )
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.intersect = n),
          (t.isEmpty = i),
          (t.relativeComplement = function(e, t) {
            var n = [],
              o = { start: e.start, end: Math.min(t.start, e.end) },
              r = { start: Math.max(t.end, e.start), end: e.end }
            return i(o) || n.push(o), i(r) || n.push(r), n
          }),
          (t.each = function(e, t) {
            for (var n = e.start; n < e.end; n++) t(n)
          }),
          (t.groupIntersect = o),
          (t.consolidate = s)
        var u = (function() {
          function e() {
            ;(this.groups = []), (this._size = 0)
          }
          return (
            (e.prototype.splice = function(e, t) {
              for (var n = [], i = 2; i < arguments.length; i++)
                n[i - 2] = arguments[i]
              var s = n.length - t,
                u = o({ start: 0, end: e }, this.groups),
                l = o(
                  { start: e + t, end: Number.POSITIVE_INFINITY },
                  this.groups
                ).map(function(e) {
                  return { range: r(e.range, s), size: e.size }
                }),
                c = n.map(function(t, n) {
                  return {
                    range: { start: e + n, end: e + n + 1 },
                    size: t.size
                  }
                })
              ;(this.groups = a(u, c, l)),
                (this._size = this.groups.reduce(function(e, t) {
                  return e + t.size * (t.range.end - t.range.start)
                }, 0))
            }),
            Object.defineProperty(e.prototype, 'count', {
              get: function() {
                var e = this.groups.length
                return e ? this.groups[e - 1].range.end : 0
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'size', {
              get: function() {
                return this._size
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.indexAt = function(e) {
              if (e < 0) return -1
              for (
                var t = 0, n = 0, i = 0, o = this.groups;
                i < o.length;
                i++
              ) {
                var r = o[i],
                  s = r.range.end - r.range.start,
                  a = n + s * r.size
                if (e < a) return t + Math.floor((e - n) / r.size)
                ;(t += s), (n = a)
              }
              return t
            }),
            (e.prototype.indexAfter = function(e) {
              return Math.min(this.indexAt(e) + 1, this.count)
            }),
            (e.prototype.positionAt = function(e) {
              if (e < 0) return -1
              for (
                var t = 0, n = 0, i = 0, o = this.groups;
                i < o.length;
                i++
              ) {
                var r = o[i],
                  s = r.range.end - r.range.start,
                  a = n + s
                if (e < a) return t + (e - n) * r.size
                ;(t += s * r.size), (n = a)
              }
              return -1
            }),
            (e.prototype.dispose = function() {
              this.groups = null
            }),
            e
          )
        })()
        t.RangeMap = u
      }),
      define(d[158], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var n = (function() {
          function e(e, t, n) {
            ;(this._scrollbarSize = Math.round(t)),
              (this._oppositeScrollbarSize = Math.round(n)),
              (this._arrowSize = Math.round(e)),
              (this._visibleSize = 0),
              (this._scrollSize = 0),
              (this._scrollPosition = 0),
              (this._computedAvailableSize = 0),
              (this._computedIsNeeded = !1),
              (this._computedSliderSize = 0),
              (this._computedSliderRatio = 0),
              (this._computedSliderPosition = 0),
              this._refreshComputedValues()
          }
          return (
            (e.prototype.clone = function() {
              var t = new e(
                this._arrowSize,
                this._scrollbarSize,
                this._oppositeScrollbarSize
              )
              return (
                t.setVisibleSize(this._visibleSize),
                t.setScrollSize(this._scrollSize),
                t.setScrollPosition(this._scrollPosition),
                t
              )
            }),
            (e.prototype.setVisibleSize = function(e) {
              var t = Math.round(e)
              return (
                this._visibleSize !== t &&
                ((this._visibleSize = t), this._refreshComputedValues(), !0)
              )
            }),
            (e.prototype.setScrollSize = function(e) {
              var t = Math.round(e)
              return (
                this._scrollSize !== t &&
                ((this._scrollSize = t), this._refreshComputedValues(), !0)
              )
            }),
            (e.prototype.setScrollPosition = function(e) {
              var t = Math.round(e)
              return (
                this._scrollPosition !== t &&
                ((this._scrollPosition = t), this._refreshComputedValues(), !0)
              )
            }),
            (e._computeValues = function(e, t, n, i, o) {
              var r = Math.max(0, n - e),
                s = Math.max(0, r - 2 * t),
                a = i > 0 && i > n
              if (!a)
                return {
                  computedAvailableSize: Math.round(r),
                  computedIsNeeded: a,
                  computedSliderSize: Math.round(s),
                  computedSliderRatio: 0,
                  computedSliderPosition: 0
                }
              var u = Math.round(Math.max(20, Math.floor((n * s) / i))),
                l = (s - u) / (i - n),
                c = o * l
              return {
                computedAvailableSize: Math.round(r),
                computedIsNeeded: a,
                computedSliderSize: Math.round(u),
                computedSliderRatio: l,
                computedSliderPosition: Math.round(c)
              }
            }),
            (e.prototype._refreshComputedValues = function() {
              var t = e._computeValues(
                this._oppositeScrollbarSize,
                this._arrowSize,
                this._visibleSize,
                this._scrollSize,
                this._scrollPosition
              )
              ;(this._computedAvailableSize = t.computedAvailableSize),
                (this._computedIsNeeded = t.computedIsNeeded),
                (this._computedSliderSize = t.computedSliderSize),
                (this._computedSliderRatio = t.computedSliderRatio),
                (this._computedSliderPosition = t.computedSliderPosition)
            }),
            (e.prototype.getArrowSize = function() {
              return this._arrowSize
            }),
            (e.prototype.getScrollPosition = function() {
              return this._scrollPosition
            }),
            (e.prototype.getRectangleLargeSize = function() {
              return this._computedAvailableSize
            }),
            (e.prototype.getRectangleSmallSize = function() {
              return this._scrollbarSize
            }),
            (e.prototype.isNeeded = function() {
              return this._computedIsNeeded
            }),
            (e.prototype.getSliderSize = function() {
              return this._computedSliderSize
            }),
            (e.prototype.getSliderPosition = function() {
              return this._computedSliderPosition
            }),
            (e.prototype.getSliderCenter = function() {
              return this._computedSliderPosition + this._computedSliderSize / 2
            }),
            (e.prototype.getDesiredScrollPositionFromOffset = function(e) {
              if (!this._computedIsNeeded) return 0
              var t = e - this._arrowSize - this._computedSliderSize / 2
              return Math.round(t / this._computedSliderRatio)
            }),
            (e.prototype.getDesiredScrollPositionFromDelta = function(e) {
              if (!this._computedIsNeeded) return 0
              var t = this._computedSliderPosition + e
              return Math.round(t / this._computedSliderRatio)
            }),
            e
          )
        })()
        t.ScrollbarState = n
      }),
      define(d[27], h([0, 1]), function(e, t) {
        'use strict'
        function n(e, t) {
          var n = 0,
            i = e.length
          if (0 === i) return 0
          for (; n < i; ) {
            var o = Math.floor((n + i) / 2)
            t(e[o]) ? (i = o) : (n = o + 1)
          }
          return n
        }
        function i(e, t) {
          if (!(e.length <= 1)) {
            var n = (e.length / 2) | 0,
              o = e.slice(0, n),
              r = e.slice(n)
            i(o, t), i(r, t)
            for (var s = 0, a = 0, u = 0; s < o.length && a < r.length; ) {
              var l = t(o[s], r[a])
              e[u++] = l <= 0 ? o[s++] : r[a++]
            }
            for (; s < o.length; ) e[u++] = o[s++]
            for (; a < r.length; ) e[u++] = r[a++]
          }
        }
        function o(e, t) {
          for (var n = 0; n < e.length; n++) if (t(e[n])) return n
          return -1
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.tail = function(e, t) {
            return void 0 === t && (t = 0), e[e.length - (1 + t)]
          }),
          (t.equals = function(e, t, n) {
            if (
              (void 0 === n &&
                (n = function(e, t) {
                  return e === t
                }),
              e.length !== t.length)
            )
              return !1
            for (var i = 0, o = e.length; i < o; i++)
              if (!n(e[i], t[i])) return !1
            return !0
          }),
          (t.binarySearch = function(e, t, n) {
            for (var i = 0, o = e.length - 1; i <= o; ) {
              var r = ((i + o) / 2) | 0,
                s = n(e[r], t)
              if (s < 0) i = r + 1
              else {
                if (!(s > 0)) return r
                o = r - 1
              }
            }
            return -(i + 1)
          }),
          (t.findFirst = n),
          (t.mergeSort = function(e, t) {
            return i(e, t), e
          }),
          (t.groupBy = function(e, t) {
            for (
              var n, i = [], o = 0, r = e.slice(0).sort(t);
              o < r.length;
              o++
            ) {
              var s = r[o]
              n && 0 === t(n[0], s) ? n.push(s) : ((n = [s]), i.push(n))
            }
            return i
          }),
          (t.delta = function(e, t, n) {
            for (var i = [], o = [], r = 0, s = 0; ; ) {
              if (r === e.length) {
                o.push.apply(o, t.slice(s))
                break
              }
              if (s === t.length) {
                i.push.apply(i, e.slice(r))
                break
              }
              var a = e[r],
                u = t[s],
                l = n(a, u)
              0 === l
                ? ((r += 1), (s += 1))
                : l < 0
                  ? (i.push(a), (r += 1))
                  : l > 0 && (o.push(u), (s += 1))
            }
            return { removed: i, added: o }
          }),
          (t.top = function(e, t, i) {
            if (0 === i) return []
            for (var o = e.slice(0, i).sort(t), r = i, s = e.length; r < s; r++)
              !(function(r, s) {
                var a = e[r]
                if (t(a, o[i - 1]) < 0) {
                  o.pop()
                  var u = n(o, function(e) {
                    return t(a, e) < 0
                  })
                  o.splice(u, 0, a)
                }
              })(r)
            return o
          }),
          (t.coalesce = function(e) {
            return e
              ? e.filter(function(e) {
                  return !!e
                })
              : e
          }),
          (t.move = function(e, t, n) {
            e.splice(n, 0, e.splice(t, 1)[0])
          }),
          (t.isFalsyOrEmpty = function(e) {
            return !Array.isArray(e) || 0 === e.length
          }),
          (t.distinct = function(e, t) {
            if (!t)
              return e.filter(function(t, n) {
                return e.indexOf(t) === n
              })
            var n = Object.create(null)
            return e.filter(function(e) {
              var i = t(e)
              return !n[i] && ((n[i] = !0), !0)
            })
          }),
          (t.uniqueFilter = function(e) {
            var t = Object.create(null)
            return function(n) {
              var i = e(n)
              return !t[i] && ((t[i] = !0), !0)
            }
          }),
          (t.firstIndex = o),
          (t.first = function(e, t, n) {
            void 0 === n && (n = null)
            var i = o(e, t)
            return i < 0 ? n : e[i]
          }),
          (t.commonPrefixLength = function(e, t, n) {
            void 0 === n &&
              (n = function(e, t) {
                return e === t
              })
            for (
              var i = 0, o = 0, r = Math.min(e.length, t.length);
              o < r && n(e[o], t[o]);
              o++
            )
              i++
            return i
          }),
          (t.flatten = function(e) {
            return e.reduce(function(e, t) {
              return e.concat(t)
            }, [])
          }),
          (t.range = function(e, t) {
            void 0 === t && (t = 0)
            for (var n = [], i = t; i < e; i++) n.push(i)
            return n
          }),
          (t.fill = function(e, t, n) {
            void 0 === n && (n = [])
            for (var i = 0; i < e; i++) n[i] = t()
            return n
          }),
          (t.index = function(e, t, n) {
            return (
              void 0 === n &&
                (n = function(e) {
                  return e
                }),
              e.reduce(function(e, i) {
                var o = t(i)
                return (e[o] = n(i, e[o])), e
              }, Object.create(null))
            )
          }),
          (t.insert = function(e, t) {
            return (
              e.push(t),
              function() {
                var n = e.indexOf(t)
                n > -1 && e.splice(n, 1)
              }
            )
          }),
          (t.arrayInsert = function(e, t, n) {
            var i = e.slice(0, t),
              o = e.slice(t)
            return i.concat(n, o)
          })
      }),
      define(d[76], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.ok = function(e, t) {
            if (!e || null === e)
              throw new Error(
                t ? 'Assertion failed (' + t + ')' : 'Assertion Failed'
              )
          })
      }),
      define(d[154], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var n = Object.prototype.hasOwnProperty
        ;(t.values = function(e) {
          var t = []
          for (var i in e) n.call(e, i) && t.push(e[i])
          return t
        }),
          (t.size = function(e) {
            var t = 0
            for (var i in e) n.call(e, i) && (t += 1)
            return t
          }),
          (t.forEach = function(e, t) {
            for (var i in e) {
              var o = (function(i) {
                if (
                  n.call(e, i) &&
                  !1 ===
                    t({ key: i, value: e[i] }, function() {
                      delete e[i]
                    })
                )
                  return { value: void 0 }
              })(i)
              if ('object' == typeof o) return o.value
            }
          }),
          (t.remove = function(e, t) {
            return !!n.call(e, t) && (delete e[t], !0)
          }),
          (t.groupBy = function(e, t) {
            for (var n = Object.create(null), i = 0, o = e; i < o.length; i++) {
              var r = o[i],
                s = t(r),
                a = n[s]
              a || (a = n[s] = []), a.push(r)
            }
            return n
          })
      }),
      define(d[34], h([0, 1]), function(e, t) {
        'use strict'
        function n(e) {
          if (!e) return null
          var t = e.length
          if (0 === t) return null
          if (35 !== e.charCodeAt(0)) return null
          if (7 === t) {
            var n = 16 * i(e.charCodeAt(1)) + i(e.charCodeAt(2)),
              o = 16 * i(e.charCodeAt(3)) + i(e.charCodeAt(4)),
              r = 16 * i(e.charCodeAt(5)) + i(e.charCodeAt(6))
            return new a(n, o, r, 255)
          }
          if (9 === t) {
            var n = 16 * i(e.charCodeAt(1)) + i(e.charCodeAt(2)),
              o = 16 * i(e.charCodeAt(3)) + i(e.charCodeAt(4)),
              r = 16 * i(e.charCodeAt(5)) + i(e.charCodeAt(6)),
              s = 16 * i(e.charCodeAt(7)) + i(e.charCodeAt(8))
            return new a(n, o, r, s)
          }
          if (4 === t) {
            var n = i(e.charCodeAt(1)),
              o = i(e.charCodeAt(2)),
              r = i(e.charCodeAt(3))
            return new a(16 * n + n, 16 * o + o, 16 * r + r)
          }
          if (5 === t) {
            var n = i(e.charCodeAt(1)),
              o = i(e.charCodeAt(2)),
              r = i(e.charCodeAt(3)),
              s = i(e.charCodeAt(4))
            return new a(16 * n + n, 16 * o + o, 16 * r + r, 16 * s + s)
          }
          return null
        }
        function i(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
        }
        function o(e) {
          var t = e.r / 255,
            n = e.g / 255,
            i = e.b / 255,
            o = e.a / 255,
            r = Math.max(t, n, i),
            s = Math.min(t, n, i),
            a = 0,
            l = 0,
            c = Math.round(((s + r) / 2) * 1e3) / 1e3,
            d = r - s
          if (d > 0) {
            switch (
              ((l = Math.min(
                Math.round(1e3 * (c <= 0.5 ? d / (2 * c) : d / (2 - 2 * c))) /
                  1e3,
                1
              )),
              r)
            ) {
              case t:
                a = (n - i) / d + (n < i ? 6 : 0)
                break
              case n:
                a = (i - t) / d + 2
                break
              case i:
                a = (t - n) / d + 4
            }
            ;(a *= 60), (a = Math.round(a))
          }
          return new u(a, l, c, o)
        }
        function r(e) {
          var t,
            n,
            i,
            o = e.h / 360,
            r = Math.min(e.s, 1),
            u = Math.min(e.l, 1),
            l = e.a
          if (0 === r) t = n = i = u
          else {
            var c = u < 0.5 ? u * (1 + r) : u + r - u * r,
              d = 2 * u - c
            ;(t = s(d, c, o + 1 / 3)),
              (n = s(d, c, o)),
              (i = s(d, c, o - 1 / 3))
          }
          return new a(
            Math.round(255 * t),
            Math.round(255 * n),
            Math.round(255 * i),
            Math.round(255 * l)
          )
        }
        function s(e, t, n) {
          return (
            n < 0 && (n += 1),
            n > 1 && (n -= 1),
            n < 1 / 6
              ? e + 6 * (t - e) * n
              : n < 0.5
                ? t
                : n < 2 / 3
                  ? e + (t - e) * (2 / 3 - n) * 6
                  : e
          )
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = (function() {
          function e(t, n, i, o) {
            void 0 === o && (o = 255),
              (this.r = e._clampInt_0_255(t)),
              (this.g = e._clampInt_0_255(n)),
              (this.b = e._clampInt_0_255(i)),
              (this.a = e._clampInt_0_255(o))
          }
          return (
            (e.equals = function(e, t) {
              return e.r === t.r && e.g === t.g && e.b === t.b && e.a === t.a
            }),
            (e._clampInt_0_255 = function(e) {
              return e < 0 ? 0 : e > 255 ? 255 : 0 | e
            }),
            e
          )
        })()
        t.RGBA = a
        var u = (function() {
          function e(t, n, i, o) {
            ;(this.h = e._clampFloat_0_360(t)),
              (this.s = e._clampFloat_0_1(n)),
              (this.l = e._clampFloat_0_1(i)),
              (this.a = e._clampFloat_0_1(o))
          }
          return (
            (e._clampFloat_0_360 = function(e) {
              return e < 0 ? 0 : e > 360 ? 360 : e
            }),
            (e._clampFloat_0_1 = function(e) {
              return e < 0 ? 0 : e > 1 ? 1 : e
            }),
            e
          )
        })()
        t.HSLA = u
        var l = /^#[0-9A-Fa-f]{3,8}$/i
        t.isValidHexColor = function(e) {
          return l.test(e) && 6 !== e.length && 8 !== e.length
        }
        var c = (function() {
          function e(e) {
            this.rgba = e
          }
          return (
            (e.fromRGBA = function(t) {
              return new e(t)
            }),
            (e.fromHex = function(t, i) {
              void 0 === i && (i = e.red)
              var o = n(t)
              return o ? new e(o) : i
            }),
            (e.fromHSLA = function(t) {
              return new e(r(t))
            }),
            (e.prototype.equals = function(e) {
              return !!e && a.equals(this.rgba, e.rgba)
            }),
            (e.prototype.getLuminosity = function() {
              var t =
                0.2126 * e._luminosityFor(this.rgba.r) +
                0.7152 * e._luminosityFor(this.rgba.g) +
                0.0722 * e._luminosityFor(this.rgba.b)
              return Math.round(1e4 * t) / 1e4
            }),
            (e._luminosityFor = function(e) {
              var t = e / 255
              return t <= 0.03928
                ? t / 12.92
                : Math.pow((t + 0.055) / 1.055, 2.4)
            }),
            (e.prototype.getContrast = function(e) {
              var t = this.getLuminosity(),
                n = e.getLuminosity()
              return t > n ? (t + 0.05) / (n + 0.05) : (n + 0.05) / (t + 0.05)
            }),
            (e.prototype.isDarker = function() {
              return (
                (299 * this.rgba.r + 587 * this.rgba.g + 114 * this.rgba.b) /
                  1e3 <
                128
              )
            }),
            (e.prototype.isLighter = function() {
              return (
                (299 * this.rgba.r + 587 * this.rgba.g + 114 * this.rgba.b) /
                  1e3 >=
                128
              )
            }),
            (e.prototype.isLighterThan = function(e) {
              return this.getLuminosity() > e.getLuminosity()
            }),
            (e.prototype.isDarkerThan = function(e) {
              return this.getLuminosity() < e.getLuminosity()
            }),
            (e.prototype.lighten = function(t) {
              var n = this.toHSLA()
              return new e(r(new u(n.h, n.s, n.l + n.l * t, n.a)))
            }),
            (e.prototype.darken = function(t) {
              var n = this.toHSLA()
              return new e(r(new u(n.h, n.s, n.l - n.l * t, n.a)))
            }),
            (e.prototype.transparent = function(t) {
              var n = this.rgba
              return new e(new a(n.r, n.g, n.b, Math.round(n.a * t)))
            }),
            (e.prototype.isTransparent = function() {
              return 0 === this.rgba.a
            }),
            (e.prototype.opposite = function() {
              return new e(
                new a(
                  255 - this.rgba.r,
                  255 - this.rgba.g,
                  255 - this.rgba.b,
                  this.rgba.a
                )
              )
            }),
            (e.prototype.toString = function() {
              var e = this.rgba
              return 255 === e.a
                ? this.toRGBHex()
                : 'rgba(' +
                    e.r +
                    ', ' +
                    e.g +
                    ', ' +
                    e.b +
                    ', ' +
                    +(e.a / 255).toFixed(2) +
                    ')'
            }),
            (e.prototype.toRGBHex = function() {
              var t = this.rgba
              return (
                '#' +
                e._toTwoDigitHex(t.r) +
                e._toTwoDigitHex(t.g) +
                e._toTwoDigitHex(t.b)
              )
            }),
            (e.prototype.toRGBAHex = function(t) {
              void 0 === t && (t = !1)
              var n = this.rgba
              return t && 255 === n.a
                ? this.toRGBHex()
                : '#' +
                    e._toTwoDigitHex(n.r) +
                    e._toTwoDigitHex(n.g) +
                    e._toTwoDigitHex(n.b) +
                    e._toTwoDigitHex(n.a)
            }),
            (e._toTwoDigitHex = function(e) {
              var t = e.toString(16)
              return 2 !== t.length ? '0' + t : t
            }),
            (e.prototype.toHSLA = function() {
              return o(this.rgba)
            }),
            (e.prototype.toRGBA = function() {
              return this.rgba
            }),
            (e.getLighterColor = function(e, t, n) {
              if (e.isLighterThan(t)) return e
              n = n || 0.5
              var i = e.getLuminosity(),
                o = t.getLuminosity()
              return (n = (n * (o - i)) / o), e.lighten(n)
            }),
            (e.getDarkerColor = function(e, t, n) {
              if (e.isDarkerThan(t)) return e
              n = n || 0.5
              var i = e.getLuminosity()
              return (n = (n * (i - t.getLuminosity())) / i), e.darken(n)
            }),
            e
          )
        })()
        ;(c.white = new c(new a(255, 255, 255, 255))),
          (c.black = new c(new a(0, 0, 0, 255))),
          (c.red = new c(new a(255, 0, 0, 255))),
          (c.blue = new c(new a(0, 0, 255, 255))),
          (c.green = new c(new a(0, 255, 0, 255))),
          (c.cyan = new c(new a(0, 255, 255, 255))),
          (c.lightgrey = new c(new a(211, 211, 211, 255))),
          (c.transparent = new c(new a(0, 0, 0, 0))),
          (t.Color = c)
      }),
      define(d[533], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.memoize = function(e, t, n) {
            var i = null,
              o = null
            if (
              ('function' == typeof n.value
                ? ((i = 'value'), (o = n.value))
                : 'function' == typeof n.get && ((i = 'get'), (o = n.get)),
              !o)
            )
              throw new Error('not supported')
            var r = '$memoize$' + t
            n[i] = function() {
              for (var e = [], t = 0; t < arguments.length; t++)
                e[t] = arguments[t]
              return (
                this.hasOwnProperty(r) ||
                  Object.defineProperty(this, r, {
                    configurable: !1,
                    enumerable: !1,
                    writable: !1,
                    value: o.apply(this, e)
                  }),
                this[r]
              )
            }
          })
      }),
      define(d[532], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.DifferenceType = { Add: 0, Remove: 1, Change: 2 })
        var n = (function() {
          function e(e, t, n, i) {
            ;(this.originalStart = e),
              (this.originalLength = t),
              (this.modifiedStart = n),
              (this.modifiedLength = i)
          }
          return (
            (e.prototype.getChangeType = function() {
              return 0 === this.originalLength
                ? t.DifferenceType.Add
                : 0 === this.modifiedLength
                  ? t.DifferenceType.Remove
                  : t.DifferenceType.Change
            }),
            (e.prototype.getOriginalEnd = function() {
              return this.originalStart + this.originalLength
            }),
            (e.prototype.getModifiedEnd = function() {
              return this.modifiedStart + this.modifiedLength
            }),
            e
          )
        })()
        t.DiffChange = n
      }),
      define(d[139], h([0, 1, 532]), function(e, t, n) {
        'use strict'
        function i(e) {
          return {
            getLength: function() {
              return e.length
            },
            getElementHash: function(t) {
              return e[t]
            }
          }
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.stringDiff = function(e, t) {
            return new u(i(e), i(t)).ComputeDiff()
          })
        var o = (function() {
          function e() {}
          return (
            (e.Assert = function(e, t) {
              if (!e) throw new Error(t)
            }),
            e
          )
        })()
        t.Debug = o
        var r = (function() {
          function e() {}
          return (
            (e.Copy = function(e, t, n, i, o) {
              for (var r = 0; r < o; r++) n[i + r] = e[t + r]
            }),
            e
          )
        })()
        t.MyArray = r
        var s = (function() {
            function e() {
              ;(this.m_changes = []),
                (this.m_originalStart = Number.MAX_VALUE),
                (this.m_modifiedStart = Number.MAX_VALUE),
                (this.m_originalCount = 0),
                (this.m_modifiedCount = 0)
            }
            return (
              (e.prototype.MarkNextChange = function() {
                ;(this.m_originalCount > 0 || this.m_modifiedCount > 0) &&
                  this.m_changes.push(
                    new n.DiffChange(
                      this.m_originalStart,
                      this.m_originalCount,
                      this.m_modifiedStart,
                      this.m_modifiedCount
                    )
                  ),
                  (this.m_originalCount = 0),
                  (this.m_modifiedCount = 0),
                  (this.m_originalStart = Number.MAX_VALUE),
                  (this.m_modifiedStart = Number.MAX_VALUE)
              }),
              (e.prototype.AddOriginalElement = function(e, t) {
                ;(this.m_originalStart = Math.min(this.m_originalStart, e)),
                  (this.m_modifiedStart = Math.min(this.m_modifiedStart, t)),
                  this.m_originalCount++
              }),
              (e.prototype.AddModifiedElement = function(e, t) {
                ;(this.m_originalStart = Math.min(this.m_originalStart, e)),
                  (this.m_modifiedStart = Math.min(this.m_modifiedStart, t)),
                  this.m_modifiedCount++
              }),
              (e.prototype.getChanges = function() {
                return (
                  (this.m_originalCount > 0 || this.m_modifiedCount > 0) &&
                    this.MarkNextChange(),
                  this.m_changes
                )
              }),
              (e.prototype.getReverseChanges = function() {
                return (
                  (this.m_originalCount > 0 || this.m_modifiedCount > 0) &&
                    this.MarkNextChange(),
                  this.m_changes.reverse(),
                  this.m_changes
                )
              }),
              e
            )
          })(),
          a = Object.prototype.hasOwnProperty,
          u = (function() {
            function e(e, t, n) {
              void 0 === n && (n = null),
                (this.OriginalSequence = e),
                (this.ModifiedSequence = t),
                (this.ContinueProcessingPredicate = n),
                (this.m_originalIds = []),
                (this.m_modifiedIds = []),
                (this.m_forwardHistory = []),
                (this.m_reverseHistory = []),
                this.ComputeUniqueIdentifiers()
            }
            return (
              (e.prototype.ComputeUniqueIdentifiers = function() {
                var e = this.OriginalSequence.getLength(),
                  t = this.ModifiedSequence.getLength()
                ;(this.m_originalIds = new Array(e)),
                  (this.m_modifiedIds = new Array(t))
                var n,
                  i = {},
                  o = 1
                for (n = 0; n < e; n++) {
                  var r = this.OriginalSequence.getElementHash(n)
                  a.call(i, r)
                    ? (this.m_originalIds[n] = i[r])
                    : ((this.m_originalIds[n] = o++),
                      (i[r] = this.m_originalIds[n]))
                }
                for (n = 0; n < t; n++) {
                  var s = this.ModifiedSequence.getElementHash(n)
                  a.call(i, s)
                    ? (this.m_modifiedIds[n] = i[s])
                    : ((this.m_modifiedIds[n] = o++),
                      (i[s] = this.m_modifiedIds[n]))
                }
              }),
              (e.prototype.ElementsAreEqual = function(e, t) {
                return this.m_originalIds[e] === this.m_modifiedIds[t]
              }),
              (e.prototype.ComputeDiff = function() {
                return this._ComputeDiff(
                  0,
                  this.OriginalSequence.getLength() - 1,
                  0,
                  this.ModifiedSequence.getLength() - 1
                )
              }),
              (e.prototype._ComputeDiff = function(e, t, n, i) {
                var o = [!1]
                return this.ComputeDiffRecursive(e, t, n, i, o)
              }),
              (e.prototype.ComputeDiffRecursive = function(e, t, i, r, s) {
                for (
                  s[0] = !1;
                  e <= t && i <= r && this.ElementsAreEqual(e, i);

                )
                  e++, i++
                for (; t >= e && r >= i && this.ElementsAreEqual(t, r); )
                  t--, r--
                if (e > t || i > r) {
                  var a = void 0
                  return (
                    i <= r
                      ? (o.Assert(
                          e === t + 1,
                          'originalStart should only be one more than originalEnd'
                        ),
                        (a = [new n.DiffChange(e, 0, i, r - i + 1)]))
                      : e <= t
                        ? (o.Assert(
                            i === r + 1,
                            'modifiedStart should only be one more than modifiedEnd'
                          ),
                          (a = [new n.DiffChange(e, t - e + 1, i, 0)]))
                        : (o.Assert(
                            e === t + 1,
                            'originalStart should only be one more than originalEnd'
                          ),
                          o.Assert(
                            i === r + 1,
                            'modifiedStart should only be one more than modifiedEnd'
                          ),
                          (a = [])),
                    a
                  )
                }
                var u = [0],
                  l = [0],
                  c = this.ComputeRecursionPoint(e, t, i, r, u, l, s),
                  d = u[0],
                  h = l[0]
                if (null !== c) return c
                if (!s[0]) {
                  var p = this.ComputeDiffRecursive(e, d, i, h, s),
                    f = []
                  return (
                    (f = s[0]
                      ? [
                          new n.DiffChange(
                            d + 1,
                            t - (d + 1) + 1,
                            h + 1,
                            r - (h + 1) + 1
                          )
                        ]
                      : this.ComputeDiffRecursive(d + 1, t, h + 1, r, s)),
                    this.ConcatenateChanges(p, f)
                  )
                }
                return [new n.DiffChange(e, t - e + 1, i, r - i + 1)]
              }),
              (e.prototype.WALKTRACE = function(
                e,
                t,
                i,
                o,
                r,
                a,
                u,
                l,
                c,
                d,
                h,
                p,
                f,
                g,
                m,
                v,
                _,
                y
              ) {
                var b,
                  C = null,
                  w = null,
                  S = new s(),
                  E = t,
                  L = i,
                  x = f[0] - v[0] - o,
                  N = Number.MIN_VALUE,
                  M = this.m_forwardHistory.length - 1
                do {
                  ;(b = x + e) === E || (b < L && c[b - 1] < c[b + 1])
                    ? ((g = (h = c[b + 1]) - x - o),
                      h < N && S.MarkNextChange(),
                      (N = h),
                      S.AddModifiedElement(h + 1, g),
                      (x = b + 1 - e))
                    : ((g = (h = c[b - 1] + 1) - x - o),
                      h < N && S.MarkNextChange(),
                      (N = h - 1),
                      S.AddOriginalElement(h, g + 1),
                      (x = b - 1 - e)),
                    M >= 0 &&
                      ((e = (c = this.m_forwardHistory[M])[0]),
                      (E = 1),
                      (L = c.length - 1))
                } while (--M >= -1)
                if (((C = S.getReverseChanges()), y[0])) {
                  var T = f[0] + 1,
                    k = v[0] + 1
                  if (null !== C && C.length > 0) {
                    var I = C[C.length - 1]
                    ;(T = Math.max(T, I.getOriginalEnd())),
                      (k = Math.max(k, I.getModifiedEnd()))
                  }
                  w = [new n.DiffChange(T, p - T + 1, k, m - k + 1)]
                } else {
                  ;(S = new s()),
                    (E = a),
                    (L = u),
                    (x = f[0] - v[0] - l),
                    (N = Number.MAX_VALUE),
                    (M = _
                      ? this.m_reverseHistory.length - 1
                      : this.m_reverseHistory.length - 2)
                  do {
                    ;(b = x + r) === E || (b < L && d[b - 1] >= d[b + 1])
                      ? ((g = (h = d[b + 1] - 1) - x - l),
                        h > N && S.MarkNextChange(),
                        (N = h + 1),
                        S.AddOriginalElement(h + 1, g + 1),
                        (x = b + 1 - r))
                      : ((g = (h = d[b - 1]) - x - l),
                        h > N && S.MarkNextChange(),
                        (N = h),
                        S.AddModifiedElement(h + 1, g + 1),
                        (x = b - 1 - r)),
                      M >= 0 &&
                        ((r = (d = this.m_reverseHistory[M])[0]),
                        (E = 1),
                        (L = d.length - 1))
                  } while (--M >= -1)
                  w = S.getChanges()
                }
                return this.ConcatenateChanges(C, w)
              }),
              (e.prototype.ComputeRecursionPoint = function(
                e,
                t,
                i,
                o,
                s,
                a,
                u
              ) {
                var l,
                  c,
                  d,
                  h = 0,
                  p = 0,
                  f = 0,
                  g = 0
                e--,
                  i--,
                  (s[0] = 0),
                  (a[0] = 0),
                  (this.m_forwardHistory = []),
                  (this.m_reverseHistory = [])
                var m = t - e + (o - i),
                  v = m + 1,
                  _ = new Array(v),
                  y = new Array(v),
                  b = o - i,
                  C = t - e,
                  w = e - i,
                  S = t - o,
                  E = (C - b) % 2 == 0
                ;(_[b] = e), (y[C] = t), (u[0] = !1)
                var L, x
                for (d = 1; d <= m / 2 + 1; d++) {
                  var N = 0,
                    M = 0
                  for (
                    h = this.ClipDiagonalBound(b - d, d, b, v),
                      p = this.ClipDiagonalBound(b + d, d, b, v),
                      L = h;
                    L <= p;
                    L += 2
                  ) {
                    for (
                      c =
                        (l =
                          L === h || (L < p && _[L - 1] < _[L + 1])
                            ? _[L + 1]
                            : _[L - 1] + 1) -
                        (L - b) -
                        w,
                        x = l;
                      l < t && c < o && this.ElementsAreEqual(l + 1, c + 1);

                    )
                      l++, c++
                    if (
                      ((_[L] = l),
                      l + c > N + M && ((N = l), (M = c)),
                      !E && Math.abs(L - C) <= d - 1 && l >= y[L])
                    )
                      return (
                        (s[0] = l),
                        (a[0] = c),
                        x <= y[L] && d <= 1448
                          ? this.WALKTRACE(
                              b,
                              h,
                              p,
                              w,
                              C,
                              f,
                              g,
                              S,
                              _,
                              y,
                              l,
                              t,
                              s,
                              c,
                              o,
                              a,
                              E,
                              u
                            )
                          : null
                      )
                  }
                  var T = (N - e + (M - i) - d) / 2
                  if (
                    null !== this.ContinueProcessingPredicate &&
                    !this.ContinueProcessingPredicate(
                      N,
                      this.OriginalSequence,
                      T
                    )
                  )
                    return (
                      (u[0] = !0),
                      (s[0] = N),
                      (a[0] = M),
                      T > 0 && d <= 1448
                        ? this.WALKTRACE(
                            b,
                            h,
                            p,
                            w,
                            C,
                            f,
                            g,
                            S,
                            _,
                            y,
                            l,
                            t,
                            s,
                            c,
                            o,
                            a,
                            E,
                            u
                          )
                        : (e++,
                          i++,
                          [new n.DiffChange(e, t - e + 1, i, o - i + 1)])
                    )
                  for (
                    f = this.ClipDiagonalBound(C - d, d, C, v),
                      g = this.ClipDiagonalBound(C + d, d, C, v),
                      L = f;
                    L <= g;
                    L += 2
                  ) {
                    for (
                      c =
                        (l =
                          L === f || (L < g && y[L - 1] >= y[L + 1])
                            ? y[L + 1] - 1
                            : y[L - 1]) -
                        (L - C) -
                        S,
                        x = l;
                      l > e && c > i && this.ElementsAreEqual(l, c);

                    )
                      l--, c--
                    if (((y[L] = l), E && Math.abs(L - b) <= d && l <= _[L]))
                      return (
                        (s[0] = l),
                        (a[0] = c),
                        x >= _[L] && d <= 1448
                          ? this.WALKTRACE(
                              b,
                              h,
                              p,
                              w,
                              C,
                              f,
                              g,
                              S,
                              _,
                              y,
                              l,
                              t,
                              s,
                              c,
                              o,
                              a,
                              E,
                              u
                            )
                          : null
                      )
                  }
                  if (d <= 1447) {
                    var k = new Array(p - h + 2)
                    ;(k[0] = b - h + 1),
                      r.Copy(_, h, k, 1, p - h + 1),
                      this.m_forwardHistory.push(k),
                      ((k = new Array(g - f + 2))[0] = C - f + 1),
                      r.Copy(y, f, k, 1, g - f + 1),
                      this.m_reverseHistory.push(k)
                  }
                }
                return this.WALKTRACE(
                  b,
                  h,
                  p,
                  w,
                  C,
                  f,
                  g,
                  S,
                  _,
                  y,
                  l,
                  t,
                  s,
                  c,
                  o,
                  a,
                  E,
                  u
                )
              }),
              (e.prototype.ConcatenateChanges = function(e, t) {
                var n = [],
                  i = null
                return 0 === e.length || 0 === t.length
                  ? t.length > 0
                    ? t
                    : e
                  : this.ChangesOverlap(e[e.length - 1], t[0], n)
                    ? ((i = new Array(e.length + t.length - 1)),
                      r.Copy(e, 0, i, 0, e.length - 1),
                      (i[e.length - 1] = n[0]),
                      r.Copy(t, 1, i, e.length, t.length - 1),
                      i)
                    : ((i = new Array(e.length + t.length)),
                      r.Copy(e, 0, i, 0, e.length),
                      r.Copy(t, 0, i, e.length, t.length),
                      i)
              }),
              (e.prototype.ChangesOverlap = function(e, t, i) {
                if (
                  (o.Assert(
                    e.originalStart <= t.originalStart,
                    'Left change is not less than or equal to right change'
                  ),
                  o.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)
                ) {
                  var r = e.originalStart,
                    s = e.originalLength,
                    a = e.modifiedStart,
                    u = e.modifiedLength
                  return (
                    e.originalStart + e.originalLength >= t.originalStart &&
                      (s =
                        t.originalStart + t.originalLength - e.originalStart),
                    e.modifiedStart + e.modifiedLength >= t.modifiedStart &&
                      (u =
                        t.modifiedStart + t.modifiedLength - e.modifiedStart),
                    (i[0] = new n.DiffChange(r, s, a, u)),
                    !0
                  )
                }
                return (i[0] = null), !1
              }),
              (e.prototype.ClipDiagonalBound = function(e, t, n, i) {
                if (e >= 0 && e < i) return e
                var o = n,
                  r = i - n - 1,
                  s = t % 2 == 0
                return e < 0
                  ? s === (o % 2 == 0)
                    ? 0
                    : 1
                  : s === (r % 2 == 0)
                    ? i - 1
                    : i - 2
              }),
              e
            )
          })()
        t.LcsDiff = u
      })
    var f =
      (this && this.__extends) ||
      (function() {
        var 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])
          }
        return function(t, n) {
          function i() {
            this.constructor = t
          }
          e(t, n),
            (t.prototype =
              null === n
                ? Object.create(n)
                : ((i.prototype = n.prototype), new i()))
        }
      })()
    define(d[81], h([0, 1]), function(e, t) {
      'use strict'
      Object.defineProperty(t, '__esModule', { value: !0 })
      var n = (function() {
        return function(e) {
          ;(this.time = new Date().getTime()),
            (this.originalEvent = e),
            (this.source = null)
        }
      })()
      t.Event = n
      var i = (function(e) {
        function t(t, n, i, o) {
          var r = e.call(this, o) || this
          return (r.key = t), (r.oldValue = n), (r.newValue = i), r
        }
        return f(t, e), t
      })(n)
      t.PropertyChangeEvent = i
      var o = (function(e) {
        function t(t, n) {
          var i = e.call(this, n) || this
          return (i.element = t), i
        }
        return f(t, e), t
      })(n)
      ;(t.ViewerEvent = o),
        (t.EventType = {
          PROPERTY_CHANGED: 'propertyChanged',
          SELECTION: 'selection',
          FOCUS: 'focus',
          BLUR: 'blur',
          HIGHLIGHT: 'highlight',
          EXPAND: 'expand',
          COLLAPSE: 'collapse',
          TOGGLE: 'toggle',
          BEFORE_RUN: 'beforeRun',
          RUN: 'run',
          EDIT: 'edit',
          SAVE: 'save',
          CANCEL: 'cancel',
          CHANGE: 'change',
          DISPOSE: 'dispose'
        })
    }),
      define(d[129], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.not = function(e) {
            return function() {
              for (var t = [], n = 0; n < arguments.length; n++)
                t[n] = arguments[n]
              return !e.apply(void 0, t)
            }
          }),
          (t.once = function(e) {
            var t,
              n = this,
              i = !1
            return function() {
              return i ? t : ((i = !0), (t = e.apply(n, arguments)))
            }
          })
      }),
      define(d[530], h([0, 1]), function(e, t) {
        'use strict'
        function n(e, t) {
          switch ((void 0 === t && (t = 0), typeof e)) {
            case 'object':
              return null === e
                ? i(349, t)
                : Array.isArray(e)
                  ? s(e, t)
                  : a(e, t)
            case 'string':
              return r(e, t)
            case 'boolean':
              return o(e, t)
            case 'number':
              return i(e, t)
            case 'undefined':
              return i(e, 937)
            default:
              return i(e, 617)
          }
        }
        function i(e, t) {
          return ((t << 5) - t + e) | 0
        }
        function o(e, t) {
          return i(e ? 433 : 863, t)
        }
        function r(e, t) {
          t = i(149417, t)
          for (var n = 0, o = e.length; n < o; n++) t = i(e.charCodeAt(n), t)
          return t
        }
        function s(e, t) {
          return (
            (t = i(104579, t)),
            e.reduce(function(e, t) {
              return n(t, e)
            }, t)
          )
        }
        function a(e, t) {
          return (
            (t = i(181387, t)),
            Object.keys(e)
              .sort()
              .reduce(function(t, i) {
                return (t = r(i, t)), n(e[i], t)
              }, t)
          )
        }
        Object.defineProperty(t, '__esModule', { value: !0 }), (t.hash = n)
      }),
      define(d[125], h([0, 1]), function(e, t) {
        'use strict'
        function n(e, t) {
          var n = e.length
          if (n !== t.length) return !1
          for (var o = 0; o < n; o++) if (!i(e[o], t[o])) return !1
          return !0
        }
        function i(e, t) {
          return (
            (!e && !t) ||
            (!(!e || !t) &&
              ('string' == typeof e || 'string' == typeof t
                ? 'string' == typeof e && 'string' == typeof t && e === t
                : e.language === t.language && e.value === t.value))
          )
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.markedStringsEquals = function(e, t) {
            return (
              (!e && !t) ||
              (!(!e || !t) &&
                (Array.isArray(e) ? !!Array.isArray(t) && n(e, t) : i(e, t)))
            )
          }),
          (t.textToMarkedString = function(e) {
            return e.replace(/[\\`*_{}[\]()#+\-.!]/g, '\\$&')
          }),
          (t.removeMarkdownEscapes = function(e) {
            return e ? e.replace(/\\([\\`*_{}[\]()#+\-.!])/g, '$1') : e
          })
      }),
      define(d[101], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var n = (function() {
          function e(e) {
            ;(this._prefix = e), (this._lastId = 0)
          }
          return (
            (e.prototype.nextId = function() {
              return this._prefix + ++this._lastId
            }),
            e
          )
        })()
        ;(t.IdGenerator = n), (t.defaultGenerator = new n('id#'))
      }),
      define(d[107], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var n = (function() {
          function e(e, t, n) {
            void 0 === t && (t = 0),
              void 0 === n && (n = e.length),
              (this.items = e),
              (this.start = t),
              (this.end = n),
              (this.index = t - 1)
          }
          return (
            (e.prototype.first = function() {
              return (this.index = this.start), this.current()
            }),
            (e.prototype.next = function() {
              return (
                (this.index = Math.min(this.index + 1, this.end)),
                this.current()
              )
            }),
            (e.prototype.current = function() {
              return this.index === this.start - 1 || this.index === this.end
                ? null
                : this.items[this.index]
            }),
            e
          )
        })()
        t.ArrayIterator = n
        var i = (function(e) {
          function t(t, n, i) {
            return (
              void 0 === n && (n = 0),
              void 0 === i && (i = t.length),
              e.call(this, t, n, i) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.current = function() {
              return e.prototype.current.call(this)
            }),
            (t.prototype.previous = function() {
              return (
                (this.index = Math.max(this.index - 1, this.start - 1)),
                this.current()
              )
            }),
            (t.prototype.first = function() {
              return (this.index = this.start), this.current()
            }),
            (t.prototype.last = function() {
              return (this.index = this.end - 1), this.current()
            }),
            (t.prototype.parent = function() {
              return null
            }),
            t
          )
        })(n)
        t.ArrayNavigator = i
        var o = (function() {
          function e(e, t) {
            ;(this.iterator = e), (this.fn = t)
          }
          return (
            (e.prototype.next = function() {
              return this.fn(this.iterator.next())
            }),
            e
          )
        })()
        t.MappedIterator = o
        var r = (function(e) {
          function t(t, n) {
            var i = e.call(this, t, n) || this
            return (i.navigator = t), i
          }
          return (
            f(t, e),
            (t.prototype.current = function() {
              return this.fn(this.navigator.current())
            }),
            (t.prototype.previous = function() {
              return this.fn(this.navigator.previous())
            }),
            (t.prototype.parent = function() {
              return this.fn(this.navigator.parent())
            }),
            (t.prototype.first = function() {
              return this.fn(this.navigator.first())
            }),
            (t.prototype.last = function() {
              return this.fn(this.navigator.last())
            }),
            (t.prototype.next = function() {
              return this.fn(this.navigator.next())
            }),
            t
          )
        })(o)
        t.MappedNavigator = r
      }),
      define(d[523], h([0, 1, 107]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e(e, t) {
            void 0 === e && (e = []),
              void 0 === t && (t = 10),
              this._initialize(e),
              (this._limit = t),
              this._onChange()
          }
          return (
            (e.prototype.add = function(e) {
              this._history.add(e), this._onChange()
            }),
            (e.prototype.addIfNotPresent = function(e) {
              this._history.has(e) || this.add(e)
            }),
            (e.prototype.next = function() {
              return this._navigator.next()
                ? this._navigator.current()
                : (this.last(), null)
            }),
            (e.prototype.previous = function() {
              return this._navigator.previous()
                ? this._navigator.current()
                : (this.first(), null)
            }),
            (e.prototype.current = function() {
              return this._navigator.current()
            }),
            (e.prototype.parent = function() {
              return null
            }),
            (e.prototype.first = function() {
              return this._navigator.first()
            }),
            (e.prototype.last = function() {
              return this._navigator.last()
            }),
            (e.prototype._onChange = function() {
              this._reduceToLimit(),
                (this._navigator = new n.ArrayNavigator(this._elements)),
                this._navigator.last()
            }),
            (e.prototype._reduceToLimit = function() {
              var e = this._elements
              e.length > this._limit &&
                this._initialize(e.slice(e.length - this._limit))
            }),
            (e.prototype._initialize = function(e) {
              this._history = new Set()
              for (var t = 0, n = e; t < n.length; t++) {
                var i = n[t]
                this._history.add(i)
              }
            }),
            Object.defineProperty(e.prototype, '_elements', {
              get: function() {
                var e = []
                return (
                  this._history.forEach(function(t) {
                    return e.push(t)
                  }),
                  e
                )
              },
              enumerable: !0,
              configurable: !0
            }),
            e
          )
        })()
        t.HistoryNavigator = i
      }),
      define(d[520], h([0, 1]), function(e, t) {
        'use strict'
        function n(e, t) {
          function n(t, n) {
            for (var i = 0, o = 0; i < t || !n; ) {
              var r = e.charCodeAt(h)
              if (r >= 48 && r <= 57) o = 16 * o + r - 48
              else if (r >= 65 && r <= 70) o = 16 * o + r - 65 + 10
              else {
                if (!(r >= 97 && r <= 102)) break
                o = 16 * o + r - 97 + 10
              }
              h++, i++
            }
            return i < t && (o = -1), o
          }
          function s() {
            var t = h
            if (48 === e.charCodeAt(h)) h++
            else for (h++; h < e.length && r(e.charCodeAt(h)); ) h++
            if (h < e.length && 46 === e.charCodeAt(h)) {
              if (!(++h < e.length && r(e.charCodeAt(h))))
                return (v = l.UnexpectedEndOfNumber), e.substring(t, h)
              for (h++; h < e.length && r(e.charCodeAt(h)); ) h++
            }
            var n = h
            if (
              h < e.length &&
              (69 === e.charCodeAt(h) || 101 === e.charCodeAt(h))
            )
              if (
                (((++h < e.length && 43 === e.charCodeAt(h)) ||
                  45 === e.charCodeAt(h)) &&
                  h++,
                h < e.length && r(e.charCodeAt(h)))
              ) {
                for (h++; h < e.length && r(e.charCodeAt(h)); ) h++
                n = h
              } else v = l.UnexpectedEndOfNumber
            return e.substring(t, n)
          }
          function a() {
            for (var t = '', i = h; ; ) {
              if (h >= p) {
                ;(t += e.substring(i, h)), (v = l.UnexpectedEndOfString)
                break
              }
              var r = e.charCodeAt(h)
              if (34 === r) {
                ;(t += e.substring(i, h)), h++
                break
              }
              if (92 !== r) {
                if (r >= 0 && r <= 31) {
                  if (o(r)) {
                    ;(t += e.substring(i, h)), (v = l.UnexpectedEndOfString)
                    break
                  }
                  v = l.InvalidCharacter
                }
                h++
              } else {
                if (((t += e.substring(i, h)), ++h >= p)) {
                  v = l.UnexpectedEndOfString
                  break
                }
                switch ((r = e.charCodeAt(h++))) {
                  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 = n(4, !0)
                    s >= 0
                      ? (t += String.fromCharCode(s))
                      : (v = l.InvalidUnicode)
                    break
                  default:
                    v = l.InvalidEscapeCharacter
                }
                i = h
              }
            }
            return t
          }
          function u() {
            if (((f = ''), (v = l.None), (g = h), h >= p))
              return (g = p), (m = c.EOF)
            var t = e.charCodeAt(h)
            if (i(t)) {
              do {
                h++, (f += String.fromCharCode(t)), (t = e.charCodeAt(h))
              } while (i(t))
              return (m = c.Trivia)
            }
            if (o(t))
              return (
                h++,
                (f += String.fromCharCode(t)),
                13 === t && 10 === e.charCodeAt(h) && (h++, (f += '\n')),
                (m = c.LineBreakTrivia)
              )
            switch (t) {
              case 123:
                return h++, (m = c.OpenBraceToken)
              case 125:
                return h++, (m = c.CloseBraceToken)
              case 91:
                return h++, (m = c.OpenBracketToken)
              case 93:
                return h++, (m = c.CloseBracketToken)
              case 58:
                return h++, (m = c.ColonToken)
              case 44:
                return h++, (m = c.CommaToken)
              case 34:
                return h++, (f = a()), (m = c.StringLiteral)
              case 47:
                var n = h - 1
                if (47 === e.charCodeAt(h + 1)) {
                  for (h += 2; h < p && !o(e.charCodeAt(h)); ) h++
                  return (f = e.substring(n, h)), (m = c.LineCommentTrivia)
                }
                if (42 === e.charCodeAt(h + 1)) {
                  h += 2
                  for (var u = p - 1, _ = !1; h < u; ) {
                    if (42 === e.charCodeAt(h) && 47 === e.charCodeAt(h + 1)) {
                      ;(h += 2), (_ = !0)
                      break
                    }
                    h++
                  }
                  return (
                    _ || (h++, (v = l.UnexpectedEndOfComment)),
                    (f = e.substring(n, h)),
                    (m = c.BlockCommentTrivia)
                  )
                }
                return (f += String.fromCharCode(t)), h++, (m = c.Unknown)
              case 45:
                if (
                  ((f += String.fromCharCode(t)),
                  ++h === p || !r(e.charCodeAt(h)))
                )
                  return (m = c.Unknown)
              case 48:
              case 49:
              case 50:
              case 51:
              case 52:
              case 53:
              case 54:
              case 55:
              case 56:
              case 57:
                return (f += s()), (m = c.NumericLiteral)
              default:
                for (; h < p && d(t); ) h++, (t = e.charCodeAt(h))
                if (g !== h) {
                  switch ((f = e.substring(g, h))) {
                    case 'true':
                      return (m = c.TrueKeyword)
                    case 'false':
                      return (m = c.FalseKeyword)
                    case 'null':
                      return (m = c.NullKeyword)
                  }
                  return (m = c.Unknown)
                }
                return (f += String.fromCharCode(t)), h++, (m = c.Unknown)
            }
          }
          function d(e) {
            if (i(e) || o(e)) return !1
            switch (e) {
              case 125:
              case 93:
              case 123:
              case 91:
              case 34:
              case 58:
              case 44:
                return !1
            }
            return !0
          }
          void 0 === t && (t = !1)
          var h = 0,
            p = e.length,
            f = '',
            g = 0,
            m = c.Unknown,
            v = l.None
          return {
            setPosition: function(e) {
              ;(h = e), (f = ''), (g = 0), (m = c.Unknown), (v = l.None)
            },
            getPosition: function() {
              return h
            },
            scan: t
              ? function() {
                  var e
                  do {
                    e = u()
                  } while (e >= c.LineCommentTrivia && e <= c.Trivia)
                  return e
                }
              : u,
            getToken: function() {
              return m
            },
            getTokenValue: function() {
              return f
            },
            getTokenOffset: function() {
              return g
            },
            getTokenLength: function() {
              return h - g
            },
            getTokenError: function() {
              return v
            }
          }
        }
        function i(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 o(e) {
          return 10 === e || 13 === e || 8232 === e || 8233 === e
        }
        function r(e) {
          return e >= 48 && e <= 57
        }
        function s(e) {
          switch (typeof e) {
            case 'boolean':
              return 'boolean'
            case 'number':
              return 'number'
            case 'string':
              return 'string'
            default:
              return 'null'
          }
        }
        function a(e) {
          if ('array' === e.type) return e.children.map(a)
          if ('object' === e.type) {
            for (var t = {}, n = 0, i = e.children; n < i.length; n++) {
              var o = i[n]
              t[o.children[0].value] = a(o.children[1])
            }
            return t
          }
          return e.value
        }
        function u(e, t, i) {
          function o(e) {
            return e
              ? function() {
                  return e(m.getTokenOffset(), m.getTokenLength())
                }
              : function() {
                  return !0
                }
          }
          function r(e) {
            return e
              ? function(t) {
                  return e(t, m.getTokenOffset(), m.getTokenLength())
                }
              : function() {
                  return !0
                }
          }
          function s() {
            for (;;) {
              var e = m.scan()
              switch (e) {
                case c.LineCommentTrivia:
                case c.BlockCommentTrivia:
                  L && a(h.InvalidSymbol)
                  break
                case c.Unknown:
                  a(h.InvalidSymbol)
                  break
                case c.Trivia:
                case c.LineBreakTrivia:
                  break
                default:
                  return e
              }
            }
          }
          function a(e, t, n) {
            if (
              (void 0 === t && (t = []),
              void 0 === n && (n = []),
              E(e),
              t.length + n.length > 0)
            )
              for (var i = m.getToken(); i !== c.EOF; ) {
                if (-1 !== t.indexOf(i)) {
                  s()
                  break
                }
                if (-1 !== n.indexOf(i)) break
                i = s()
              }
          }
          function u(e) {
            var t = m.getTokenValue()
            return e ? w(t) : _(t), s(), !0
          }
          function l() {
            switch (m.getToken()) {
              case c.NumericLiteral:
                var e = 0
                try {
                  'number' != typeof (e = JSON.parse(m.getTokenValue())) &&
                    (a(h.InvalidNumberFormat), (e = 0))
                } catch (e) {
                  a(h.InvalidNumberFormat)
                }
                w(e)
                break
              case c.NullKeyword:
                w(null)
                break
              case c.TrueKeyword:
                w(!0)
                break
              case c.FalseKeyword:
                w(!1)
                break
              default:
                return !1
            }
            return s(), !0
          }
          function d() {
            return m.getToken() !== c.StringLiteral
              ? (a(
                  h.PropertyNameExpected,
                  [],
                  [c.CloseBraceToken, c.CommaToken]
                ),
                !1)
              : (u(!1),
                m.getToken() === c.ColonToken
                  ? (S(':'),
                    s(),
                    g() ||
                      a(h.ValueExpected, [], [c.CloseBraceToken, c.CommaToken]))
                  : a(h.ColonExpected, [], [c.CloseBraceToken, c.CommaToken]),
                !0)
          }
          function p() {
            v(), s()
            for (
              var e = !1;
              m.getToken() !== c.CloseBraceToken && m.getToken() !== c.EOF;

            ) {
              if (m.getToken() === c.CommaToken) {
                if (
                  (e || a(h.ValueExpected, [], []),
                  S(','),
                  s(),
                  m.getToken() === c.CloseBraceToken && x)
                )
                  break
              } else e && a(h.CommaExpected, [], [])
              d() || a(h.ValueExpected, [], [c.CloseBraceToken, c.CommaToken]),
                (e = !0)
            }
            return (
              y(),
              m.getToken() !== c.CloseBraceToken
                ? a(h.CloseBraceExpected, [c.CloseBraceToken], [])
                : s(),
              !0
            )
          }
          function f() {
            b(), s()
            for (
              var e = !1;
              m.getToken() !== c.CloseBracketToken && m.getToken() !== c.EOF;

            )
              m.getToken() === c.CommaToken
                ? (e || a(h.ValueExpected, [], []), S(','), s())
                : e && a(h.CommaExpected, [], []),
                g() ||
                  a(h.ValueExpected, [], [c.CloseBracketToken, c.CommaToken]),
                (e = !0)
            return (
              C(),
              m.getToken() !== c.CloseBracketToken
                ? a(h.CloseBracketExpected, [c.CloseBracketToken], [])
                : s(),
              !0
            )
          }
          function g() {
            switch (m.getToken()) {
              case c.OpenBracketToken:
                return f()
              case c.OpenBraceToken:
                return p()
              case c.StringLiteral:
                return u(!0)
              default:
                return l()
            }
          }
          var m = n(e, !1),
            v = o(t.onObjectBegin),
            _ = r(t.onObjectProperty),
            y = o(t.onObjectEnd),
            b = o(t.onArrayBegin),
            C = o(t.onArrayEnd),
            w = r(t.onLiteralValue),
            S = r(t.onSeparator),
            E = r(t.onError),
            L = i && i.disallowComments,
            x = i && i.allowTrailingComma
          return (
            s(),
            m.getToken() === c.EOF ||
              (g()
                ? (m.getToken() !== c.EOF && a(h.EndOfFileExpected, [], []), !0)
                : (a(h.ValueExpected, [], []), !1))
          )
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var l
        !(function(e) {
          ;(e[(e.None = 0)] = 'None'),
            (e[(e.UnexpectedEndOfComment = 1)] = 'UnexpectedEndOfComment'),
            (e[(e.UnexpectedEndOfString = 2)] = 'UnexpectedEndOfString'),
            (e[(e.UnexpectedEndOfNumber = 3)] = 'UnexpectedEndOfNumber'),
            (e[(e.InvalidUnicode = 4)] = 'InvalidUnicode'),
            (e[(e.InvalidEscapeCharacter = 5)] = 'InvalidEscapeCharacter'),
            (e[(e.InvalidCharacter = 6)] = 'InvalidCharacter')
        })((l = t.ScanError || (t.ScanError = {})))
        var c
        !(function(e) {
          ;(e[(e.Unknown = 0)] = 'Unknown'),
            (e[(e.OpenBraceToken = 1)] = 'OpenBraceToken'),
            (e[(e.CloseBraceToken = 2)] = 'CloseBraceToken'),
            (e[(e.OpenBracketToken = 3)] = 'OpenBracketToken'),
            (e[(e.CloseBracketToken = 4)] = 'CloseBracketToken'),
            (e[(e.CommaToken = 5)] = 'CommaToken'),
            (e[(e.ColonToken = 6)] = 'ColonToken'),
            (e[(e.NullKeyword = 7)] = 'NullKeyword'),
            (e[(e.TrueKeyword = 8)] = 'TrueKeyword'),
            (e[(e.FalseKeyword = 9)] = 'FalseKeyword'),
            (e[(e.StringLiteral = 10)] = 'StringLiteral'),
            (e[(e.NumericLiteral = 11)] = 'NumericLiteral'),
            (e[(e.LineCommentTrivia = 12)] = 'LineCommentTrivia'),
            (e[(e.BlockCommentTrivia = 13)] = 'BlockCommentTrivia'),
            (e[(e.LineBreakTrivia = 14)] = 'LineBreakTrivia'),
            (e[(e.Trivia = 15)] = 'Trivia'),
            (e[(e.EOF = 16)] = 'EOF')
        })((c = t.SyntaxKind || (t.SyntaxKind = {}))),
          (t.createScanner = n)
        var d
        !(function(e) {
          ;(e[(e.nullCharacter = 0)] = 'nullCharacter'),
            (e[(e.maxAsciiCharacter = 127)] = 'maxAsciiCharacter'),
            (e[(e.lineFeed = 10)] = 'lineFeed'),
            (e[(e.carriageReturn = 13)] = 'carriageReturn'),
            (e[(e.lineSeparator = 8232)] = 'lineSeparator'),
            (e[(e.paragraphSeparator = 8233)] = 'paragraphSeparator'),
            (e[(e.nextLine = 133)] = 'nextLine'),
            (e[(e.space = 32)] = 'space'),
            (e[(e.nonBreakingSpace = 160)] = 'nonBreakingSpace'),
            (e[(e.enQuad = 8192)] = 'enQuad'),
            (e[(e.emQuad = 8193)] = 'emQuad'),
            (e[(e.enSpace = 8194)] = 'enSpace'),
            (e[(e.emSpace = 8195)] = 'emSpace'),
            (e[(e.threePerEmSpace = 8196)] = 'threePerEmSpace'),
            (e[(e.fourPerEmSpace = 8197)] = 'fourPerEmSpace'),
            (e[(e.sixPerEmSpace = 8198)] = 'sixPerEmSpace'),
            (e[(e.figureSpace = 8199)] = 'figureSpace'),
            (e[(e.punctuationSpace = 8200)] = 'punctuationSpace'),
            (e[(e.thinSpace = 8201)] = 'thinSpace'),
            (e[(e.hairSpace = 8202)] = 'hairSpace'),
            (e[(e.zeroWidthSpace = 8203)] = 'zeroWidthSpace'),
            (e[(e.narrowNoBreakSpace = 8239)] = 'narrowNoBreakSpace'),
            (e[(e.ideographicSpace = 12288)] = 'ideographicSpace'),
            (e[(e.mathematicalSpace = 8287)] = 'mathematicalSpace'),
            (e[(e.ogham = 5760)] = 'ogham'),
            (e[(e._ = 95)] = '_'),
            (e[(e.$ = 36)] = '$'),
            (e[(e._0 = 48)] = '_0'),
            (e[(e._1 = 49)] = '_1'),
            (e[(e._2 = 50)] = '_2'),
            (e[(e._3 = 51)] = '_3'),
            (e[(e._4 = 52)] = '_4'),
            (e[(e._5 = 53)] = '_5'),
            (e[(e._6 = 54)] = '_6'),
            (e[(e._7 = 55)] = '_7'),
            (e[(e._8 = 56)] = '_8'),
            (e[(e._9 = 57)] = '_9'),
            (e[(e.a = 97)] = 'a'),
            (e[(e.b = 98)] = 'b'),
            (e[(e.c = 99)] = 'c'),
            (e[(e.d = 100)] = 'd'),
            (e[(e.e = 101)] = 'e'),
            (e[(e.f = 102)] = 'f'),
            (e[(e.g = 103)] = 'g'),
            (e[(e.h = 104)] = 'h'),
            (e[(e.i = 105)] = 'i'),
            (e[(e.j = 106)] = 'j'),
            (e[(e.k = 107)] = 'k'),
            (e[(e.l = 108)] = 'l'),
            (e[(e.m = 109)] = 'm'),
            (e[(e.n = 110)] = 'n'),
            (e[(e.o = 111)] = 'o'),
            (e[(e.p = 112)] = 'p'),
            (e[(e.q = 113)] = 'q'),
            (e[(e.r = 114)] = 'r'),
            (e[(e.s = 115)] = 's'),
            (e[(e.t = 116)] = 't'),
            (e[(e.u = 117)] = 'u'),
            (e[(e.v = 118)] = 'v'),
            (e[(e.w = 119)] = 'w'),
            (e[(e.x = 120)] = 'x'),
            (e[(e.y = 121)] = 'y'),
            (e[(e.z = 122)] = 'z'),
            (e[(e.A = 65)] = 'A'),
            (e[(e.B = 66)] = 'B'),
            (e[(e.C = 67)] = 'C'),
            (e[(e.D = 68)] = 'D'),
            (e[(e.E = 69)] = 'E'),
            (e[(e.F = 70)] = 'F'),
            (e[(e.G = 71)] = 'G'),
            (e[(e.H = 72)] = 'H'),
            (e[(e.I = 73)] = 'I'),
            (e[(e.J = 74)] = 'J'),
            (e[(e.K = 75)] = 'K'),
            (e[(e.L = 76)] = 'L'),
            (e[(e.M = 77)] = 'M'),
            (e[(e.N = 78)] = 'N'),
            (e[(e.O = 79)] = 'O'),
            (e[(e.P = 80)] = 'P'),
            (e[(e.Q = 81)] = 'Q'),
            (e[(e.R = 82)] = 'R'),
            (e[(e.S = 83)] = 'S'),
            (e[(e.T = 84)] = 'T'),
            (e[(e.U = 85)] = 'U'),
            (e[(e.V = 86)] = 'V'),
            (e[(e.W = 87)] = 'W'),
            (e[(e.X = 88)] = 'X'),
            (e[(e.Y = 89)] = 'Y'),
            (e[(e.Z = 90)] = 'Z'),
            (e[(e.ampersand = 38)] = 'ampersand'),
            (e[(e.asterisk = 42)] = 'asterisk'),
            (e[(e.at = 64)] = 'at'),
            (e[(e.backslash = 92)] = 'backslash'),
            (e[(e.bar = 124)] = 'bar'),
            (e[(e.caret = 94)] = 'caret'),
            (e[(e.closeBrace = 125)] = 'closeBrace'),
            (e[(e.closeBracket = 93)] = 'closeBracket'),
            (e[(e.closeParen = 41)] = 'closeParen'),
            (e[(e.colon = 58)] = 'colon'),
            (e[(e.comma = 44)] = 'comma'),
            (e[(e.dot = 46)] = 'dot'),
            (e[(e.doubleQuote = 34)] = 'doubleQuote'),
            (e[(e.equals = 61)] = 'equals'),
            (e[(e.exclamation = 33)] = 'exclamation'),
            (e[(e.greaterThan = 62)] = 'greaterThan'),
            (e[(e.lessThan = 60)] = 'lessThan'),
            (e[(e.minus = 45)] = 'minus'),
            (e[(e.openBrace = 123)] = 'openBrace'),
            (e[(e.openBracket = 91)] = 'openBracket'),
            (e[(e.openParen = 40)] = 'openParen'),
            (e[(e.percent = 37)] = 'percent'),
            (e[(e.plus = 43)] = 'plus'),
            (e[(e.question = 63)] = 'question'),
            (e[(e.semicolon = 59)] = 'semicolon'),
            (e[(e.singleQuote = 39)] = 'singleQuote'),
            (e[(e.slash = 47)] = 'slash'),
            (e[(e.tilde = 126)] = 'tilde'),
            (e[(e.backspace = 8)] = 'backspace'),
            (e[(e.formFeed = 12)] = 'formFeed'),
            (e[(e.byteOrderMark = 65279)] = 'byteOrderMark'),
            (e[(e.tab = 9)] = 'tab'),
            (e[(e.verticalTab = 11)] = 'verticalTab')
        })(d || (d = {})),
          (t.stripComments = function(e, t) {
            var i,
              o,
              r = n(e),
              s = [],
              a = 0
            do {
              switch (((o = r.getPosition()), (i = r.scan()))) {
                case c.LineCommentTrivia:
                case c.BlockCommentTrivia:
                case c.EOF:
                  a !== o && s.push(e.substring(a, o)),
                    void 0 !== t &&
                      s.push(r.getTokenValue().replace(/[^\r\n]/g, t)),
                    (a = r.getPosition())
              }
            } while (i !== c.EOF)
            return s.join('')
          })
        var h
        !(function(e) {
          ;(e[(e.InvalidSymbol = 0)] = 'InvalidSymbol'),
            (e[(e.InvalidNumberFormat = 1)] = 'InvalidNumberFormat'),
            (e[(e.PropertyNameExpected = 2)] = 'PropertyNameExpected'),
            (e[(e.ValueExpected = 3)] = 'ValueExpected'),
            (e[(e.ColonExpected = 4)] = 'ColonExpected'),
            (e[(e.CommaExpected = 5)] = 'CommaExpected'),
            (e[(e.CloseBraceExpected = 6)] = 'CloseBraceExpected'),
            (e[(e.CloseBracketExpected = 7)] = 'CloseBracketExpected'),
            (e[(e.EndOfFileExpected = 8)] = 'EndOfFileExpected')
        })((h = t.ParseErrorCode || (t.ParseErrorCode = {}))),
          (t.getLocation = function(e, t) {
            function n(e, t, n, i) {
              ;(a.value = e),
                (a.offset = t),
                (a.length = n),
                (a.type = i),
                (a.columnOffset = void 0),
                (r = a)
            }
            var i = [],
              o = new Object(),
              r = void 0,
              a = {
                value: void 0,
                offset: void 0,
                length: void 0,
                type: void 0
              },
              l = !1
            try {
              u(e, {
                onObjectBegin: function(e, n) {
                  if (t <= e) throw o
                  ;(r = void 0), (l = t > e), i.push('')
                },
                onObjectProperty: function(e, r, s) {
                  if (t < r) throw o
                  if (
                    (n(e, r, s, 'property'), (i[i.length - 1] = e), t <= r + s)
                  )
                    throw o
                },
                onObjectEnd: function(e, n) {
                  if (t <= e) throw o
                  ;(r = void 0), i.pop()
                },
                onArrayBegin: function(e, n) {
                  if (t <= e) throw o
                  ;(r = void 0), i.push(0)
                },
                onArrayEnd: function(e, n) {
                  if (t <= e) throw o
                  ;(r = void 0), i.pop()
                },
                onLiteralValue: function(e, i, r) {
                  if (t < i) throw o
                  if ((n(e, i, r, s(e)), t <= i + r)) throw o
                },
                onSeparator: function(e, n, s) {
                  if (t <= n) throw o
                  if (':' === e && 'property' === r.type)
                    (r.columnOffset = n), (l = !1), (r = void 0)
                  else if (',' === e) {
                    var a = i[i.length - 1]
                    'number' == typeof a
                      ? (i[i.length - 1] = a + 1)
                      : ((l = !0), (i[i.length - 1] = '')),
                      (r = void 0)
                  }
                }
              })
            } catch (e) {
              if (e !== o) throw e
            }
            return {
              path: i,
              previousNode: r,
              isAtPropertyKey: l,
              matches: function(e) {
                for (var t = 0, n = 0; t < e.length && n < i.length; n++)
                  if (e[t] === i[n] || '*' === e[t]) t++
                  else if ('**' !== e[t]) return !1
                return t === e.length
              }
            }
          }),
          (t.parse = function(e, t, n) {
            function i(e) {
              Array.isArray(r) ? r.push(e) : o && (r[o] = e)
            }
            void 0 === t && (t = [])
            var o = null,
              r = [],
              s = []
            return (
              u(
                e,
                {
                  onObjectBegin: function() {
                    var e = {}
                    i(e), s.push(r), (r = e), (o = null)
                  },
                  onObjectProperty: function(e) {
                    o = e
                  },
                  onObjectEnd: function() {
                    r = s.pop()
                  },
                  onArrayBegin: function() {
                    var e = []
                    i(e), s.push(r), (r = e), (o = null)
                  },
                  onArrayEnd: function() {
                    r = s.pop()
                  },
                  onLiteralValue: i,
                  onError: function(e) {
                    t.push({ error: e })
                  }
                },
                n
              ),
              r[0]
            )
          }),
          (t.parseTree = function(e, t, n) {
            function i(e) {
              'property' === r.type &&
                ((r.length = e - r.offset), (r = r.parent))
            }
            function o(e) {
              return r.children.push(e), e
            }
            void 0 === t && (t = [])
            var r = { type: 'array', offset: -1, length: -1, children: [] }
            u(
              e,
              {
                onObjectBegin: function(e) {
                  r = o({
                    type: 'object',
                    offset: e,
                    length: -1,
                    parent: r,
                    children: []
                  })
                },
                onObjectProperty: function(e, t, n) {
                  ;(r = o({
                    type: 'property',
                    offset: t,
                    length: -1,
                    parent: r,
                    children: []
                  })).children.push({
                    type: 'string',
                    value: e,
                    offset: t,
                    length: n,
                    parent: r
                  })
                },
                onObjectEnd: function(e, t) {
                  ;(r.length = e + t - r.offset), (r = r.parent), i(e + t)
                },
                onArrayBegin: function(e, t) {
                  r = o({
                    type: 'array',
                    offset: e,
                    length: -1,
                    parent: r,
                    children: []
                  })
                },
                onArrayEnd: function(e, t) {
                  ;(r.length = e + t - r.offset), (r = r.parent), i(e + t)
                },
                onLiteralValue: function(e, t, n) {
                  o({ type: s(e), offset: t, length: n, parent: r, value: e }),
                    i(t + n)
                },
                onSeparator: function(e, t, n) {
                  'property' === r.type &&
                    (':' === e ? (r.columnOffset = t) : ',' === e && i(t))
                },
                onError: function(e) {
                  t.push({ error: e })
                }
              },
              n
            )
            var a = r.children[0]
            return a && delete a.parent, a
          }),
          (t.findNodeAtLocation = function(e, t) {
            if (e) {
              for (var n = e, i = 0, o = t; i < o.length; i++) {
                var r = o[i]
                if ('string' == typeof r) {
                  if ('object' !== n.type) return
                  for (var s = !1, a = 0, u = n.children; a < u.length; a++) {
                    var l = u[a]
                    if (l.children[0].value === r) {
                      ;(n = l.children[1]), (s = !0)
                      break
                    }
                  }
                  if (!s) return
                } else {
                  var c = r
                  if ('array' !== n.type || c < 0 || c >= n.children.length)
                    return
                  n = n.children[c]
                }
              }
              return n
            }
          }),
          (t.getNodeValue = a),
          (t.visit = u)
      }),
      define(d[39], h([0, 1]), function(e, t) {
        'use strict'
        function n(e, t) {
          var n = !!(2048 & e),
            i = !!(256 & e)
          return new u(
            2 === t ? i : n,
            !!(1024 & e),
            !!(512 & e),
            2 === t ? n : i,
            255 & e
          )
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        !(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')
        })(t.KeyCode || (t.KeyCode = {}))
        var i = (function() {
            function e() {
              ;(this._keyCodeToStr = []),
                (this._strToKeyCode = Object.create(null))
            }
            return (
              (e.prototype.define = function(e, t) {
                ;(this._keyCodeToStr[e] = t),
                  (this._strToKeyCode[t.toLowerCase()] = e)
              }),
              (e.prototype.keyCodeToStr = function(e) {
                return this._keyCodeToStr[e]
              }),
              (e.prototype.strToKeyCode = function(e) {
                return this._strToKeyCode[e.toLowerCase()] || 0
              }),
              e
            )
          })(),
          o = new i(),
          r = new i(),
          s = new i()
        !(function() {
          function e(e, t, n, i) {
            void 0 === n && (n = t),
              void 0 === i && (i = n),
              o.define(e, t),
              r.define(e, n),
              s.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 o.keyCodeToStr(e)
          }),
            (e.fromString = function(e) {
              return o.strToKeyCode(e)
            }),
            (e.toUserSettingsUS = function(e) {
              return r.keyCodeToStr(e)
            }),
            (e.toUserSettingsGeneral = function(e) {
              return s.keyCodeToStr(e)
            }),
            (e.fromUserSettings = function(e) {
              return r.strToKeyCode(e) || s.strToKeyCode(e)
            })
        })(t.KeyCodeUtils || (t.KeyCodeUtils = {}))
        var a
        !(function(e) {
          ;(e[(e.CtrlCmd = 2048)] = 'CtrlCmd'),
            (e[(e.Shift = 1024)] = 'Shift'),
            (e[(e.Alt = 512)] = 'Alt'),
            (e[(e.WinCtrl = 256)] = 'WinCtrl'),
            (e[(e.KeyCode = 255)] = 'KeyCode')
        })(a || (a = {}))
        !(function(e) {
          ;(e[(e.CtrlCmd = 2048)] = 'CtrlCmd'),
            (e[(e.Shift = 1024)] = 'Shift'),
            (e[(e.Alt = 512)] = 'Alt'),
            (e[(e.WinCtrl = 256)] = 'WinCtrl')
        })(t.KeyMod || (t.KeyMod = {})),
          (t.KeyChord = function(e, t) {
            return (e | (((65535 & t) << 16) >>> 0)) >>> 0
          }),
          (t.createKeybinding = function(e, t) {
            if (0 === e) return null
            var i = (65535 & e) >>> 0,
              o = (4294901760 & e) >>> 16
            return 0 !== o ? new l(n(i, t), n(o, t)) : n(i, t)
          }),
          (t.createSimpleKeybinding = n)
        !(function(e) {
          ;(e[(e.Simple = 1)] = 'Simple'), (e[(e.Chord = 2)] = 'Chord')
        })(t.KeybindingType || (t.KeybindingType = {}))
        var u = (function() {
          function e(e, t, n, i, o) {
            ;(this.type = 1),
              (this.ctrlKey = e),
              (this.shiftKey = t),
              (this.altKey = n),
              (this.metaKey = i),
              (this.keyCode = o)
          }
          return (
            (e.prototype.equals = function(e) {
              return (
                1 === e.type &&
                (this.ctrlKey === e.ctrlKey &&
                  this.shiftKey === e.shiftKey &&
                  this.altKey === e.altKey &&
                  this.metaKey === e.metaKey &&
                  this.keyCode === e.keyCode)
              )
            }),
            (e.prototype.isModifierKey = function() {
              return (
                0 === this.keyCode ||
                5 === this.keyCode ||
                57 === this.keyCode ||
                6 === this.keyCode ||
                4 === this.keyCode
              )
            }),
            (e.prototype.isDuplicateModifierCase = function() {
              return (
                (this.ctrlKey && 5 === this.keyCode) ||
                (this.shiftKey && 4 === this.keyCode) ||
                (this.altKey && 6 === this.keyCode) ||
                (this.metaKey && 57 === this.keyCode)
              )
            }),
            e
          )
        })()
        t.SimpleKeybinding = u
        var l = (function() {
          return function(e, t) {
            ;(this.type = 2), (this.firstPart = e), (this.chordPart = t)
          }
        })()
        t.ChordKeybinding = l
        var c = (function() {
          return function(e, t, n, i, o, r) {
            ;(this.ctrlKey = e),
              (this.shiftKey = t),
              (this.altKey = n),
              (this.metaKey = i),
              (this.keyLabel = o),
              (this.keyAriaLabel = r)
          }
        })()
        t.ResolvedKeybindingPart = c
        var d = (function() {
          return function() {}
        })()
        t.ResolvedKeybinding = d
      }),
      define(d[3], h([0, 1, 129]), function(e, t, n) {
        'use strict'
        function i(e) {
          for (var t = [], n = 1; n < arguments.length; n++)
            t[n - 1] = arguments[n]
          return Array.isArray(e)
            ? (e.forEach(function(e) {
                return e && e.dispose()
              }),
              [])
            : 0 !== t.length
              ? (i(e), i(t), [])
              : e
                ? (e.dispose(), e)
                : void 0
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.empty = Object.freeze({ dispose: function() {} })),
          (t.dispose = i),
          (t.combinedDisposable = function(e) {
            return {
              dispose: function() {
                return i(e)
              }
            }
          }),
          (t.toDisposable = function() {
            for (var e = [], t = 0; t < arguments.length; t++)
              e[t] = arguments[t]
            return {
              dispose: function() {
                for (var t = 0, n = e; t < n.length; t++) (0, n[t])()
              }
            }
          })
        var o = (function() {
          function e() {
            this._toDispose = []
          }
          return (
            (e.prototype.dispose = function() {
              this._toDispose = i(this._toDispose)
            }),
            (e.prototype._register = function(e) {
              return this._toDispose.push(e), e
            }),
            e
          )
        })()
        t.Disposable = o
        var r = (function() {
          function e() {}
          return (
            Object.defineProperty(e.prototype, 'value', {
              set: function(e) {
                this._value && this._value.dispose(), (this._value = e)
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.dispose = function() {
              this.value = null
            }),
            e
          )
        })()
        t.OneDisposable = r
        var s = (function() {
          function e() {
            this.references = Object.create(null)
          }
          return (
            (e.prototype.acquire = function(e) {
              var t = this,
                i = this.references[e]
              i ||
                (i = this.references[e] = {
                  counter: 0,
                  object: this.createReferencedObject(e)
                })
              var o = i.object,
                r = n.once(function() {
                  0 == --i.counter &&
                    (t.destroyReferencedObject(i.object),
                    delete t.references[e])
                })
              return i.counter++, { object: o, dispose: r }
            }),
            e
          )
        })()
        t.ReferenceCollection = s
        var a = (function() {
          function e(e) {
            this.object = e
          }
          return (e.prototype.dispose = function() {}), e
        })()
        t.ImmortalReference = a
      })
    /**
     * marked - a markdown parser
     * Copyright (c) 2011-2014, Christopher Jeffrey. (MIT Licensed)
     * https://github.com/chjj/marked
     */
    var g = {
      newline: /^\n+/,
      code: /^( {4}[^\n]+\n*)+/,
      fences: a,
      hr: /^( *[-*_]){3,} *(?:\n+|$)/,
      heading: /^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,
      nptable: a,
      lheading: /^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,
      blockquote: /^( *>[^\n]+(\n(?!def)[^\n]+)*\n*)+/,
      list: /^( *)(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,
      html: /^ *(?:comment *(?:\n|\s*$)|closed *(?:\n{2,}|\s*$)|closing *(?:\n{2,}|\s*$))/,
      def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,
      table: a,
      paragraph: /^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/,
      text: /^[^\n]+/
    }
    ;(g.bullet = /(?:[*+-]|\d+\.)/),
      (g.item = /^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/),
      (g.item = s(g.item, 'gm')(/bull/g, g.bullet)()),
      (g.list = s(g.list)(/bull/g, g.bullet)(
        'hr',
        '\\n+(?=\\1?(?:[-*_] *){3,}(?:\\n+|$))'
      )('def', '\\n+(?=' + g.def.source + ')')()),
      (g.blockquote = s(g.blockquote)('def', g.def)()),
      (g._tag =
        '(?!(?: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'),
      (g.html = s(g.html)('comment', /<!--[\s\S]*?-->/)(
        'closed',
        /<(tag)[\s\S]+?<\/\1>/
      )('closing', /<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)(/tag/g, g._tag)()),
      (g.paragraph = s(g.paragraph)('hr', g.hr)('heading', g.heading)(
        'lheading',
        g.lheading
      )('blockquote', g.blockquote)('tag', '<' + g._tag)('def', g.def)()),
      (g.normal = u({}, g)),
      (g.gfm = u({}, g.normal, {
        fences: /^ *(`{3,}|~{3,})[ \.]*(\S+)? *\n([\s\S]*?)\s*\1 *(?:\n+|$)/,
        paragraph: /^/,
        heading: /^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/
      })),
      (g.gfm.paragraph = s(g.paragraph)(
        '(?!',
        '(?!' +
          g.gfm.fences.source.replace('\\1', '\\2') +
          '|' +
          g.list.source.replace('\\1', '\\3') +
          '|'
      )()),
      (g.tables = u({}, g.gfm, {
        nptable: /^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,
        table: /^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/
      })),
      (e.rules = g),
      (e.lex = function(t, n) {
        return new e(n).lex(t)
      }),
      (e.prototype.lex = function(e) {
        return (
          (e = e
            .replace(/\r\n|\r/g, '\n')
            .replace(/\t/g, '    ')
            .replace(/\u00a0/g, ' ')
            .replace(/\u2424/g, '\n')),
          this.token(e, !0)
        )
      }),
      (e.prototype.token = function(e, t, n) {
        for (var i, o, r, s, a, u, l, c, d, e = e.replace(/^ +$/gm, ''); e; )
          if (
            ((r = this.rules.newline.exec(e)) &&
              ((e = e.substring(r[0].length)),
              r[0].length > 1 && this.tokens.push({ type: 'space' })),
            (r = this.rules.code.exec(e)))
          )
            (e = e.substring(r[0].length)),
              (r = r[0].replace(/^ {4}/gm, '')),
              this.tokens.push({
                type: 'code',
                text: this.options.pedantic ? r : r.replace(/\n+$/, '')
              })
          else if ((r = this.rules.fences.exec(e)))
            (e = e.substring(r[0].length)),
              this.tokens.push({ type: 'code', lang: r[2], text: r[3] || '' })
          else if ((r = this.rules.heading.exec(e)))
            (e = e.substring(r[0].length)),
              this.tokens.push({
                type: 'heading',
                depth: r[1].length,
                text: r[2]
              })
          else if (t && (r = this.rules.nptable.exec(e))) {
            for (
              e = e.substring(r[0].length),
                u = {
                  type: 'table',
                  header: r[1].replace(/^ *| *\| *$/g, '').split(/ *\| */),
                  align: r[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
                  cells: r[3].replace(/\n$/, '').split('\n')
                },
                c = 0;
              c < u.align.length;
              c++
            )
              /^ *-+: *$/.test(u.align[c])
                ? (u.align[c] = 'right')
                : /^ *:-+: *$/.test(u.align[c])
                  ? (u.align[c] = 'center')
                  : /^ *:-+ *$/.test(u.align[c])
                    ? (u.align[c] = 'left')
                    : (u.align[c] = null)
            for (c = 0; c < u.cells.length; c++)
              u.cells[c] = u.cells[c].split(/ *\| */)
            this.tokens.push(u)
          } else if ((r = this.rules.lheading.exec(e)))
            (e = e.substring(r[0].length)),
              this.tokens.push({
                type: 'heading',
                depth: '=' === r[2] ? 1 : 2,
                text: r[1]
              })
          else if ((r = this.rules.hr.exec(e)))
            (e = e.substring(r[0].length)), this.tokens.push({ type: 'hr' })
          else if ((r = this.rules.blockquote.exec(e)))
            (e = e.substring(r[0].length)),
              this.tokens.push({ type: 'blockquote_start' }),
              (r = r[0].replace(/^ *> ?/gm, '')),
              this.token(r, t, !0),
              this.tokens.push({ type: 'blockquote_end' })
          else if ((r = this.rules.list.exec(e))) {
            for (
              e = e.substring(r[0].length),
                s = r[2],
                this.tokens.push({ type: 'list_start', ordered: s.length > 1 }),
                i = !1,
                d = (r = r[0].match(this.rules.item)).length,
                c = 0;
              c < d;
              c++
            )
              (l = (u = r[c]).length),
                ~(u = u.replace(/^ *([*+-]|\d+\.) +/, '')).indexOf('\n ') &&
                  ((l -= u.length),
                  (u = this.options.pedantic
                    ? u.replace(/^ {1,4}/gm, '')
                    : u.replace(new RegExp('^ {1,' + l + '}', 'gm'), ''))),
                this.options.smartLists &&
                  c !== d - 1 &&
                  (s === (a = g.bullet.exec(r[c + 1])[0]) ||
                    (s.length > 1 && a.length > 1) ||
                    ((e = r.slice(c + 1).join('\n') + e), (c = d - 1))),
                (o = i || /\n\n(?!\s*$)/.test(u)),
                c !== d - 1 &&
                  ((i = '\n' === u.charAt(u.length - 1)), o || (o = i)),
                this.tokens.push({
                  type: o ? 'loose_item_start' : 'list_item_start'
                }),
                this.token(u, !1, n),
                this.tokens.push({ type: 'list_item_end' })
            this.tokens.push({ type: 'list_end' })
          } else if ((r = this.rules.html.exec(e)))
            (e = e.substring(r[0].length)),
              this.tokens.push({
                type: this.options.sanitize ? 'paragraph' : 'html',
                pre:
                  !this.options.sanitizer &&
                  ('pre' === r[1] || 'script' === r[1] || 'style' === r[1]),
                text: r[0]
              })
          else if (!n && t && (r = this.rules.def.exec(e)))
            (e = e.substring(r[0].length)),
              (this.tokens.links[r[1].toLowerCase()] = {
                href: r[2],
                title: r[3]
              })
          else if (t && (r = this.rules.table.exec(e))) {
            for (
              e = e.substring(r[0].length),
                u = {
                  type: 'table',
                  header: r[1].replace(/^ *| *\| *$/g, '').split(/ *\| */),
                  align: r[2].replace(/^ *|\| *$/g, '').split(/ *\| */),
                  cells: r[3].replace(/(?: *\| *)?\n$/, '').split('\n')
                },
                c = 0;
              c < u.align.length;
              c++
            )
              /^ *-+: *$/.test(u.align[c])
                ? (u.align[c] = 'right')
                : /^ *:-+: *$/.test(u.align[c])
                  ? (u.align[c] = 'center')
                  : /^ *:-+ *$/.test(u.align[c])
                    ? (u.align[c] = 'left')
                    : (u.align[c] = null)
            for (c = 0; c < u.cells.length; c++)
              u.cells[c] = u.cells[c]
                .replace(/^ *\| *| *\| *$/g, '')
                .split(/ *\| */)
            this.tokens.push(u)
          } else if (t && (r = this.rules.paragraph.exec(e)))
            (e = e.substring(r[0].length)),
              this.tokens.push({
                type: 'paragraph',
                text:
                  '\n' === r[1].charAt(r[1].length - 1)
                    ? r[1].slice(0, -1)
                    : r[1]
              })
          else if ((r = this.rules.text.exec(e)))
            (e = e.substring(r[0].length)),
              this.tokens.push({ type: 'text', text: r[0] })
          else if (e)
            throw new Error('Infinite loop on byte: ' + e.charCodeAt(0))
        return this.tokens
      })
    var m = {
      escape: /^\\([\\`*{}\[\]()#+\-.!_>])/,
      autolink: /^<([^ >]+(@|:\/)[^ >]+)>/,
      url: a,
      tag: /^<!--[\s\S]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,
      link: /^!?\[(inside)\]\(href\)/,
      reflink: /^!?\[(inside)\]\s*\[([^\]]*)\]/,
      nolink: /^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,
      strong: /^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,
      em: /^\b_((?:[^_]|__)+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/,
      code: /^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,
      br: /^ {2,}\n(?!\s*$)/,
      del: a,
      text: /^[\s\S]+?(?=[\\<!\[_*`]| {2,}\n|$)/
    }
    ;(m._inside = /(?:\[[^\]]*\]|[^\[\]]|\](?=[^\[]*\]))*/),
      (m._href = /\s*<?([\s\S]*?)>?(?:\s+['"]([\s\S]*?)['"])?\s*/),
      (m.link = s(m.link)('inside', m._inside)('href', m._href)()),
      (m.reflink = s(m.reflink)('inside', m._inside)()),
      (m.normal = u({}, m)),
      (m.pedantic = u({}, m.normal, {
        strong: /^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,
        em: /^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/
      })),
      (m.gfm = u({}, m.normal, {
        escape: s(m.escape)('])', '~|])')(),
        url: /^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,
        del: /^~~(?=\S)([\s\S]*?\S)~~/,
        text: s(m.text)(']|', '~]|')('|', '|https?://|')()
      })),
      (m.breaks = u({}, m.gfm, {
        br: s(m.br)('{2,}', '*')(),
        text: s(m.gfm.text)('{2,}', '*')()
      })),
      (t.rules = m),
      (t.output = function(e, n, i) {
        return new t(n, i).output(e)
      }),
      (t.prototype.output = function(e) {
        for (var t, n, i, r, s = ''; e; )
          if ((r = this.rules.escape.exec(e)))
            (e = e.substring(r[0].length)), (s += r[1])
          else if ((r = this.rules.autolink.exec(e)))
            (e = e.substring(r[0].length)),
              '@' === r[2]
                ? ((n =
                    ':' === r[1].charAt(6)
                      ? this.mangle(r[1].substring(7))
                      : this.mangle(r[1])),
                  (i = this.mangle('mailto:') + n))
                : (i = n = o(r[1])),
              (s += this.renderer.link(i, null, n))
          else if (this.inLink || !(r = this.rules.url.exec(e))) {
            if ((r = this.rules.tag.exec(e)))
              !this.inLink && /^<a /i.test(r[0])
                ? (this.inLink = !0)
                : this.inLink && /^<\/a>/i.test(r[0]) && (this.inLink = !1),
                (e = e.substring(r[0].length)),
                (s += this.options.sanitize
                  ? this.options.sanitizer
                    ? this.options.sanitizer(r[0])
                    : o(r[0])
                  : r[0])
            else if ((r = this.rules.link.exec(e)))
              (e = e.substring(r[0].length)),
                (this.inLink = !0),
                (s += this.outputLink(r, { href: r[2], title: r[3] })),
                (this.inLink = !1)
            else if (
              (r = this.rules.reflink.exec(e)) ||
              (r = this.rules.nolink.exec(e))
            ) {
              if (
                ((e = e.substring(r[0].length)),
                (t = (r[2] || r[1]).replace(/\s+/g, ' ')),
                !(t = this.links[t.toLowerCase()]) || !t.href)
              ) {
                ;(s += r[0].charAt(0)), (e = r[0].substring(1) + e)
                continue
              }
              ;(this.inLink = !0),
                (s += this.outputLink(r, t)),
                (this.inLink = !1)
            } else if ((r = this.rules.strong.exec(e)))
              (e = e.substring(r[0].length)),
                (s += this.renderer.strong(this.output(r[2] || r[1])))
            else if ((r = this.rules.em.exec(e)))
              (e = e.substring(r[0].length)),
                (s += this.renderer.em(this.output(r[2] || r[1])))
            else if ((r = this.rules.code.exec(e)))
              (e = e.substring(r[0].length)),
                (s += this.renderer.codespan(o(r[2], !0)))
            else if ((r = this.rules.br.exec(e)))
              (e = e.substring(r[0].length)), (s += this.renderer.br())
            else if ((r = this.rules.del.exec(e)))
              (e = e.substring(r[0].length)),
                (s += this.renderer.del(this.output(r[1])))
            else if ((r = this.rules.text.exec(e)))
              (e = e.substring(r[0].length)),
                (s += this.renderer.text(o(this.smartypants(r[0]))))
            else if (e)
              throw new Error('Infinite loop on byte: ' + e.charCodeAt(0))
          } else
            (e = e.substring(r[0].length)),
              (i = n = o(r[1])),
              (s += this.renderer.link(i, null, n))
        return s
      }),
      (t.prototype.outputLink = function(e, t) {
        var n = o(t.href),
          i = t.title ? o(t.title) : null
        return '!' !== e[0].charAt(0)
          ? this.renderer.link(n, i, this.output(e[1]))
          : this.renderer.image(n, i, o(e[1]))
      }),
      (t.prototype.smartypants = function(e) {
        return this.options.smartypants
          ? e
              .replace(/---/g, '—')
              .replace(/--/g, '–')
              .replace(/(^|[-\u2014/(\[{"\s])'/g, '$1‘')
              .replace(/'/g, '’')
              .replace(/(^|[-\u2014/(\[{\u2018\s])"/g, '$1“')
              .replace(/"/g, '”')
              .replace(/\.{3}/g, '…')
          : e
      }),
      (t.prototype.mangle = function(e) {
        if (!this.options.mangle) return e
        for (var t, n = '', i = e.length, o = 0; o < i; o++)
          (t = e.charCodeAt(o)),
            Math.random() > 0.5 && (t = 'x' + t.toString(16)),
            (n += '&#' + t + ';')
        return n
      }),
      (n.prototype.code = function(e, t, n) {
        if (this.options.highlight) {
          var i = this.options.highlight(e, t)
          null != i && i !== e && ((n = !0), (e = i))
        }
        return t
          ? '<pre><code class="' +
              this.options.langPrefix +
              o(t, !0) +
              '">' +
              (n ? e : o(e, !0)) +
              '\n</code></pre>\n'
          : '<pre><code>' + (n ? e : o(e, !0)) + '\n</code></pre>'
      }),
      (n.prototype.blockquote = function(e) {
        return '<blockquote>\n' + e + '</blockquote>\n'
      }),
      (n.prototype.html = function(e) {
        return e
      }),
      (n.prototype.heading = function(e, t, n) {
        return (
          '<h' +
          t +
          ' id="' +
          this.options.headerPrefix +
          n.toLowerCase().replace(/[^\w]+/g, '-') +
          '">' +
          e +
          '</h' +
          t +
          '>\n'
        )
      }),
      (n.prototype.hr = function() {
        return this.options.xhtml ? '<hr/>\n' : '<hr>\n'
      }),
      (n.prototype.list = function(e, t) {
        var n = t ? 'ol' : 'ul'
        return '<' + n + '>\n' + e + '</' + n + '>\n'
      }),
      (n.prototype.listitem = function(e) {
        return '<li>' + e + '</li>\n'
      }),
      (n.prototype.paragraph = function(e) {
        return '<p>' + e + '</p>\n'
      }),
      (n.prototype.table = function(e, t) {
        return (
          '<table>\n<thead>\n' +
          e +
          '</thead>\n<tbody>\n' +
          t +
          '</tbody>\n</table>\n'
        )
      }),
      (n.prototype.tablerow = function(e) {
        return '<tr>\n' + e + '</tr>\n'
      }),
      (n.prototype.tablecell = function(e, t) {
        var n = t.header ? 'th' : 'td'
        return (
          (t.align
            ? '<' + n + ' style="text-align:' + t.align + '">'
            : '<' + n + '>') +
          e +
          '</' +
          n +
          '>\n'
        )
      }),
      (n.prototype.strong = function(e) {
        return '<strong>' + e + '</strong>'
      }),
      (n.prototype.em = function(e) {
        return '<em>' + e + '</em>'
      }),
      (n.prototype.codespan = function(e) {
        return '<code>' + e + '</code>'
      }),
      (n.prototype.br = function() {
        return this.options.xhtml ? '<br/>' : '<br>'
      }),
      (n.prototype.del = function(e) {
        return '<del>' + e + '</del>'
      }),
      (n.prototype.link = function(e, t, n) {
        if (this.options.sanitize) {
          try {
            var i = decodeURIComponent(r(e))
              .replace(/[^\w:]/g, '')
              .toLowerCase()
          } catch (e) {
            return ''
          }
          if (
            0 === i.indexOf('javascript:') ||
            0 === i.indexOf('vbscript:') ||
            0 === i.indexOf('data:')
          )
            return ''
        }
        var o = '<a href="' + e + '"'
        return t && (o += ' title="' + t + '"'), (o += '>' + n + '</a>')
      }),
      (n.prototype.image = function(e, t, n) {
        var i = '<img src="' + e + '" alt="' + n + '"'
        return (
          t && (i += ' title="' + t + '"'),
          (i += this.options.xhtml ? '/>' : '>')
        )
      }),
      (n.prototype.text = function(e) {
        return e
      }),
      (i.parse = function(e, t, n) {
        return new i(t, n).parse(e)
      }),
      (i.prototype.parse = function(e) {
        ;(this.inline = new t(e.links, this.options, this.renderer)),
          (this.tokens = e.reverse())
        for (var n = ''; this.next(); ) n += this.tok()
        return n
      }),
      (i.prototype.next = function() {
        return (this.token = this.tokens.pop())
      }),
      (i.prototype.peek = function() {
        return this.tokens[this.tokens.length - 1] || 0
      }),
      (i.prototype.parseText = function() {
        for (var e = this.token.text; 'text' === this.peek().type; )
          e += '\n' + this.next().text
        return this.inline.output(e)
      }),
      (i.prototype.tok = function() {
        switch (this.token.type) {
          case 'space':
            return ''
          case 'hr':
            return this.renderer.hr()
          case 'heading':
            return this.renderer.heading(
              this.inline.output(this.token.text),
              this.token.depth,
              this.token.text
            )
          case 'code':
            return this.renderer.code(
              this.token.text,
              this.token.lang,
              this.token.escaped
            )
          case 'table':
            var e,
              t,
              n,
              i,
              o = '',
              r = ''
            for (n = '', e = 0; e < this.token.header.length; e++)
              ({ header: !0, align: this.token.align[e] },
                (n += this.renderer.tablecell(
                  this.inline.output(this.token.header[e]),
                  { header: !0, align: this.token.align[e] }
                )))
            for (
              o += this.renderer.tablerow(n), e = 0;
              e < this.token.cells.length;
              e++
            ) {
              for (t = this.token.cells[e], n = '', i = 0; i < t.length; i++)
                n += this.renderer.tablecell(this.inline.output(t[i]), {
                  header: !1,
                  align: this.token.align[i]
                })
              r += this.renderer.tablerow(n)
            }
            return this.renderer.table(o, r)
          case 'blockquote_start':
            for (r = ''; 'blockquote_end' !== this.next().type; )
              r += this.tok()
            return this.renderer.blockquote(r)
          case 'list_start':
            for (
              var r = '', s = this.token.ordered;
              'list_end' !== this.next().type;

            )
              r += this.tok()
            return this.renderer.list(r, s)
          case 'list_item_start':
            for (r = ''; 'list_item_end' !== this.next().type; )
              r += 'text' === this.token.type ? this.parseText() : this.tok()
            return this.renderer.listitem(r)
          case 'loose_item_start':
            for (r = ''; 'list_item_end' !== this.next().type; ) r += this.tok()
            return this.renderer.listitem(r)
          case 'html':
            var a =
              this.token.pre || this.options.pedantic
                ? this.token.text
                : this.inline.output(this.token.text)
            return this.renderer.html(a)
          case 'paragraph':
            return this.renderer.paragraph(this.inline.output(this.token.text))
          case 'text':
            return this.renderer.paragraph(this.parseText())
        }
      }),
      (a.exec = a),
      (l.options = l.setOptions = function(e) {
        return u(l.defaults, e), l
      }),
      (l.defaults = {
        gfm: !0,
        tables: !0,
        breaks: !1,
        pedantic: !1,
        sanitize: !1,
        sanitizer: null,
        mangle: !0,
        smartLists: !1,
        silent: !1,
        highlight: null,
        langPrefix: 'lang-',
        smartypants: !1,
        headerPrefix: '',
        renderer: new n(),
        xhtml: !1
      }),
      (l.Parser = i),
      (l.parser = i.parse),
      (l.Renderer = n),
      (l.Lexer = e),
      (l.lexer = e.lex),
      (l.InlineLexer = t),
      (l.inlineLexer = t.output),
      (l.parse = l),
      define('vs/base/common/marked/raw.marked', [], function() {
        return l
      }),
      define(d[501], h([538]), function(e) {
        return { marked: e }
      }),
      define(d[68], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        !(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.untitled = 'untitled')
        })(t.Schemas || (t.Schemas = {}))
      }),
      define(d[15], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var n = !1,
          i = !1,
          o = !1,
          r = !1,
          s = !1,
          a = !1,
          u = void 0,
          l = void 0
        if (((t.LANGUAGE_DEFAULT = 'en'), 'object' == typeof process)) {
          ;(n = 'win32' === process.platform),
            (i = 'darwin' === process.platform),
            (o = 'linux' === process.platform),
            (r = !n && 0 === process.getuid())
          var c = process.env.VSCODE_NLS_CONFIG
          if (c)
            try {
              var d = JSON.parse(c),
                h = d.availableLanguages['*']
              ;(u = d.locale), (l = h || t.LANGUAGE_DEFAULT)
            } catch (e) {}
          s = !0
        } else if ('object' == typeof navigator) {
          var p = navigator.userAgent
          ;(n = p.indexOf('Windows') >= 0),
            (i = p.indexOf('Macintosh') >= 0),
            (o = p.indexOf('Linux') >= 0),
            (a = !0),
            (l = u = navigator.language)
        }
        var f
        !(function(e) {
          ;(e[(e.Web = 0)] = 'Web'),
            (e[(e.Mac = 1)] = 'Mac'),
            (e[(e.Linux = 2)] = 'Linux'),
            (e[(e.Windows = 3)] = 'Windows')
        })((f = t.Platform || (t.Platform = {})))
        var g = f.Web
        s && (i ? (g = f.Mac) : n ? (g = f.Windows) : o && (g = f.Linux)),
          (t.isWindows = n),
          (t.isMacintosh = i),
          (t.isLinux = o),
          (t.isRootUser = r),
          (t.isNative = s),
          (t.isWeb = a),
          (t.platform = g),
          (t.language = l),
          (t.locale = u)
        var m = 'object' == typeof self ? self : global
        ;(t.globals = m),
          (t.hasWebWorkerSupport = function() {
            return void 0 !== m.Worker
          }),
          (t.setTimeout = m.setTimeout.bind(m)),
          (t.clearTimeout = m.clearTimeout.bind(m)),
          (t.setInterval = m.setInterval.bind(m)),
          (t.clearInterval = m.clearInterval.bind(m))
        !(function(e) {
          ;(e[(e.Windows = 1)] = 'Windows'),
            (e[(e.Macintosh = 2)] = 'Macintosh'),
            (e[(e.Linux = 3)] = 'Linux')
        })(t.OperatingSystem || (t.OperatingSystem = {})),
          (t.OS = i ? 2 : n ? 1 : 3)
        !(function(e) {
          ;(e[(e.Unknown = 0)] = 'Unknown'),
            (e[(e.Disabled = 1)] = 'Disabled'),
            (e[(e.Enabled = 2)] = 'Enabled')
        })(t.AccessibilitySupport || (t.AccessibilitySupport = {}))
      }),
      define(d[499], h([0, 1]), function(e, t) {
        'use strict'
        function n(e) {
          return 65 <= e && e <= 90
        }
        Object.defineProperty(t, '__esModule', {
          value: !0
        }) /*!
    BEGIN THIRD PARTY
    */
        /*!
    * string_score.js: String Scoring Algorithm 0.1.22
    *
    * http://joshaven.com/string_score
    * https://github.com/joshaven/string_score
    *
    * Copyright (C) 2009-2014 Joshaven Potter <yourtech@gmail.com>
    * Special thanks to all of the contributors listed here https://github.com/joshaven/string_score
    * MIT License: http://opensource.org/licenses/MIT
    *
    * Date: Tue Mar 1 2011
    * Updated: Tue Mar 10 2015
    */
        var i = ['-', '_', ' ', '/', '\\', '.']
        ;(t.score = function(e, t, o) {
          if (!e || !t) return 0
          var r = e + t,
            s = o && o[r]
          if ('number' == typeof s) return s
          for (
            var a = t.length,
              u = e.toLowerCase(),
              l = t.toLowerCase(),
              c = 0,
              d = 0,
              h = 0;
            c < a &&
            'break' !==
              (function() {
                var o = u.indexOf(l[c], d)
                if (o < 0) return (h = 0), 'break'
                ;(h += 1),
                  d === o && (h += 5),
                  e[o] === t[o] && (h += 1),
                  0 === o
                    ? (h += 8)
                    : i.some(function(t) {
                        return t === e[o - 1]
                      })
                      ? (h += 7)
                      : n(e.charCodeAt(o)) && (h += 1),
                  (d = o + 1),
                  c++
              })();

          );
          return o && (o[r] = h), h
        }),
          (t.matches = function(e, t) {
            if (!e || !t) return !1
            for (
              var n = t.length, i = e.toLowerCase(), o = 0, r = -1;
              o < n;

            ) {
              var s = i.indexOf(t[o], r + 1)
              if (s < 0) return !1
              ;(r = s), o++
            }
            return !0
          })
      }) /*!
END THIRD PARTY
*/,
      define(d[498], h([0, 1, 15]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i =
            n.globals.performance &&
            'function' == typeof n.globals.performance.now,
          o = (function() {
            function e(e) {
              ;(this._highResolution = i && e),
                (this._startTime = this._now()),
                (this._stopTime = -1)
            }
            return (
              (e.create = function(t) {
                return void 0 === t && (t = !0), new e(t)
              }),
              (e.prototype.stop = function() {
                this._stopTime = this._now()
              }),
              (e.prototype.elapsed = function() {
                return -1 !== this._stopTime
                  ? this._stopTime - this._startTime
                  : this._now() - this._startTime
              }),
              (e.prototype._now = function() {
                return this._highResolution
                  ? n.globals.performance.now()
                  : new Date().getTime()
              }),
              e
            )
          })()
        t.StopWatch = o
      }),
      define(d[29], h([0, 1]), function(e, t) {
        'use strict'
        function n(e) {
          return Array.isArray
            ? Array.isArray(e)
            : !(!e || typeof e.length !== u.number || e.constructor !== Array)
        }
        function i(e) {
          return typeof e === u.string || e instanceof String
        }
        function o(e) {
          return !(
            typeof e !== u.object ||
            null === e ||
            Array.isArray(e) ||
            e instanceof RegExp ||
            e instanceof Date
          )
        }
        function r(e) {
          return typeof e === u.undefined
        }
        function s(e) {
          return typeof e === u.function
        }
        function a(e, t) {
          if (i(t)) {
            if (typeof e !== t)
              throw new Error('argument does not match constraint: typeof ' + t)
          } else if (s(t)) {
            if (e instanceof t) return
            if (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'
            )
          }
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var u = {
          number: 'number',
          string: 'string',
          undefined: 'undefined',
          object: 'object',
          function: 'function'
        }
        ;(t.isArray = n),
          (t.isString = i),
          (t.isStringArray = function(e) {
            return (
              n(e) &&
              e.every(function(e) {
                return i(e)
              })
            )
          }),
          (t.isObject = o),
          (t.isNumber = function(e) {
            return (typeof e === u.number || e instanceof Number) && !isNaN(e)
          }),
          (t.isBoolean = function(e) {
            return !0 === e || !1 === e
          }),
          (t.isUndefined = r),
          (t.isUndefinedOrNull = function(e) {
            return r(e) || null === e
          })
        var l = Object.prototype.hasOwnProperty
        ;(t.isEmptyObject = function(e) {
          if (!o(e)) return !1
          for (var t in e) if (l.call(e, t)) return !1
          return !0
        }),
          (t.isFunction = s),
          (t.areFunctions = function() {
            for (var e = [], t = 0; t < arguments.length; t++)
              e[t] = arguments[t]
            return e && e.length > 0 && e.every(s)
          }),
          (t.validateConstraints = function(e, t) {
            for (var n = Math.min(e.length, t.length), i = 0; i < n; i++)
              a(e[i], t[i])
          }),
          (t.validateConstraint = a),
          (t.create = function(e) {
            for (var t = [], n = 1; n < arguments.length; n++)
              t[n - 1] = arguments[n]
            var i = Object.create(e.prototype)
            return e.apply(i, t), i
          })
      }),
      define(d[494], h([0, 1, 29, 154]), function(e, t, n, i) {
        'use strict'
        function o(e) {
          return {
            data: e,
            incoming: Object.create(null),
            outgoing: Object.create(null)
          }
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = (function() {
          function e(e) {
            ;(this._hashFn = e), (this._nodes = Object.create(null))
          }
          return (
            (e.prototype.roots = function() {
              var e = []
              return (
                i.forEach(this._nodes, function(t) {
                  n.isEmptyObject(t.value.outgoing) && e.push(t.value)
                }),
                e
              )
            }),
            (e.prototype.traverse = function(e, t, n) {
              var i = this.lookup(e)
              i && this._traverse(i, t, Object.create(null), n)
            }),
            (e.prototype._traverse = function(e, t, n, o) {
              var r = this,
                s = this._hashFn(e.data)
              if (!n[s]) {
                ;(n[s] = !0), o(e.data)
                var a = t ? e.outgoing : e.incoming
                i.forEach(a, function(e) {
                  return r._traverse(e.value, t, n, o)
                })
              }
            }),
            (e.prototype.insertEdge = function(e, t) {
              var n = this.lookupOrInsertNode(e),
                i = this.lookupOrInsertNode(t)
              ;(n.outgoing[this._hashFn(t)] = i),
                (i.incoming[this._hashFn(e)] = n)
            }),
            (e.prototype.removeNode = function(e) {
              var t = this._hashFn(e)
              delete this._nodes[t],
                i.forEach(this._nodes, function(e) {
                  delete e.value.outgoing[t], delete e.value.incoming[t]
                })
            }),
            (e.prototype.lookupOrInsertNode = function(e) {
              var t = this._hashFn(e),
                n = this._nodes[t]
              return n || ((n = o(e)), (this._nodes[t] = n)), n
            }),
            (e.prototype.lookup = function(e) {
              return this._nodes[this._hashFn(e)]
            }),
            Object.defineProperty(e.prototype, 'length', {
              get: function() {
                return Object.keys(this._nodes).length
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.toString = function() {
              var e = []
              return (
                i.forEach(this._nodes, function(t) {
                  e.push(
                    t.key +
                      ', (incoming)[' +
                      Object.keys(t.value.incoming).join(', ') +
                      '], (outgoing)[' +
                      Object.keys(t.value.outgoing).join(',') +
                      ']'
                  )
                }),
                e.join('\n')
              )
            }),
            e
          )
        })()
        t.Graph = r
      }),
      define(d[28], h([0, 1, 29]), function(e, t, n) {
        'use strict'
        function i(e) {
          if (!e || 'object' != typeof e) return e
          if (e instanceof RegExp) return e
          var t = Array.isArray(e) ? [] : {}
          return (
            Object.keys(e).forEach(function(n) {
              e[n] && 'object' == typeof e[n] ? (t[n] = i(e[n])) : (t[n] = e[n])
            }),
            t
          )
        }
        function o(e) {
          if (!e || 'object' != typeof e) return e
          var t = Array.isArray(e) ? [] : {}
          return (
            Object.getOwnPropertyNames(e).forEach(function(n) {
              e[n] && 'object' == typeof e[n] ? (t[n] = o(e[n])) : (t[n] = e[n])
            }),
            t
          )
        }
        function r(e, t, i) {
          if (n.isUndefinedOrNull(e)) return e
          var o = t(e)
          if (void 0 !== o) return o
          if (n.isArray(e)) {
            for (var s = [], a = 0; a < e.length; a++) s.push(r(e[a], t, i))
            return s
          }
          if (n.isObject(e)) {
            if (i.indexOf(e) >= 0)
              throw new Error('Cannot clone recursive data-structure')
            i.push(e)
            var u = {}
            for (var l in e) c.call(e, l) && (u[l] = r(e[l], t, i))
            return i.pop(), u
          }
          return e
        }
        function s(e, t, i) {
          return (
            void 0 === i && (i = !0),
            n.isObject(e)
              ? (n.isObject(t) &&
                  Object.keys(t).forEach(function(o) {
                    o in e
                      ? i &&
                        (n.isObject(e[o]) && n.isObject(t[o])
                          ? s(e[o], t[o], i)
                          : (e[o] = t[o]))
                      : (e[o] = t[o])
                  }),
                e)
              : t
          )
        }
        function a(e) {
          for (var t = [], n = 1; n < arguments.length; n++)
            t[n - 1] = arguments[n]
          return (
            t.forEach(function(t) {
              return Object.keys(t).forEach(function(n) {
                return (e[n] = t[n])
              })
            }),
            e
          )
        }
        function u(e, t) {
          if (e === t) return !0
          if (null === e || void 0 === e || null === t || void 0 === 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, i
          if (Array.isArray(e)) {
            if (e.length !== t.length) return !1
            for (n = 0; n < e.length; n++) if (!u(e[n], t[n])) return !1
          } else {
            var o = []
            for (i in e) o.push(i)
            o.sort()
            var r = []
            for (i in t) r.push(i)
            if ((r.sort(), !u(o, r))) return !1
            for (n = 0; n < o.length; n++) if (!u(e[o[n]], t[o[n]])) return !1
          }
          return !0
        }
        function l(e) {
          for (var t = {}, n = 0; n < e.length; ++n) t[e[n]] = !0
          return t
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.clone = i),
          (t.deepClone = o)
        var c = Object.prototype.hasOwnProperty
        ;(t.cloneAndChange = function(e, t) {
          return r(e, t, [])
        }),
          (t.mixin = s),
          (t.assign = a),
          (t.toObject = function(e, t) {
            return e.reduce(function(e, n) {
              return a(e, ((i = {}), (i[t(n)] = n), i))
              var i
            }, Object.create(null))
          }),
          (t.equals = u),
          (t.ensureProperty = function(e, t, n) {
            void 0 === e[t] && (e[t] = n)
          }),
          (t.arrayToHash = l),
          (t.createKeywordMatcher = function(e, t) {
            void 0 === t && (t = !1),
              t &&
                (e = e.map(function(e) {
                  return e.toLowerCase()
                }))
            var n = l(e)
            return t
              ? function(e) {
                  return (
                    void 0 !== n[e.toLowerCase()] &&
                    n.hasOwnProperty(e.toLowerCase())
                  )
                }
              : function(e) {
                  return void 0 !== n[e] && n.hasOwnProperty(e)
                }
          }),
          (t.derive = function(e, t) {
            for (var n in e) e.hasOwnProperty(n) && (t[n] = e[n])
            t = t || function() {}
            var i = e.prototype,
              o = t.prototype
            t.prototype = Object.create(i)
            for (var n in o)
              o.hasOwnProperty(n) &&
                Object.defineProperty(
                  t.prototype,
                  n,
                  Object.getOwnPropertyDescriptor(o, n)
                )
            Object.defineProperty(t.prototype, 'constructor', {
              value: t,
              writable: !0,
              configurable: !0,
              enumerable: !0
            })
          }),
          (t.safeStringify = function(e) {
            var t = []
            return JSON.stringify(e, function(e, i) {
              if (n.isObject(i) || Array.isArray(i)) {
                if (-1 !== t.indexOf(i)) return '[Circular]'
                t.push(i)
              }
              return i
            })
          }),
          (t.getOrDefault = function(e, t, n) {
            void 0 === n && (n = null)
            var i = t(e)
            return void 0 === i ? n : i
          }),
          (t.distinct = function(e, t) {
            var n = Object.create(null)
            return e && t
              ? (Object.keys(t).forEach(function(i) {
                  var o = e[i],
                    r = t[i]
                  u(o, r) || (n[i] = r)
                }),
                n)
              : n
          })
      }),
      define(d[24], h([0, 1, 15]), function(e, t, n) {
        'use strict'
        function i(e) {
          return (
            '%' +
            e
              .charCodeAt(0)
              .toString(16)
              .toUpperCase()
          )
        }
        function o(e) {
          return encodeURIComponent(e).replace(/[!'()*]/g, i)
        }
        function r(e) {
          return e.replace(/[#?]/, i)
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = (function() {
          function e() {
            ;(this._scheme = e._empty),
              (this._authority = e._empty),
              (this._path = e._empty),
              (this._query = e._empty),
              (this._fragment = e._empty),
              (this._formatted = null),
              (this._fsPath = null)
          }
          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))
              )
            }),
            Object.defineProperty(e.prototype, 'scheme', {
              get: function() {
                return this._scheme
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'authority', {
              get: function() {
                return this._authority
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'path', {
              get: function() {
                return this._path
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'query', {
              get: function() {
                return this._query
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'fragment', {
              get: function() {
                return this._fragment
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'fsPath', {
              get: function() {
                if (!this._fsPath) {
                  var t
                  ;(t =
                    this._authority && this._path && 'file' === this.scheme
                      ? '//' + this._authority + this._path
                      : e._driveLetterPath.test(this._path)
                        ? this._path[1].toLowerCase() + this._path.substr(2)
                        : this._path),
                    n.isWindows && (t = t.replace(/\//g, '\\')),
                    (this._fsPath = t)
                }
                return this._fsPath
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.with = function(t) {
              if (!t) return this
              var n = t.scheme,
                i = t.authority,
                o = t.path,
                r = t.query,
                s = t.fragment
              if (
                (void 0 === n ? (n = this.scheme) : null === n && (n = ''),
                void 0 === i ? (i = this.authority) : null === i && (i = ''),
                void 0 === o ? (o = this.path) : null === o && (o = ''),
                void 0 === r ? (r = this.query) : null === r && (r = ''),
                void 0 === s ? (s = this.fragment) : null === s && (s = ''),
                n === this.scheme &&
                  i === this.authority &&
                  o === this.path &&
                  r === this.query &&
                  s === this.fragment)
              )
                return this
              var a = new e()
              return (
                (a._scheme = n),
                (a._authority = i),
                (a._path = o),
                (a._query = r),
                (a._fragment = s),
                e._validate(a),
                a
              )
            }),
            (e.parse = function(t) {
              var n = new e(),
                i = e._parseComponents(t)
              return (
                (n._scheme = i.scheme),
                (n._authority = decodeURIComponent(i.authority)),
                (n._path = decodeURIComponent(i.path)),
                (n._query = decodeURIComponent(i.query)),
                (n._fragment = decodeURIComponent(i.fragment)),
                e._validate(n),
                n
              )
            }),
            (e.file = function(t) {
              var i = new e()
              if (
                ((i._scheme = 'file'),
                n.isWindows && (t = t.replace(/\\/g, e._slash)),
                t[0] === e._slash && t[0] === t[1])
              ) {
                var o = t.indexOf(e._slash, 2)
                ;-1 === o
                  ? (i._authority = t.substring(2))
                  : ((i._authority = t.substring(2, o)),
                    (i._path = t.substring(o)))
              } else i._path = t
              return (
                i._path[0] !== e._slash && (i._path = e._slash + i._path),
                e._validate(i),
                i
              )
            }),
            (e._parseComponents = function(t) {
              var n = {
                  scheme: e._empty,
                  authority: e._empty,
                  path: e._empty,
                  query: e._empty,
                  fragment: e._empty
                },
                i = e._regexp.exec(t)
              return (
                i &&
                  ((n.scheme = i[2] || n.scheme),
                  (n.authority = i[4] || n.authority),
                  (n.path = i[5] || n.path),
                  (n.query = i[7] || n.query),
                  (n.fragment = i[9] || n.fragment)),
                n
              )
            }),
            (e.from = function(t) {
              return new e().with(t)
            }),
            (e._validate = function(t) {
              if (t.scheme && !e._schemePattern.test(t.scheme))
                throw new Error(
                  '[UriError]: Scheme contains illegal characters.'
                )
              if (t.path)
                if (t.authority) {
                  if (!e._singleSlashStart.test(t.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 (e._doubleSlashStart.test(t.path))
                  throw new Error(
                    '[UriError]: If a URI does not contain an authority component, then the path cannot begin with two slash characters ("//")'
                  )
            }),
            (e.prototype.toString = function(t) {
              return (
                void 0 === t && (t = !1),
                t
                  ? e._asFormatted(this, !0)
                  : (this._formatted ||
                      (this._formatted = e._asFormatted(this, !1)),
                    this._formatted)
              )
            }),
            (e._asFormatted = function(t, n) {
              var i = n ? r : o,
                s = [],
                a = t.scheme,
                u = t.authority,
                l = t.path,
                c = t.query,
                d = t.fragment
              if (
                (a && s.push(a, ':'),
                (u || 'file' === a) && s.push('//'),
                u &&
                  (-1 === (f = (u = u.toLowerCase()).indexOf(':'))
                    ? s.push(i(u))
                    : s.push(i(u.substr(0, f)), u.substr(f))),
                l)
              ) {
                var h = e._upperCaseDrive.exec(l)
                h &&
                  (l = h[1]
                    ? '/' + h[2].toLowerCase() + l.substr(3)
                    : h[2].toLowerCase() + l.substr(2))
                for (var p = 0; ; ) {
                  var f = l.indexOf(e._slash, p)
                  if (-1 === f) {
                    s.push(i(l.substring(p)))
                    break
                  }
                  s.push(i(l.substring(p, f)), e._slash), (p = f + 1)
                }
              }
              return (
                c && s.push('?', i(c)), d && s.push('#', i(d)), s.join(e._empty)
              )
            }),
            (e.prototype.toJSON = function() {
              var e = {
                fsPath: this.fsPath,
                external: this.toString(),
                $mid: 1
              }
              return (
                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
              )
            }),
            (e.revive = function(t) {
              var n = new e()
              return (
                (n._scheme = t.scheme || e._empty),
                (n._authority = t.authority || e._empty),
                (n._path = t.path || e._empty),
                (n._query = t.query || e._empty),
                (n._fragment = t.fragment || e._empty),
                (n._fsPath = t.fsPath),
                (n._formatted = t.external),
                e._validate(n),
                n
              )
            }),
            e
          )
        })()
        ;(s._empty = ''),
          (s._slash = '/'),
          (s._regexp = /^(([^:/?#]+?):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/),
          (s._driveLetterPath = /^\/[a-zA-z]:/),
          (s._upperCaseDrive = /^(\/)?([A-Z]:)/),
          (s._schemePattern = /^\w[\w\d+.-]*$/),
          (s._singleSlashStart = /^\//),
          (s._doubleSlashStart = /^\/\//),
          (t.default = s)
      }),
      define(d[88], h([0, 1, 24]), function(e, t, n) {
        'use strict'
        function i(e) {
          var t = []
          return (
            e.forEach(function(e) {
              return t.push(e)
            }),
            t
          )
        }
        function o(e) {
          var t = []
          return (
            e.forEach(function(e, n) {
              return t.push(n)
            }),
            t
          )
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.values = i),
          (t.keys = o),
          (t.getOrSet = function(e, t, n) {
            var i = e.get(t)
            return void 0 === i && ((i = n), e.set(t, i)), i
          })
        var r = (function() {
          function e(e, t, n) {
            void 0 === e && (e = Number.MAX_VALUE), void 0 === t && (t = 1)
            var i = this
            ;(this.limit = e),
              (this.map = new Map()),
              (this.ratio = e * t),
              n &&
                n.entries.forEach(function(e) {
                  i.set(e.key, e.value)
                })
          }
          return (
            (e.prototype.setLimit = function(e) {
              if (!(e < 0))
                for (this.limit = e; this.map.size > this.limit; ) this.trim()
            }),
            (e.prototype.serialize = function() {
              var e = { entries: [] }
              return (
                this.map.forEach(function(t) {
                  e.entries.push({ key: t.key, value: t.value })
                }),
                e
              )
            }),
            Object.defineProperty(e.prototype, 'size', {
              get: function() {
                return this.map.size
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.set = function(e, t) {
              if (this.map.has(e)) return !1
              var n = { key: e, value: t }
              return this.push(n), this.size > this.limit && this.trim(), !0
            }),
            (e.prototype.get = function(e) {
              var t = this.map.get(e)
              return t ? t.value : null
            }),
            (e.prototype.getOrSet = function(e, t) {
              var n = this.get(e)
              return n || (this.set(e, t), t)
            }),
            (e.prototype.delete = function(e) {
              var t = this.map.get(e)
              return t
                ? (this.map.delete(e),
                  t.next ? (t.next.prev = t.prev) : (this.head = t.prev),
                  t.prev ? (t.prev.next = t.next) : (this.tail = t.next),
                  t.value)
                : null
            }),
            (e.prototype.has = function(e) {
              return this.map.has(e)
            }),
            (e.prototype.clear = function() {
              this.map.clear(), (this.head = null), (this.tail = null)
            }),
            (e.prototype.push = function(e) {
              this.head && ((e.prev = this.head), (this.head.next = e)),
                this.tail || (this.tail = e),
                (this.head = e),
                this.map.set(e.key, e)
            }),
            (e.prototype.trim = function() {
              if (this.tail)
                if (this.ratio < this.limit)
                  for (var e = 0, t = this.tail; t.next; ) {
                    if ((this.map.delete(t.key), e === this.ratio)) {
                      ;(this.tail = t.next), (this.tail.prev = null)
                      break
                    }
                    ;(t = t.next), e++
                  }
                else
                  this.map.delete(this.tail.key),
                    (this.tail = this.tail.next),
                    this.tail && (this.tail.prev = null)
            }),
            e
          )
        })()
        t.BoundedMap = r
        var s = (function() {
            return function() {
              this.children = new Map()
            }
          })(),
          a = (function() {
            function e(e) {
              ;(this._root = new s()), (this._splitter = e)
            }
            return (
              (e.prototype.insert = function(e, t) {
                for (
                  var n = this._splitter(e), i = 0, o = this._root;
                  i < n.length;
                  i++
                ) {
                  var r = o.children.get(n[i])
                  if (!r) break
                  o = r
                }
                for (var a; i < n.length; i++)
                  (a = new s()), o.children.set(n[i], a), (o = a)
                o.element = t
              }),
              (e.prototype.lookUp = function(e) {
                for (
                  var t,
                    n = this._splitter(e),
                    i = this._root.children,
                    o = 0,
                    r = n;
                  o < r.length;
                  o++
                ) {
                  var s = r[o]
                  if (!(t = i.get(s))) return
                  i = t.children
                }
                return t.element
              }),
              (e.prototype.findSubstr = function(e) {
                for (
                  var t,
                    n = this._splitter(e),
                    i = this._root.children,
                    o = 0,
                    r = n;
                  o < r.length;
                  o++
                ) {
                  var s = r[o],
                    a = i.get(s)
                  if (!a) break
                  a.element && (t = a), (i = a.children)
                }
                if (t) return t.element
              }),
              (e.prototype.findSuperstr = function(t) {
                for (
                  var n,
                    i = this._splitter(t),
                    o = this._root.children,
                    r = 0,
                    s = i;
                  r < s.length;
                  r++
                ) {
                  var a = s[r]
                  if (!(n = o.get(a))) return
                  o = n.children
                }
                var u = new e(this._splitter)
                return (u._root = n), u
              }),
              e
            )
          })()
        ;(a.PathSplitter = function(e) {
          return e.split(/[\\/]/).filter(function(e) {
            return !!e
          })
        }),
          (t.TrieMap = a)
        var u = (function() {
          function e(e) {
            ;(this.ignoreCase = e), (this.map = new Map())
          }
          return (
            (e.prototype.set = function(e, t) {
              this.map.set(this.toKey(e), t)
            }),
            (e.prototype.get = function(e) {
              return this.map.get(this.toKey(e))
            }),
            (e.prototype.has = function(e) {
              return this.map.has(this.toKey(e))
            }),
            Object.defineProperty(e.prototype, 'size', {
              get: function() {
                return this.map.size
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.clear = function() {
              this.map.clear()
            }),
            (e.prototype.delete = function(e) {
              return this.map.delete(this.toKey(e))
            }),
            (e.prototype.forEach = function(e) {
              this.map.forEach(e)
            }),
            (e.prototype.values = function() {
              return i(this.map)
            }),
            (e.prototype.toKey = function(e) {
              var t = e.toString()
              return this.ignoreCase && (t = t.toLowerCase()), t
            }),
            e
          )
        })()
        t.ResourceMap = u
        var l = (function(e) {
          function t() {
            return e.call(this) || this
          }
          return (
            f(t, e),
            (t.prototype.keys = function() {
              return o(this.map).map(function(e) {
                return n.default.parse(e)
              })
            }),
            t
          )
        })(u)
        t.StrictResourceMap = l
        var c
        !(function(e) {
          ;(e.None = 0), (e.First = 1), (e.Last = 2)
        })((c = t.Touch || (t.Touch = {})))
        var d = (function() {
          function e() {
            ;(this._map = new Map()),
              (this._head = void 0),
              (this._tail = void 0),
              (this._size = 0)
          }
          return (
            (e.prototype.clear = function() {
              this._map.clear(),
                (this._head = void 0),
                (this._tail = void 0),
                (this._size = 0)
            }),
            (e.prototype.isEmpty = function() {
              return !this._head && !this._tail
            }),
            Object.defineProperty(e.prototype, 'size', {
              get: function() {
                return this._size
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.has = function(e) {
              return this._map.has(e)
            }),
            (e.prototype.get = function(e) {
              var t = this._map.get(e)
              if (t) return t.value
            }),
            (e.prototype.set = function(e, t, n) {
              void 0 === n && (n = c.None)
              var i = this._map.get(e)
              if (i) (i.value = t), n !== c.None && this.touch(i, n)
              else {
                switch (
                  ((i = { key: e, value: t, next: void 0, previous: void 0 }),
                  n)
                ) {
                  case c.None:
                    this.addItemLast(i)
                    break
                  case c.First:
                    this.addItemFirst(i)
                    break
                  case c.Last:
                  default:
                    this.addItemLast(i)
                }
                this._map.set(e, i), this._size++
              }
            }),
            (e.prototype.delete = function(e) {
              return !!this.remove(e)
            }),
            (e.prototype.remove = function(e) {
              var t = this._map.get(e)
              if (t)
                return (
                  this._map.delete(e), this.removeItem(t), this._size--, t.value
                )
            }),
            (e.prototype.shift = function() {
              if (this._head || this._tail) {
                if (!this._head || !this._tail) throw new Error('Invalid list')
                var e = this._head
                return (
                  this._map.delete(e.key),
                  this.removeItem(e),
                  this._size--,
                  e.value
                )
              }
            }),
            (e.prototype.forEach = function(e, t) {
              for (var n = this._head; n; )
                t ? e.bind(t)(n.value, n.key, this) : e(n.value, n.key, this),
                  (n = n.next)
            }),
            (e.prototype.forEachReverse = function(e, t) {
              for (var n = this._tail; n; )
                t ? e.bind(t)(n.value, n.key, this) : e(n.value, n.key, this),
                  (n = n.previous)
            }),
            (e.prototype.values = function() {
              for (var e = [], t = this._head; t; )
                e.push(t.value), (t = t.next)
              return e
            }),
            (e.prototype.keys = function() {
              for (var e = [], t = this._head; t; ) e.push(t.key), (t = t.next)
              return e
            }),
            (e.prototype.addItemFirst = function(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
            }),
            (e.prototype.addItemLast = function(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
            }),
            (e.prototype.removeItem = function(e) {
              if (e === this._head && e === this._tail)
                (this._head = void 0), (this._tail = void 0)
              else if (e === this._head) this._head = e.next
              else if (e === this._tail) this._tail = e.previous
              else {
                var t = e.next,
                  n = e.previous
                if (!t || !n) throw new Error('Invalid list')
                ;(t.previous = n), (n.next = t)
              }
            }),
            (e.prototype.touch = function(e, t) {
              if (!this._head || !this._tail) throw new Error('Invalid list')
              if (t === c.First || t === c.Last)
                if (t === c.First) {
                  if (e === this._head) return
                  var n = e.next,
                    i = e.previous
                  e === this._tail
                    ? ((i.next = void 0), (this._tail = i))
                    : ((n.previous = i), (i.next = n)),
                    (e.previous = void 0),
                    (e.next = this._head),
                    (this._head.previous = e),
                    (this._head = e)
                } else if (t === c.Last) {
                  if (e === this._tail) return
                  var n = e.next,
                    i = e.previous
                  e === this._head
                    ? ((n.previous = void 0), (this._head = n))
                    : ((n.previous = i), (i.next = n)),
                    (e.next = void 0),
                    (e.previous = this._tail),
                    (this._tail.next = e),
                    (this._tail = e)
                }
            }),
            e
          )
        })()
        t.LinkedMap = d
      }),
      define(d[493], h([0, 1, 24]), function(e, t, n) {
        'use strict'
        function i(e, t) {
          return t instanceof RegExp
            ? {
                $mid: 2,
                source: t.source,
                flags:
                  (t.global ? 'g' : '') +
                  (t.ignoreCase ? 'i' : '') +
                  (t.multiline ? 'm' : '')
              }
            : t
        }
        function o(e, t) {
          var i
          switch ((void 0 !== t && null !== t && (i = t.$mid), i)) {
            case 1:
              return n.default.revive(t)
            case 2:
              return new RegExp(t.source, t.flags)
            default:
              return t
          }
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.stringify = function(e) {
            return JSON.stringify(e, i)
          }),
          (t.parse = function(e) {
            return JSON.parse(e, o)
          })
      }),
      define(d[9], h([0, 1, 88]), function(e, t, n) {
        'use strict'
        function i(e) {
          return e.replace(/[\-\\\{\}\*\+\?\|\^\$\.\[\]\(\)\#]/g, '\\$&')
        }
        function o(e, t) {
          if (!e || !t) return e
          var n = t.length
          if (0 === n || 0 === e.length) return e
          for (var i = 0; e.indexOf(t, i) === i; ) i += n
          return e.substring(i)
        }
        function r(e, t) {
          if (!e || !t) return e
          var n = t.length,
            i = e.length
          if (0 === n || 0 === i) return e
          for (var o = i, r = -1; ; ) {
            if (-1 === (r = e.lastIndexOf(t, o - 1)) || r + n !== o) break
            if (0 === r) return ''
            o = r
          }
          return e.substring(0, o)
        }
        function s(e, t) {
          return e < t ? -1 : e > t ? 1 : 0
        }
        function a(e) {
          return e >= 97 && e <= 122
        }
        function u(e) {
          return e >= 65 && e <= 90
        }
        function l(e) {
          return a(e) || u(e)
        }
        function c(e, t, n) {
          if (
            (void 0 === n && (n = e.length),
            'string' != typeof e || 'string' != typeof t)
          )
            return !1
          for (var i = 0; i < n; i++) {
            var o = e.charCodeAt(i),
              r = t.charCodeAt(i)
            if (o !== r)
              if (l(o) && l(r)) {
                var s = Math.abs(o - r)
                if (0 !== s && 32 !== s) return !1
              } else if (
                String.fromCharCode(o).toLowerCase() !==
                String.fromCharCode(r).toLowerCase()
              )
                return !1
          }
          return !0
        }
        function d(e, t, n, i, o, r) {
          for (; t < n && o < r; ) {
            if (e[t] !== i[o]) return !1
            ;(t += 1), (o += 1)
          }
          return !0
        }
        function h(e) {
          return (
            ((e = +e) >= 11904 && e <= 55215) ||
            (e >= 63744 && e <= 64255) ||
            (e >= 65281 && e <= 65374)
          )
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.empty = ''),
          (t.isFalsyOrWhitespace = function(e) {
            return !e || 'string' != typeof e || 0 === e.trim().length
          }),
          (t.pad = function(e, t, n) {
            void 0 === n && (n = '0')
            for (var i = '' + e, o = [i], r = i.length; r < t; r++) o.push(n)
            return o.reverse().join('')
          })
        var p = /{(\d+)}/g
        ;(t.format = function(e) {
          for (var t = [], n = 1; n < arguments.length; n++)
            t[n - 1] = arguments[n]
          return 0 === t.length
            ? e
            : e.replace(p, function(e, n) {
                var i = parseInt(n, 10)
                return isNaN(i) || i < 0 || i >= t.length ? e : t[i]
              })
        }),
          (t.escape = function(e) {
            return e.replace(/[<|>|&]/g, function(e) {
              switch (e) {
                case '<':
                  return '&lt;'
                case '>':
                  return '&gt;'
                case '&':
                  return '&amp;'
                default:
                  return e
              }
            })
          }),
          (t.escapeRegExpCharacters = i),
          (t.trim = function(e, t) {
            return void 0 === t && (t = ' '), r(o(e, t), t)
          }),
          (t.ltrim = o),
          (t.rtrim = r),
          (t.convertSimple2RegExpPattern = function(e) {
            return e
              .replace(/[\-\\\{\}\+\?\|\^\$\.\,\[\]\(\)\#\s]/g, '\\$&')
              .replace(/[\*]/g, '.*')
          }),
          (t.stripWildcards = function(e) {
            return e.replace(/\*/g, '')
          }),
          (t.startsWith = function(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
          }),
          (t.endsWith = function(e, t) {
            var n = e.length - t.length
            return n > 0 ? e.indexOf(t, n) === n : 0 === n && e === t
          }),
          (t.indexOfIgnoreCase = function(e, t, n) {
            void 0 === n && (n = 0)
            var o = e.indexOf(t, n)
            return (
              o < 0 &&
                (n > 0 && (e = e.substr(n)),
                (t = i(t)),
                (o = e.search(new RegExp(t, 'i')))),
              o
            )
          }),
          (t.createRegExp = function(e, t, n) {
            if ((void 0 === n && (n = {}), !e))
              throw new Error('Cannot create regex from empty string')
            t || (e = i(e)),
              n.wholeWord &&
                (/\B/.test(e.charAt(0)) || (e = '\\b' + e),
                /\B/.test(e.charAt(e.length - 1)) || (e += '\\b'))
            var o = ''
            return (
              n.global && (o += 'g'),
              n.matchCase || (o += 'i'),
              n.multiline && (o += 'm'),
              new RegExp(e, o)
            )
          }),
          (t.regExpLeadsToEndlessLoop = function(e) {
            return (
              '^' !== e.source &&
              '^$' !== e.source &&
              '$' !== e.source &&
              e.exec('') &&
              0 === e.lastIndex
            )
          }),
          (t.canNormalize = 'function' == typeof ''.normalize)
        var f = /[^\u0000-\u0080]/,
          g = new n.BoundedMap(1e4)
        ;(t.normalizeNFC = function(e) {
          if (!t.canNormalize || !e) return e
          var n = g.get(e)
          if (n) return n
          var i
          return (i = f.test(e) ? e.normalize('NFC') : e), g.set(e, i), i
        }),
          (t.firstNonWhitespaceIndex = function(e) {
            for (var t = 0, n = e.length; t < n; t++) {
              var i = e.charCodeAt(t)
              if (32 !== i && 9 !== i) return t
            }
            return -1
          }),
          (t.getLeadingWhitespace = function(e, t, n) {
            void 0 === t && (t = 0), void 0 === n && (n = e.length)
            for (var i = t; i < n; i++) {
              var o = e.charCodeAt(i)
              if (32 !== o && 9 !== o) return e.substring(t, i)
            }
            return e.substring(t, n)
          }),
          (t.lastNonWhitespaceIndex = function(e, t) {
            void 0 === t && (t = e.length - 1)
            for (var n = t; n >= 0; n--) {
              var i = e.charCodeAt(n)
              if (32 !== i && 9 !== i) return n
            }
            return -1
          }),
          (t.compare = s),
          (t.compareIgnoreCase = function(e, t) {
            for (var n = Math.min(e.length, t.length), i = 0; i < n; i++) {
              var o = e.charCodeAt(i),
                r = t.charCodeAt(i)
              if (o !== r) {
                u(o) && (o += 32), u(r) && (r += 32)
                var l = o - r
                if (0 !== l)
                  return a(o) && a(r) ? l : s(e.toLowerCase(), t.toLowerCase())
              }
            }
            return e.length < t.length ? -1 : e.length > t.length ? 1 : 0
          }),
          (t.equalsIgnoreCase = function(e, t) {
            return (e ? e.length : 0) === (t ? t.length : 0) && c(e, t)
          }),
          (t.beginsWithIgnoreCase = function(e, t) {
            var n = t.length
            return !(t.length > e.length) && c(e, t, n)
          }),
          (t.commonPrefixLength = function(e, t) {
            var n,
              i = Math.min(e.length, t.length)
            for (n = 0; n < i; n++)
              if (e.charCodeAt(n) !== t.charCodeAt(n)) return n
            return i
          }),
          (t.commonSuffixLength = function(e, t) {
            var n,
              i = Math.min(e.length, t.length),
              o = e.length - 1,
              r = t.length - 1
            for (n = 0; n < i; n++)
              if (e.charCodeAt(o - n) !== t.charCodeAt(r - n)) return n
            return i
          }),
          (t.overlap = function(e, t) {
            var n = e.length,
              i = t.length,
              o = n - i
            if (0 === o) return e === t ? n : 0
            for (o < 0 && ((i += o), (o = 0)); o < n && i > 0; ) {
              if (d(e, o, n, t, 0, i)) return i
              ;(i -= 1), (o += 1)
            }
            return 0
          }),
          (t.isHighSurrogate = function(e) {
            return 55296 <= e && e <= 56319
          }),
          (t.isLowSurrogate = function(e) {
            return 56320 <= e && e <= 57343
          })
        var m = /(?:[\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])/
        t.containsRTL = function(e) {
          return m.test(e)
        }
        var v = /(?:[\u231A\u231B\u23F0\u23F3\u2600-\u27BF\u2B50\u2B55]|\uD83C[\uDDE6-\uDDFF\uDF00-\uDFFF]|\uD83D[\uDC00-\uDE4F\uDE80-\uDEF8]|\uD83E[\uDD00-\uDDE6])/
        t.containsEmoji = function(e) {
          return v.test(e)
        }
        var _ = /^[\t\n\r\x20-\x7E]*$/
        ;(t.isBasicASCII = function(e) {
          return _.test(e)
        }),
          (t.containsFullWidthCharacter = function(e) {
            for (var t = 0, n = e.length; t < n; t++)
              if (h(e.charCodeAt(t))) return !0
            return !1
          }),
          (t.isFullWidthCharacter = h),
          (t.difference = function(e, t, n) {
            void 0 === n && (n = 4)
            var i = Math.abs(e.length - t.length)
            if (i > n) return 0
            var o,
              r,
              s = [],
              a = []
            for (o = 0; o < t.length + 1; ++o) a.push(0)
            for (o = 0; o < e.length + 1; ++o) s.push(a)
            for (o = 1; o < e.length + 1; ++o)
              for (r = 1; r < t.length + 1; ++r)
                e[o - 1] === t[r - 1]
                  ? (s[o][r] = s[o - 1][r - 1] + 1)
                  : (s[o][r] = Math.max(s[o - 1][r], s[o][r - 1]))
            return s[e.length][t.length] - Math.sqrt(i)
          }),
          (t.computeLineStarts = function(e) {
            for (var t = /\r\n|\r|\n/g, n = [0]; t.exec(e); )
              n.push(t.lastIndex)
            return n
          }),
          (t.lcut = function(e, n) {
            if (e.length < n) return e
            for (var i = e.split(/\b/), o = 0, r = i.length - 1; r >= 0; r--)
              if ((o += i[r].length) > n) {
                i.splice(0, r)
                break
              }
            return i.join(t.empty).replace(/^\s/, t.empty)
          })
        var y = /\x1B\x5B[12]?K/g,
          b = /\x1b\[\d+m/g,
          C = /\x1b\[0?m/g
        ;(t.removeAnsiEscapeCodes = function(e) {
          return (
            e &&
              (e = (e = (e = e.replace(y, '')).replace(b, '')).replace(C, '')),
            e
          )
        }),
          (t.UTF8_BOM_CHARACTER = String.fromCharCode(65279)),
          (t.startsWithUTF8BOM = function(e) {
            return e && e.length > 0 && 65279 === e.charCodeAt(0)
          }),
          (t.appendWithLimit = function(e, t, n) {
            var i = e.length + t.length
            return (
              i > n && (e = '...' + e.substr(i - n)),
              t.length > n ? (e += t.substr(t.length - n)) : (e += t),
              e
            )
          }),
          (t.safeBtoa = function(e) {
            return btoa(encodeURIComponent(e))
          }),
          (t.repeat = function(e, t) {
            for (var n = '', i = 0; i < t; i++) n += e
            return n
          })
      }),
      define(d[488], h([0, 1, 9]), function(e, t, n) {
        'use strict'
        function i(e) {
          return e
        }
        return {
          expand: i,
          OcticonLabel: (function() {
            function e(e) {
              this._container = e
            }
            return (
              Object.defineProperty(e.prototype, 'text', {
                set: function(e) {
                  var t = e || ''
                  ;(t = i((t = n.escape(t)))), (this._container.innerHTML = t)
                },
                enumerable: !0,
                configurable: !0
              }),
              e
            )
          })()
        }
      }),
      define(d[85], h([0, 1, 9, 88]), function(e, t, n, i) {
        'use strict'
        function o() {
          for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t]
          return function(t, n) {
            for (var i = 0, o = e.length; i < o; i++) {
              var r = e[i](t, n)
              if (r) return r
            }
            return null
          }
        }
        function r(e, t, i) {
          if (!i || i.length < t.length) return null
          var o
          return (
            (o = e ? n.beginsWithIgnoreCase(i, t) : 0 === i.indexOf(t)),
            o ? (t.length > 0 ? [{ start: 0, end: t.length }] : []) : null
          )
        }
        function s(e, t) {
          var n = t.toLowerCase().indexOf(e.toLowerCase())
          return -1 === n ? null : [{ start: n, end: n + e.length }]
        }
        function a(e, t) {
          return u(e.toLowerCase(), t.toLowerCase(), 0, 0)
        }
        function u(e, t, n, i) {
          if (n === e.length) return []
          if (i === t.length) return null
          if (e[n] === t[i]) {
            var o = null
            if ((o = u(e, t, n + 1, i + 1)))
              return f({ start: i, end: i + 1 }, o)
          }
          return u(e, t, n, i + 1)
        }
        function l(e) {
          return 97 <= e && e <= 122
        }
        function c(e) {
          return 65 <= e && e <= 90
        }
        function d(e) {
          return 48 <= e && e <= 57
        }
        function h(e) {
          return 32 === e || 9 === e || 10 === e || 13 === e
        }
        function p(e) {
          return l(e) || c(e) || d(e)
        }
        function f(e, t) {
          return (
            0 === t.length
              ? (t = [e])
              : e.end === t[0].start
                ? (t[0].start = e.start)
                : t.unshift(e),
            t
          )
        }
        function g(e, t) {
          for (var n = t; n < e.length; n++) {
            var i = e.charCodeAt(n)
            if (c(i) || d(i) || (n > 0 && !p(e.charCodeAt(n - 1)))) return n
          }
          return e.length
        }
        function m(e, t, n, i) {
          if (n === e.length) return []
          if (i === t.length) return null
          if (e[n] !== t[i].toLowerCase()) return null
          var o = null,
            r = i + 1
          for (o = m(e, t, n + 1, i + 1); !o && (r = g(t, r)) < t.length; )
            (o = m(e, t, n + 1, r)), r++
          return null === o ? null : f({ start: i, end: i + 1 }, o)
        }
        function v(e) {
          for (var t = 0, n = 0, i = 0, o = 0, r = 0, s = 0; s < e.length; s++)
            c((r = e.charCodeAt(s))) && t++,
              l(r) && n++,
              p(r) && i++,
              d(r) && o++
          return {
            upperPercent: t / e.length,
            lowerPercent: n / e.length,
            alphaPercent: i / e.length,
            numericPercent: o / e.length
          }
        }
        function _(e) {
          var t = e.upperPercent
          return 0 === e.lowerPercent && t > 0.6
        }
        function y(e) {
          var t = e.upperPercent,
            n = e.lowerPercent,
            i = e.alphaPercent,
            o = e.numericPercent
          return n > 0.2 && t < 0.8 && i > 0.6 && o < 0.2
        }
        function b(e) {
          for (var t = 0, n = 0, i = 0, o = 0, r = 0; r < e.length; r++)
            c((i = e.charCodeAt(r))) && t++, l(i) && n++, h(i) && o++
          return (0 !== t && 0 !== n) || 0 !== o ? t <= 5 : e.length <= 30
        }
        function C(e, t) {
          if (!t || 0 === t.length) return null
          if (!b(e)) return null
          if (t.length > 60) return null
          var n = v(t)
          if (!y(n)) {
            if (!_(n)) return null
            t = t.toLowerCase()
          }
          for (
            var i = null, o = 0;
            o < t.length && null === (i = m(e.toLowerCase(), t, 0, o));

          )
            o = g(t, o + 1)
          return i
        }
        function w(e, t, n, i, o) {
          if (n === e.length) return []
          if (i === t.length) return null
          if (e[n] !== t[i].toLowerCase()) return null
          var r = null,
            s = i + 1
          if (((r = w(e, t, n + 1, i + 1, o)), !o))
            for (; !r && (s = S(t, s)) < t.length; )
              (r = w(e, t, n + 1, s, o)), s++
          return null === r ? null : f({ start: i, end: i + 1 }, r)
        }
        function S(e, t) {
          for (var n = t; n < e.length; n++)
            if (h(e.charCodeAt(n)) || (n > 0 && h(e.charCodeAt(n - 1))))
              return n
          return e.length
        }
        function E() {
          for (var e = [], t = [0], n = 1; n <= 100; n++) t.push(-n)
          for (n = 0; n < 100; n++) {
            var i = t.slice(0)
            ;(i[0] = -n), e.push(i)
          }
          return e
        }
        function L(e, t, n, i, o) {
          function r(e, t, n) {
            for (void 0 === n && (n = ' '); e.length < t; ) e = n + e
            return e
          }
          for (
            var s =
                ' |   |' +
                i
                  .split('')
                  .map(function(e) {
                    return r(e, 3)
                  })
                  .join('|') +
                '\n',
              a = 0;
            a <= n;
            a++
          )
            (s += 0 === a ? ' |' : t[a - 1] + '|'),
              (s +=
                e[a]
                  .slice(0, o + 1)
                  .map(function(e) {
                    return r(e.toString(), 3)
                  })
                  .join('|') + '\n')
          return s
        }
        function x(e, t, n) {
          var i = e.length > 100 ? 100 : e.length,
            o = t.length > 100 ? 100 : t.length,
            r = 0
          for (void 0 === n && (n = i); r < n && A[e[r]]; ) r += 1
          if (r === i) return [-100, []]
          if (!(i > o)) {
            for (
              var s = e.toLowerCase(), a = t.toLowerCase(), u = r, l = 0;
              u < i && l < o;

            )
              s[u] === a[l] && (u += 1), (l += 1)
            if (u === i) {
              for (u = r + 1; u <= i; u++) {
                var c = ''
                for (l = 1; l <= o; l++) {
                  var d = -1,
                    h = a[l - 1]
                  s[u - 1] === h &&
                    (d =
                      l === u - r
                        ? e[u - 1] === t[l - 1]
                          ? 7
                          : 5
                        : h !== t[l - 1]
                          ? e[u - 1] === t[l - 1]
                            ? 7
                            : 5
                          : P[c]
                            ? 5
                            : 1),
                    (D[u][l] = d)
                  var p = I[u - 1][l - 1] + (d > 1 ? 1 : d),
                    f = I[u - 1][l] + -1,
                    g = I[u][l - 1] + -1
                  g >= f
                    ? g > p
                      ? ((I[u][l] = g), (O[u][l] = 4))
                      : g === p
                        ? ((I[u][l] = g), (O[u][l] = 6))
                        : ((I[u][l] = p), (O[u][l] = 2))
                    : f > p
                      ? ((I[u][l] = f), (O[u][l] = 1))
                      : f === p
                        ? ((I[u][l] = f), (O[u][l] = 3))
                        : ((I[u][l] = p), (O[u][l] = 2)),
                    (c = h)
                }
              }
              if (
                (R &&
                  (console.log(L(I, e, i, t, o)),
                  console.log(L(O, e, i, t, o)),
                  console.log(L(D, e, i, t, o))),
                (W.length = 0),
                (B = -100),
                (V = r),
                N(i, o, 0, new H(), !1),
                0 !== W.length)
              )
                return [B, W[0].toArray()]
            }
          }
        }
        function N(e, t, n, i, o) {
          if (!(W.length >= 10 || n < -25)) {
            for (var r = 0; e > V && t > 0; ) {
              var s = D[e][t],
                a = O[e][t]
              if (4 === a)
                (t -= 1),
                  o ? (n -= 5) : i.isEmpty() || (n -= 1),
                  (o = !1),
                  (r = 0)
              else {
                if (!(2 & a)) return
                if (
                  (4 & a && N(e, t - 1, i.isEmpty() ? n : n - 1, i.slice(), o),
                  (n += s),
                  (e -= 1),
                  (t -= 1),
                  i.unshift(t),
                  (o = !0),
                  1 === s)
                ) {
                  if (((r += 1), e === V)) return
                } else (n += 1 + r * (s - 1)), (r = 0)
              }
            }
            ;(n -= t >= 3 ? 9 : 3 * t) > B ? ((B = n), W.unshift(i)) : W.push(i)
          }
        }
        function M(e, t) {
          if (!(t + 1 >= e.length))
            return e.slice(0, t) + e[t + 1] + e[t] + e.slice(t + 2)
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.or = o),
          (t.and = function() {
            for (var e = [], t = 0; t < arguments.length; t++)
              e[t] = arguments[t]
            return function(t, n) {
              for (var i = [], o = 0, r = e.length; o < r; o++) {
                var s = e[o](t, n)
                if (!s) return null
                i = i.concat(s)
              }
              return i
            }
          }),
          (t.matchesStrictPrefix = r.bind(void 0, !1)),
          (t.matchesPrefix = r.bind(void 0, !0)),
          (t.matchesContiguousSubString = s),
          (t.matchesSubString = a),
          (t.matchesCamelCase = C),
          (t.matchesWords = function(e, t, n) {
            if ((void 0 === n && (n = !1), !t || 0 === t.length)) return null
            for (
              var i = null, o = 0;
              o < t.length && null === (i = w(e.toLowerCase(), t, 0, o, n));

            )
              o = S(t, o + 1)
            return i
          })
        !(function(e) {
          ;(e[(e.Contiguous = 0)] = 'Contiguous'),
            (e[(e.Separate = 1)] = 'Separate')
        })(t.SubstringMatching || (t.SubstringMatching = {})),
          (t.fuzzyContiguousFilter = o(t.matchesPrefix, C, s))
        var T = o(t.matchesPrefix, C, a),
          k = new i.BoundedMap(1e4)
        ;(t.matchesFuzzy = function(e, i, o) {
          if (
            (void 0 === o && (o = !1),
            'string' != typeof e || 'string' != typeof i)
          )
            return null
          var r = k.get(e)
          r ||
            ((r = new RegExp(n.convertSimple2RegExpPattern(e), 'i')),
            k.set(e, r))
          var s = r.exec(i)
          return s
            ? [{ start: s.index, end: s.index + s[0].length }]
            : o
              ? T(e, i)
              : t.fuzzyContiguousFilter(e, i)
        }),
          (t.createMatches = function(e) {
            var t = []
            if (!e) return t
            for (var n, i = 0, o = e; i < o.length; i++) {
              var r = o[i]
              n && n.end === r
                ? (n.end += 1)
                : ((n = { start: r, end: r + 1 }), t.push(n))
            }
            return t
          })
        var I = E(),
          D = E(),
          O = E(),
          R = !1,
          P = Object.create(null)
        ;(P._ = !0),
          (P['-'] = !0),
          (P['.'] = !0),
          (P[' '] = !0),
          (P['/'] = !0),
          (P['\\'] = !0),
          (P["'"] = !0),
          (P['"'] = !0),
          (P[':'] = !0)
        var A = Object.create(null)
        ;(A[' '] = !0), (A['\t'] = !0)
        var F
        !(function(e) {
          ;(e[(e.Top = 1)] = 'Top'),
            (e[(e.Diag = 2)] = 'Diag'),
            (e[(e.Left = 4)] = 'Left')
        })(F || (F = {})),
          (t.fuzzyScore = x)
        var W = [],
          B = 0,
          V = 0,
          H = (function() {
            function e() {}
            return (
              (e.prototype.isEmpty = function() {
                return !this._data && (!this._parent || this._parent.isEmpty())
              }),
              (e.prototype.unshift = function(e) {
                this._data ? this._data.unshift(e) : (this._data = [e])
              }),
              (e.prototype.slice = function() {
                var t = new e()
                return (
                  (t._parent = this),
                  (t._parentLen = this._data ? this._data.length : 0),
                  t
                )
              }),
              (e.prototype.toArray = function() {
                if (!this._data) return this._parent.toArray()
                for (var e = [], t = this; t; )
                  t._parent &&
                    t._parent._data &&
                    e.push(
                      t._parent._data.slice(
                        t._parent._data.length - t._parentLen
                      )
                    ),
                    (t = t._parent)
                return Array.prototype.concat.apply(this._data, e)
              }),
              e
            )
          })()
        ;(t.nextTypoPermutation = M),
          (t.fuzzyScoreGraceful = function(e, t) {
            for (var n = x(e, t), i = 1; i < e.length - 1 && !n; i++)
              n = x(M(e, i), t)
            return n
          })
      }),
      define(d[46], h([0, 1, 15, 27, 9]), function(e, t, n, i, o) {
        'use strict'
        function r(e) {
          var t = ~e.lastIndexOf('/') || ~e.lastIndexOf('\\')
          return 0 === t
            ? e
            : ~t == e.length - 1
              ? r(e.substring(0, e.length - 1))
              : e.substr(1 + ~t)
        }
        function s(e, t) {
          return t ? !p.test(e) : !h.test(e)
        }
        function a(e, t) {
          if (null === e || void 0 === e) return e
          var i = e.length
          if (0 === i) return '.'
          var o = n.isWindows && t
          if (s(e, o)) return e
          for (
            var r = o ? '\\' : '/',
              a = l(e, r),
              c = a.length,
              d = !1,
              h = '',
              p = a.length;
            p <= i;
            p++
          )
            if (p === i || 47 === e.charCodeAt(p) || 92 === e.charCodeAt(p)) {
              if (u(e, c, p, '..')) {
                var f = h.lastIndexOf(r),
                  g = h.slice(f + 1)
                ;(a || g.length > 0) &&
                  '..' !== g &&
                  ((h = -1 === f ? '' : h.slice(0, f)), (d = !0))
              } else u(e, c, p, '.') && (a || h || p < i - 1) && (d = !0)
              if (!d) {
                var m = e.slice(c, p)
                '' !== h && h[h.length - 1] !== r && (h += r), (h += m)
              }
              ;(c = p + 1), (d = !1)
            }
          return a + h
        }
        function u(e, t, n, i) {
          return t + i.length === n && e.indexOf(i, t) === t
        }
        function l(e, t) {
          if ((void 0 === t && (t = '/'), !e)) return ''
          var n = e.length,
            i = e.charCodeAt(0)
          if (47 === i || 92 === i) {
            if (
              (47 === (i = e.charCodeAt(1)) || 92 === i) &&
              47 !== (i = e.charCodeAt(2)) &&
              92 !== i
            ) {
              for (
                var o = 3, r = o;
                o < n && (47 !== (i = e.charCodeAt(o)) && 92 !== i);
                o++
              );
              if (((i = e.charCodeAt(o + 1)), r !== o && 47 !== i && 92 !== i))
                for (o += 1; o < n; o++)
                  if (47 === (i = e.charCodeAt(o)) || 92 === i)
                    return e.slice(0, o + 1).replace(/[\\/]/g, t)
            }
            return t
          }
          if (
            ((i >= 65 && i <= 90) || (i >= 97 && i <= 122)) &&
            58 === e.charCodeAt(1)
          )
            return (
              (i = e.charCodeAt(2)),
              47 === i || 92 === i ? e.slice(0, 2) + t : e.slice(0, 2)
            )
          var s = e.indexOf('://')
          if (-1 !== s)
            for (s += 3; s < n; s++)
              if (47 === (i = e.charCodeAt(s)) || 92 === i)
                return e.slice(0, s + 1)
          return ''
        }
        function c(e) {
          if (!e) return !1
          var t = e.charCodeAt(0)
          if (47 === t || 92 === t) return !0
          if (
            ((t >= 65 && t <= 90) || (t >= 97 && t <= 122)) &&
            e.length > 2 &&
            58 === e.charCodeAt(1)
          ) {
            var n = e.charCodeAt(2)
            if (47 === n || 92 === n) return !0
          }
          return !1
        }
        function d(e) {
          return e && 47 === e.charCodeAt(0)
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.sep = '/'),
          (t.nativeSep = n.isWindows ? '\\' : '/'),
          (t.relative = function(e, r) {
            for (
              var s = o.rtrim(a(e), t.sep),
                u = o.rtrim(a(r), t.sep),
                l = n.isLinux ? s : s.toLowerCase(),
                c = n.isLinux ? u : u.toLowerCase(),
                d = l.split(t.sep),
                h = c.split(t.sep),
                p = 0,
                f = Math.min(d.length, h.length);
              p < f && d[p] === h[p];
              p++
            );
            return i
              .fill(d.length - p, function() {
                return '..'
              })
              .concat(u.split(t.sep).slice(p))
              .join(t.sep)
          }),
          (t.dirname = function(e) {
            var i = ~e.lastIndexOf('/') || ~e.lastIndexOf('\\')
            if (0 === i) return '.'
            if (0 == ~i) return e[0]
            var o = e.substring(0, ~i)
            return (
              n.isWindows && ':' === o[o.length - 1] && (o += t.nativeSep), o
            )
          }),
          (t.basename = r),
          (t.extname = function(e) {
            var t = ~(e = r(e)).lastIndexOf('.')
            return t ? e.substring(~t) : ''
          })
        var h = /(\/\.\.?\/)|(\/\.\.?)$|^(\.\.?\/)|(\/\/+)|(\\)/,
          p = /(\\\.\.?\\)|(\\\.\.?)$|^(\.\.?\\)|(\\\\+)|(\/)/
        ;(t.normalize = a),
          (t.getRoot = l),
          (t.join = function() {
            for (var e = '', n = 0; n < arguments.length; n++) {
              var i = arguments[n]
              if (n > 0) {
                var o = e.charCodeAt(e.length - 1)
                if (47 !== o && 92 !== o) {
                  var r = i.charCodeAt(0)
                  47 !== r && 92 !== r && (e += t.sep)
                }
              }
              e += i
            }
            return a(e)
          }),
          (t.isUNC = function(e) {
            if (!n.isWindows) return !1
            if (!e || e.length < 5) return !1
            var t = e.charCodeAt(0)
            if (92 !== t) return !1
            if (92 !== (t = e.charCodeAt(1))) return !1
            for (
              var i = 2, o = i;
              i < e.length && 92 !== (t = e.charCodeAt(i));
              i++
            );
            return o !== i && ((t = e.charCodeAt(i + 1)), !isNaN(t) && 92 !== t)
          })
        var f = n.isWindows ? /[\\/:\*\?"<>\|]/g : /[\\/]/g,
          g = /^(con|prn|aux|clock\$|nul|lpt[0-9]|com[0-9])$/i
        ;(t.isValidBasename = function(e) {
          return !(
            !e ||
            0 === e.length ||
            /^\s+$/.test(e) ||
            ((f.lastIndex = 0),
            f.test(e) ||
              (n.isWindows && g.test(e)) ||
              '.' === e ||
              '..' === e ||
              (n.isWindows && '.' === e[e.length - 1]) ||
              (n.isWindows && e.length !== e.trim().length))
          )
        }),
          (t.isEqual = function(e, t, n) {
            var i = e === t
            return !n || i ? i : !(!e || !t) && o.equalsIgnoreCase(e, t)
          }),
          (t.isEqualOrParent = function(e, n, i) {
            if (e === n) return !0
            if (!e || !n) return !1
            if (n.length > e.length) return !1
            if (i) {
              if (!o.beginsWithIgnoreCase(e, n)) return !1
              if (n.length === e.length) return !0
              var r = n.length
              return (
                n.charAt(n.length - 1) === t.nativeSep && r--,
                e.charAt(r) === t.nativeSep
              )
            }
            return (
              n.charAt(n.length - 1) !== t.nativeSep && (n += t.nativeSep),
              0 === e.indexOf(n)
            )
          }),
          (t.isAbsolute = function(e) {
            return n.isWindows ? c(e) : d(e)
          }),
          (t.isAbsolute_win32 = c),
          (t.isAbsolute_posix = d)
      }),
      define(d[484], h([0, 1, 499, 9, 46]), function(e, t, n, i, o) {
        'use strict'
        function r(e, t) {
          if (l) {
            var n = e || '',
              i = t || '',
              o = l.compare(n, i)
            return c && 0 === o && n !== i ? (n < i ? -1 : 1) : o
          }
          return s(e, t)
        }
        function s(e, t) {
          var n = d.exec(e.toLowerCase()),
            i = d.exec(t.toLowerCase()),
            o = n[1] || '',
            r = n[3] || '',
            s = i[1] || '',
            a = i[3] || ''
          return o !== s ? (o < s ? -1 : 1) : r === a ? 0 : r < a ? -1 : 1
        }
        function a(e, t, n) {
          var o = e.toLowerCase(),
            s = t.toLowerCase(),
            a = u(e, t, n)
          if (a) return a
          var l = i.endsWith(o, n)
          if (l !== i.endsWith(s, n)) return l ? -1 : 1
          var c = r(o, s)
          return 0 !== c ? c : o.localeCompare(s)
        }
        function u(e, t, n) {
          var o = e.toLowerCase(),
            r = t.toLowerCase(),
            s = i.startsWith(o, n),
            a = i.startsWith(r, n)
          if (s !== a) return s ? -1 : 1
          if (s && a) {
            if (o.length < r.length) return -1
            if (o.length > r.length) return 1
          }
          return 0
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var l, c
        ;(t.setFileNameComparer = function(e) {
          ;(l = e), (c = e.resolvedOptions().numeric)
        }),
          (t.compareFileNames = r)
        var d = /^([^.]*)(\.(.*))?$/
        ;(t.noIntlCompareFileNames = s),
          (t.comparePaths = function(e, t) {
            for (
              var n,
                i,
                s,
                a,
                u = e.split(o.nativeSep),
                l = t.split(o.nativeSep),
                c = u.length - 1,
                d = l.length - 1,
                h = 0;
              ;
              h++
            ) {
              if (((n = c === h), (i = d === h), n && i)) return r(u[h], l[h])
              if (n) return -1
              if (i) return 1
              if ((s = u[h].toLowerCase()) !== (a = l[h].toLowerCase()))
                return s < a ? -1 : 1
            }
          }),
          (t.compareAnything = a),
          (t.compareByPrefix = u),
          (t.compareByScore = function(e, t, i, o, r, s) {
            var l = i.getLabel(e),
              c = i.getLabel(t),
              d = u(l, c, o)
            if (d) return d
            var h = n.score(l, o, s),
              p = n.score(c, o, s)
            if (h !== p) return h > p ? -1 : 1
            var f = i.getResourcePath(e),
              g = i.getResourcePath(t)
            if (f && g) {
              var m = n.score(f, o, s),
                v = n.score(g, o, s)
              if (m !== v) return m > v ? -1 : 1
            }
            return l.length !== c.length
              ? l.length < c.length
                ? -1
                : 1
              : f && g && f.length !== g.length
                ? f.length < g.length
                  ? -1
                  : 1
                : l === c && f && g
                  ? a(f, g, r)
                  : a(l, c, r)
          })
      }),
      define(d[152], h([0, 1, 24, 15, 46, 9]), function(e, t, n, i, o, r) {
        'use strict'
        function s(e, t) {
          return (
            e &&
              (i.isMacintosh || i.isLinux) &&
              o.isEqualOrParent(e, t, !i.isLinux) &&
              (e = '~' + e.substr(t.length)),
            e
          )
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.getPathLabel = function(e, t, a) {
            if (!e) return null
            'string' == typeof e && (e = n.default.file(e))
            var u = t ? t.getRoot(e) : null
            if (u) {
              var l = t.getWorkspace2().roots.length > 1,
                c = void 0
              if (
                ((c = o.isEqual(u.fsPath, e.fsPath, !i.isLinux)
                  ? ''
                  : o.normalize(
                      r.ltrim(e.fsPath.substr(u.fsPath.length), o.nativeSep),
                      !0
                    )),
                l)
              ) {
                var d = o.basename(u.fsPath)
                c = c ? o.join(d, c) : d
              }
              return c
            }
            if (i.isWindows && e.fsPath && ':' === e.fsPath[1])
              return o.normalize(
                e.fsPath.charAt(0).toUpperCase() + e.fsPath.slice(1),
                !0
              )
            var h = o.normalize(e.fsPath, !0)
            return !i.isWindows && a && (h = s(h, a.userHome)), h
          }),
          (t.tildify = s)
        var a = '…',
          u = '\\\\'
        t.shorten = function(e) {
          for (var t = new Array(e.length), n = !1, i = 0; i < e.length; i++) {
            var s = e[i]
            if ('' !== s)
              if (s) {
                n = !0
                var l = ''
                0 === s.indexOf(u)
                  ? ((l = s.substr(0, s.indexOf(u) + u.length)),
                    (s = s.substr(s.indexOf(u) + u.length)))
                  : 0 === s.indexOf(o.nativeSep) &&
                    ((l = s.substr(
                      0,
                      s.indexOf(o.nativeSep) + o.nativeSep.length
                    )),
                    (s = s.substr(s.indexOf(o.nativeSep) + o.nativeSep.length)))
                for (
                  var c = s.split(o.nativeSep), d = 1;
                  n && d <= c.length;
                  d++
                )
                  for (var h = c.length - d; n && h >= 0; h--) {
                    n = !1
                    for (
                      var p = c.slice(h, h + d).join(o.nativeSep), f = 0;
                      !n && f < e.length;
                      f++
                    )
                      if (f !== i && e[f] && e[f].indexOf(p) > -1) {
                        var g = h + d === c.length,
                          m =
                            h > 0 && e[f].indexOf(o.nativeSep) > -1
                              ? o.nativeSep + p
                              : p,
                          v = r.endsWith(e[f], m)
                        n = !g || v
                      }
                    if (!n) {
                      var _ = ''
                      ;(r.endsWith(c[0], ':') || '' !== l) &&
                        (1 === h &&
                          ((h = 0), d++, (p = c[0] + o.nativeSep + p)),
                        h > 0 && (_ = c[0] + o.nativeSep),
                        (_ = l + _)),
                        h > 0 && (_ = _ + a + o.nativeSep),
                        (_ += p),
                        h + d < c.length && (_ = _ + o.nativeSep + a),
                        (t[i] = _)
                    }
                  }
                n && (t[i] = s)
              } else t[i] = s
            else t[i] = '.' + o.nativeSep
          }
          return t
        }
        var l
        !(function(e) {
          ;(e[(e.TEXT = 0)] = 'TEXT'),
            (e[(e.VARIABLE = 1)] = 'VARIABLE'),
            (e[(e.SEPARATOR = 2)] = 'SEPARATOR')
        })(l || (l = {})),
          (t.template = function(e, t) {
            void 0 === t && (t = Object.create(null))
            for (var n, i = [], o = !1, r = '', s = 0; s < e.length; s++)
              if ('$' === (n = e[s]) || (o && '{' === n))
                r && i.push({ value: r, type: l.TEXT }), (r = ''), (o = !0)
              else if ('}' === n && o) {
                var a = t[r]
                if ('string' == typeof a)
                  a.length && i.push({ value: a, type: l.VARIABLE })
                else if (a) {
                  var u = i[i.length - 1]
                  ;(u && u.type === l.SEPARATOR) ||
                    i.push({ value: a.label, type: l.SEPARATOR })
                }
                ;(r = ''), (o = !1)
              } else r += n
            return (
              r && !o && i.push({ value: r, type: l.TEXT }),
              i
                .filter(function(e, t) {
                  return (
                    e.type !== l.SEPARATOR ||
                    [i[t - 1], i[t + 1]].every(function(e) {
                      return e && e.type === l.VARIABLE && e.value.length > 0
                    })
                  )
                })
                .map(function(e) {
                  return e.value
                })
                .join('')
            )
          })
      }),
      (function() {
        var e = {}
        e['WinJS/Core/_WinJS'] = {}
        var t = function(t, n, i) {
          var o = {},
            r = !1,
            s = n.map(function(t) {
              return 'exports' === t ? ((r = !0), o) : e[t]
            }),
            a = i.apply({}, s)
          e[t] = r ? o : a
        }
        t('WinJS/Core/_Global', [], function() {
          'use strict'
          return 'undefined' != typeof window
            ? window
            : 'undefined' != typeof self
              ? self
              : 'undefined' != typeof global
                ? global
                : {}
        }),
          t('WinJS/Core/_BaseCoreUtils', ['WinJS/Core/_Global'], function(e) {
            'use strict'
            return {
              hasWinRT: !!e.Windows,
              markSupportedForProcessing: function(e) {
                return (e.supportedForProcessing = !0), e
              },
              _setImmediate: e.setImmediate
                ? e.setImmediate.bind(e)
                : function(t) {
                    e.setTimeout(t, 0)
                  }
            }
          }),
          t('WinJS/Core/_WriteProfilerMark', ['WinJS/Core/_Global'], function(
            e
          ) {
            'use strict'
            return e.msWriteProfilerMark || function() {}
          }),
          t(
            'WinJS/Core/_Base',
            [
              'WinJS/Core/_WinJS',
              'WinJS/Core/_Global',
              'WinJS/Core/_BaseCoreUtils',
              'WinJS/Core/_WriteProfilerMark'
            ],
            function(e, t, n, i) {
              'use strict'
              function o(e, t, n) {
                var i,
                  o,
                  r,
                  s = Object.keys(t),
                  a = Array.isArray(e)
                for (o = 0, r = s.length; o < r; o++) {
                  var u = s[o],
                    l = 95 !== u.charCodeAt(0),
                    c = t[u]
                  !c ||
                  'object' != typeof c ||
                  (void 0 === c.value &&
                    'function' != typeof c.get &&
                    'function' != typeof c.set)
                    ? l
                      ? a
                        ? e.forEach(function(e) {
                            e[u] = c
                          })
                        : (e[u] = c)
                      : ((i = i || {})[u] = {
                          value: c,
                          enumerable: l,
                          configurable: !0,
                          writable: !0
                        })
                    : (void 0 === c.enumerable && (c.enumerable = l),
                      n &&
                        c.setName &&
                        'function' == typeof c.setName &&
                        c.setName(n + '.' + u),
                      ((i = i || {})[u] = c))
                }
                i &&
                  (a
                    ? e.forEach(function(e) {
                        Object.defineProperties(e, i)
                      })
                    : Object.defineProperties(e, i))
              }
              return (
                (function() {
                  function n(n, i) {
                    var o = n || {}
                    if (i) {
                      var r = i.split('.')
                      o === t && 'WinJS' === r[0] && ((o = e), r.splice(0, 1))
                      for (var s = 0, a = r.length; s < a; s++) {
                        var u = r[s]
                        o[u] ||
                          Object.defineProperty(o, u, {
                            value: {},
                            writable: !1,
                            enumerable: !0,
                            configurable: !0
                          }),
                          (o = o[u])
                      }
                    }
                    return o
                  }
                  function r(e, t, i) {
                    var r = n(e, t)
                    return i && o(r, i, t || '<ANONYMOUS>'), r
                  }
                  var s = e
                  s.Namespace || (s.Namespace = Object.create(Object.prototype))
                  var a = { uninitialized: 1, working: 2, initialized: 3 }
                  Object.defineProperties(s.Namespace, {
                    defineWithParent: {
                      value: r,
                      writable: !0,
                      enumerable: !0,
                      configurable: !0
                    },
                    define: {
                      value: function(e, n) {
                        return r(t, e, n)
                      },
                      writable: !0,
                      enumerable: !0,
                      configurable: !0
                    },
                    _lazy: {
                      value: function(e) {
                        var t,
                          n,
                          o = a.uninitialized
                        return {
                          setName: function(e) {
                            t = e
                          },
                          get: function() {
                            switch (o) {
                              case a.initialized:
                                return n
                              case a.uninitialized:
                                o = a.working
                                try {
                                  i('WinJS.Namespace._lazy:' + t + ',StartTM'),
                                    (n = e())
                                } finally {
                                  i('WinJS.Namespace._lazy:' + t + ',StopTM'),
                                    (o = a.uninitialized)
                                }
                                return (e = null), (o = a.initialized), n
                              case a.working:
                                throw 'Illegal: reentrancy on initialization'
                              default:
                                throw 'Illegal'
                            }
                          },
                          set: function(e) {
                            switch (o) {
                              case a.working:
                                throw 'Illegal: reentrancy on initialization'
                              default:
                                ;(o = a.initialized), (n = e)
                            }
                          },
                          enumerable: !0,
                          configurable: !0
                        }
                      },
                      writable: !0,
                      enumerable: !0,
                      configurable: !0
                    },
                    _moduleDefine: {
                      value: function(e, i, r) {
                        var s = [e],
                          a = null
                        return (
                          i && ((a = n(t, i)), s.push(a)),
                          o(s, r, i || '<ANONYMOUS>'),
                          a
                        )
                      },
                      writable: !0,
                      enumerable: !0,
                      configurable: !0
                    }
                  })
                })(),
                (function() {
                  function t(e, t, i) {
                    return (
                      (e = e || function() {}),
                      n.markSupportedForProcessing(e),
                      t && o(e.prototype, t),
                      i && o(e, i),
                      e
                    )
                  }
                  e.Namespace.define('WinJS.Class', {
                    define: t,
                    derive: function(e, i, r, s) {
                      if (e) {
                        i = i || function() {}
                        var a = e.prototype
                        return (
                          (i.prototype = Object.create(a)),
                          n.markSupportedForProcessing(i),
                          Object.defineProperty(i.prototype, 'constructor', {
                            value: i,
                            writable: !0,
                            configurable: !0,
                            enumerable: !0
                          }),
                          r && o(i.prototype, r),
                          s && o(i, s),
                          i
                        )
                      }
                      return t(i, r, s)
                    },
                    mix: function(e) {
                      e = e || function() {}
                      var t, n
                      for (t = 1, n = arguments.length; t < n; t++)
                        o(e.prototype, arguments[t])
                      return e
                    }
                  })
                })(),
                { Namespace: e.Namespace, Class: e.Class }
              )
            }
          ),
          t('WinJS/Core/_ErrorFromName', ['WinJS/Core/_Base'], function(e) {
            'use strict'
            var t = e.Class.derive(
              Error,
              function(e, t) {
                ;(this.name = e), (this.message = t || e)
              },
              {},
              { supportedForProcessing: !1 }
            )
            return e.Namespace.define('WinJS', { ErrorFromName: t }), t
          }),
          t('WinJS/Core/_Events', ['exports', 'WinJS/Core/_Base'], function(
            e,
            t
          ) {
            'use strict'
            function n(e) {
              var t = '_on' + e + 'state'
              return {
                get: function() {
                  var e = this[t]
                  return e && e.userHandler
                },
                set: function(n) {
                  var i = this[t]
                  n
                    ? (i ||
                        ((i = {
                          wrapper: function(e) {
                            return i.userHandler(e)
                          },
                          userHandler: n
                        }),
                        Object.defineProperty(this, t, {
                          value: i,
                          enumerable: !1,
                          writable: !0,
                          configurable: !0
                        }),
                        this.addEventListener(e, i.wrapper, !1)),
                      (i.userHandler = n))
                    : i &&
                      (this.removeEventListener(e, i.wrapper, !1),
                      (this[t] = null))
                },
                enumerable: !0
              }
            }
            var i = t.Class.define(
                function(e, t, n) {
                  ;(this.detail = t),
                    (this.target = n),
                    (this.timeStamp = Date.now()),
                    (this.type = e)
                },
                {
                  bubbles: { value: !1, writable: !1 },
                  cancelable: { value: !1, writable: !1 },
                  currentTarget: {
                    get: function() {
                      return this.target
                    }
                  },
                  defaultPrevented: {
                    get: function() {
                      return this._preventDefaultCalled
                    }
                  },
                  trusted: { value: !1, writable: !1 },
                  eventPhase: { value: 0, writable: !1 },
                  target: null,
                  timeStamp: null,
                  type: null,
                  preventDefault: function() {
                    this._preventDefaultCalled = !0
                  },
                  stopImmediatePropagation: function() {
                    this._stopImmediatePropagationCalled = !0
                  },
                  stopPropagation: function() {}
                },
                { supportedForProcessing: !1 }
              ),
              o = {
                _listeners: null,
                addEventListener: function(e, t, n) {
                  ;(n = n || !1), (this._listeners = this._listeners || {})
                  for (
                    var i = (this._listeners[e] = this._listeners[e] || []),
                      o = 0,
                      r = i.length;
                    o < r;
                    o++
                  ) {
                    var s = i[o]
                    if (s.useCapture === n && s.listener === t) return
                  }
                  i.push({ listener: t, useCapture: n })
                },
                dispatchEvent: function(e, t) {
                  var n = this._listeners && this._listeners[e]
                  if (n) {
                    for (
                      var o = new i(e, t, this),
                        r = 0,
                        s = (n = n.slice(0, n.length)).length;
                      r < s && !o._stopImmediatePropagationCalled;
                      r++
                    )
                      n[r].listener(o)
                    return o.defaultPrevented || !1
                  }
                  return !1
                },
                removeEventListener: function(e, t, n) {
                  n = n || !1
                  var i = this._listeners && this._listeners[e]
                  if (i)
                    for (var o = 0, r = i.length; o < r; o++) {
                      var s = i[o]
                      if (s.listener === t && s.useCapture === n) {
                        i.splice(o, 1),
                          0 === i.length && delete this._listeners[e]
                        break
                      }
                    }
                }
              }
            t.Namespace._moduleDefine(e, 'WinJS.Utilities', {
              _createEventProperty: n,
              createEventProperties: function() {
                for (var e = {}, t = 0, i = arguments.length; t < i; t++) {
                  var o = arguments[t]
                  e['on' + o] = n(o)
                }
                return e
              },
              eventMixin: o
            })
          }),
          t('WinJS/Core/_Trace', ['WinJS/Core/_Global'], function(e) {
            'use strict'
            function t(e) {
              return e
            }
            return {
              _traceAsyncOperationStarting:
                (e.Debug &&
                  e.Debug.msTraceAsyncOperationStarting &&
                  e.Debug.msTraceAsyncOperationStarting.bind(e.Debug)) ||
                t,
              _traceAsyncOperationCompleted:
                (e.Debug &&
                  e.Debug.msTraceAsyncOperationCompleted &&
                  e.Debug.msTraceAsyncOperationCompleted.bind(e.Debug)) ||
                t,
              _traceAsyncCallbackStarting:
                (e.Debug &&
                  e.Debug.msTraceAsyncCallbackStarting &&
                  e.Debug.msTraceAsyncCallbackStarting.bind(e.Debug)) ||
                t,
              _traceAsyncCallbackCompleted:
                (e.Debug &&
                  e.Debug.msTraceAsyncCallbackCompleted &&
                  e.Debug.msTraceAsyncCallbackCompleted.bind(e.Debug)) ||
                t
            }
          }),
          t(
            'WinJS/Promise/_StateMachine',
            [
              'WinJS/Core/_Global',
              'WinJS/Core/_BaseCoreUtils',
              'WinJS/Core/_Base',
              'WinJS/Core/_ErrorFromName',
              'WinJS/Core/_Events',
              'WinJS/Core/_Trace'
            ],
            function(e, t, n, i, o, r) {
              'use strict'
              function s() {}
              function a(e, t) {
                var n
                ;(n =
                  t && 'object' == typeof t && 'function' == typeof t.then
                    ? O
                    : F),
                  (e._value = t),
                  e._setState(n)
              }
              function u(e, t, n, i, o, r) {
                return {
                  exception: e,
                  error: t,
                  promise: n,
                  handler: r,
                  id: i,
                  parent: o
                }
              }
              function l(e, t, n, i) {
                var o = n._isException,
                  r = n._errorId
                return u(o ? t : null, o ? null : t, e, r, n, i)
              }
              function c(e, t, n) {
                var i = n._isException,
                  o = n._errorId
                return b(e, o, i), u(i ? t : null, i ? null : t, e, o, n)
              }
              function d(e, t) {
                var n = ++H
                return b(e, n), u(null, t, e, n)
              }
              function h(e, t) {
                var n = ++H
                return b(e, n, !0), u(t, null, e, n)
              }
              function p(e, t, n, i) {
                y(e, {
                  c: t,
                  e: n,
                  p: i,
                  asyncOpID: r._traceAsyncOperationStarting(
                    'WinJS.Promise.done'
                  )
                })
              }
              function f(e, t, n, i) {
                ;(e._value = t), v(e, t, n, i), e._setState(B)
              }
              function g(t, n) {
                var i = t._value,
                  o = t._listeners
                if (o) {
                  t._listeners = null
                  var s, a
                  for (s = 0, a = Array.isArray(o) ? o.length : 1; s < a; s++) {
                    var u = 1 === a ? o : o[s],
                      l = u.c,
                      c = u.promise
                    if (
                      (r._traceAsyncOperationCompleted(
                        u.asyncOpID,
                        e.Debug && e.Debug.MS_ASYNC_OP_STATUS_SUCCESS
                      ),
                      c)
                    ) {
                      r._traceAsyncCallbackStarting(u.asyncOpID)
                      try {
                        c._setCompleteValue(l ? l(i) : i)
                      } catch (e) {
                        c._setExceptionValue(e)
                      } finally {
                        r._traceAsyncCallbackCompleted()
                      }
                      c._state !== O && c._listeners && n.push(c)
                    } else G.prototype.done.call(t, l)
                  }
                }
              }
              function m(t, n) {
                var i = t._value,
                  o = t._listeners
                if (o) {
                  t._listeners = null
                  var s, a
                  for (s = 0, a = Array.isArray(o) ? o.length : 1; s < a; s++) {
                    var u = 1 === a ? o : o[s],
                      c = u.e,
                      d = u.promise,
                      h =
                        e.Debug &&
                        (i && i.name === M
                          ? e.Debug.MS_ASYNC_OP_STATUS_CANCELED
                          : e.Debug.MS_ASYNC_OP_STATUS_ERROR)
                    if ((r._traceAsyncOperationCompleted(u.asyncOpID, h), d)) {
                      var p = !1
                      try {
                        c
                          ? (r._traceAsyncCallbackStarting(u.asyncOpID),
                            (p = !0),
                            c.handlesOnError || v(d, i, l, t, c),
                            d._setCompleteValue(c(i)))
                          : d._setChainedErrorValue(i, t)
                      } catch (e) {
                        d._setExceptionValue(e)
                      } finally {
                        p && r._traceAsyncCallbackCompleted()
                      }
                      d._state !== O && d._listeners && n.push(d)
                    } else j.prototype.done.call(t, null, c)
                  }
                }
              }
              function v(e, t, n, i, o) {
                if (x._listeners[N]) {
                  if (t instanceof Error && t.message === M) return
                  x.dispatchEvent(N, n(e, t, i, o))
                }
              }
              function _(e, t) {
                var n = e._listeners
                if (n) {
                  var i, o
                  for (i = 0, o = Array.isArray(n) ? n.length : 1; i < o; i++) {
                    var r = 1 === o ? n : n[i],
                      s = r.p
                    if (s)
                      try {
                        s(t)
                      } catch (e) {}
                    r.c || r.e || !r.promise || r.promise._progress(t)
                  }
                }
              }
              function y(e, t) {
                var n = e._listeners
                n ? (n = Array.isArray(n) ? n : [n]).push(t) : (n = t),
                  (e._listeners = n)
              }
              function b(e, t, n) {
                ;(e._isException = n || !1), (e._errorId = t)
              }
              function C(e, t, n, i) {
                ;(e._value = t), v(e, t, n, i), e._setState(V)
              }
              function w(e, t) {
                var n
                ;(n =
                  t && 'object' == typeof t && 'function' == typeof t.then
                    ? O
                    : W),
                  (e._value = t),
                  e._setState(n)
              }
              function S(e, t, n, i) {
                var o = new U(e)
                return (
                  y(e, {
                    promise: o,
                    c: t,
                    e: n,
                    p: i,
                    asyncOpID: r._traceAsyncOperationStarting(
                      'WinJS.Promise.then'
                    )
                  }),
                  o
                )
              }
              function E(n) {
                var i
                return new Y(
                  function(o) {
                    n ? (i = e.setTimeout(o, n)) : t._setImmediate(o)
                  },
                  function() {
                    i && e.clearTimeout(i)
                  }
                )
              }
              function L(e, t) {
                var n = function() {
                  e.cancel()
                }
                return (
                  e.then(function() {
                    t.cancel()
                  }),
                  t.then(n, n),
                  t
                )
              }
              e.Debug && (e.Debug.setNonUserCodeExceptions = !0)
              var x = new (n.Class.mix(
                n.Class.define(null, {}, { supportedForProcessing: !1 }),
                o.eventMixin
              ))()
              x._listeners = {}
              var N = 'error',
                M = 'Canceled',
                T = !1,
                k = {
                  promise: 1,
                  thenPromise: 2,
                  errorPromise: 4,
                  exceptionPromise: 8,
                  completePromise: 16
                }
              k.all =
                k.promise |
                k.thenPromise |
                k.errorPromise |
                k.exceptionPromise |
                k.completePromise
              var I,
                D,
                O,
                R,
                P,
                A,
                F,
                W,
                B,
                V,
                H = 1
              ;(I = {
                name: 'created',
                enter: function(e) {
                  e._setState(D)
                },
                cancel: s,
                done: s,
                then: s,
                _completed: s,
                _error: s,
                _notify: s,
                _progress: s,
                _setCompleteValue: s,
                _setErrorValue: s
              }),
                (D = {
                  name: 'working',
                  enter: s,
                  cancel: function(e) {
                    e._setState(P)
                  },
                  done: p,
                  then: S,
                  _completed: a,
                  _error: f,
                  _notify: s,
                  _progress: _,
                  _setCompleteValue: w,
                  _setErrorValue: C
                }),
                (O = {
                  name: 'waiting',
                  enter: function(e) {
                    var t = e._value
                    if (t instanceof U && t._state !== V && t._state !== W)
                      y(t, { promise: e })
                    else {
                      var n = function(i) {
                        t._errorId
                          ? e._chainedError(i, t)
                          : (v(e, i, l, t, n), e._error(i))
                      }
                      ;(n.handlesOnError = !0),
                        t.then(e._completed.bind(e), n, e._progress.bind(e))
                    }
                  },
                  cancel: function(e) {
                    e._setState(R)
                  },
                  done: p,
                  then: S,
                  _completed: a,
                  _error: f,
                  _notify: s,
                  _progress: _,
                  _setCompleteValue: w,
                  _setErrorValue: C
                }),
                (R = {
                  name: 'waiting_canceled',
                  enter: function(e) {
                    e._setState(A)
                    var t = e._value
                    t.cancel && t.cancel()
                  },
                  cancel: s,
                  done: p,
                  then: S,
                  _completed: a,
                  _error: f,
                  _notify: s,
                  _progress: _,
                  _setCompleteValue: w,
                  _setErrorValue: C
                }),
                (P = {
                  name: 'canceled',
                  enter: function(e) {
                    e._setState(A), e._cancelAction()
                  },
                  cancel: s,
                  done: p,
                  then: S,
                  _completed: a,
                  _error: f,
                  _notify: s,
                  _progress: _,
                  _setCompleteValue: w,
                  _setErrorValue: C
                }),
                (A = {
                  name: 'canceling',
                  enter: function(e) {
                    var t = new Error(M)
                    ;(t.name = t.message), (e._value = t), e._setState(B)
                  },
                  cancel: s,
                  done: s,
                  then: s,
                  _completed: s,
                  _error: s,
                  _notify: s,
                  _progress: s,
                  _setCompleteValue: s,
                  _setErrorValue: s
                }),
                (F = {
                  name: 'complete_notify',
                  enter: function(e) {
                    if (
                      ((e.done = G.prototype.done),
                      (e.then = G.prototype.then),
                      e._listeners)
                    )
                      for (var t, n = [e]; n.length; )
                        (t = n.shift())._state._notify(t, n)
                    e._setState(W)
                  },
                  cancel: s,
                  done: null,
                  then: null,
                  _completed: s,
                  _error: s,
                  _notify: g,
                  _progress: s,
                  _setCompleteValue: s,
                  _setErrorValue: s
                }),
                (W = {
                  name: 'success',
                  enter: function(e) {
                    ;(e.done = G.prototype.done),
                      (e.then = G.prototype.then),
                      e._cleanupAction()
                  },
                  cancel: s,
                  done: null,
                  then: null,
                  _completed: s,
                  _error: s,
                  _notify: g,
                  _progress: s,
                  _setCompleteValue: s,
                  _setErrorValue: s
                }),
                (B = {
                  name: 'error_notify',
                  enter: function(e) {
                    if (
                      ((e.done = j.prototype.done),
                      (e.then = j.prototype.then),
                      e._listeners)
                    )
                      for (var t, n = [e]; n.length; )
                        (t = n.shift())._state._notify(t, n)
                    e._setState(V)
                  },
                  cancel: s,
                  done: null,
                  then: null,
                  _completed: s,
                  _error: s,
                  _notify: m,
                  _progress: s,
                  _setCompleteValue: s,
                  _setErrorValue: s
                }),
                (V = {
                  name: 'error',
                  enter: function(e) {
                    ;(e.done = j.prototype.done),
                      (e.then = j.prototype.then),
                      e._cleanupAction()
                  },
                  cancel: s,
                  done: null,
                  then: null,
                  _completed: s,
                  _error: s,
                  _notify: m,
                  _progress: s,
                  _setCompleteValue: s,
                  _setErrorValue: s
                })
              var z,
                K = n.Class.define(
                  null,
                  {
                    _listeners: null,
                    _nextState: null,
                    _state: null,
                    _value: null,
                    cancel: function() {
                      this._state.cancel(this), this._run()
                    },
                    done: function(e, t, n) {
                      this._state.done(this, e, t, n)
                    },
                    then: function(e, t, n) {
                      return this._state.then(this, e, t, n)
                    },
                    _chainedError: function(e, t) {
                      var n = this._state._error(this, e, c, t)
                      return this._run(), n
                    },
                    _completed: function(e) {
                      var t = this._state._completed(this, e)
                      return this._run(), t
                    },
                    _error: function(e) {
                      var t = this._state._error(this, e, d)
                      return this._run(), t
                    },
                    _progress: function(e) {
                      this._state._progress(this, e)
                    },
                    _setState: function(e) {
                      this._nextState = e
                    },
                    _setCompleteValue: function(e) {
                      this._state._setCompleteValue(this, e), this._run()
                    },
                    _setChainedErrorValue: function(e, t) {
                      var n = this._state._setErrorValue(this, e, c, t)
                      return this._run(), n
                    },
                    _setExceptionValue: function(e) {
                      var t = this._state._setErrorValue(this, e, h)
                      return this._run(), t
                    },
                    _run: function() {
                      for (; this._nextState; )
                        (this._state = this._nextState),
                          (this._nextState = null),
                          this._state.enter(this)
                    }
                  },
                  { supportedForProcessing: !1 }
                ),
                U = n.Class.derive(
                  K,
                  function(e) {
                    T &&
                      (!0 === T || T & k.thenPromise) &&
                      (this._stack = Y._getStack()),
                      (this._creator = e),
                      this._setState(I),
                      this._run()
                  },
                  {
                    _creator: null,
                    _cancelAction: function() {
                      this._creator && this._creator.cancel()
                    },
                    _cleanupAction: function() {
                      this._creator = null
                    }
                  },
                  { supportedForProcessing: !1 }
                ),
                j = n.Class.define(
                  function(e) {
                    T &&
                      (!0 === T || T & k.errorPromise) &&
                      (this._stack = Y._getStack()),
                      (this._value = e),
                      v(this, e, d)
                  },
                  {
                    cancel: function() {},
                    done: function(e, t) {
                      var n = this._value
                      if (t)
                        try {
                          t.handlesOnError || v(null, n, l, this, t)
                          var i = t(n)
                          return void (
                            i &&
                            'object' == typeof i &&
                            'function' == typeof i.done &&
                            i.done()
                          )
                        } catch (e) {
                          n = e
                        }
                      ;(n instanceof Error && n.message === M) ||
                        Y._doneHandler(n)
                    },
                    then: function(e, t) {
                      if (!t) return this
                      var n,
                        i = this._value
                      try {
                        t.handlesOnError || v(null, i, l, this, t),
                          (n = new G(t(i)))
                      } catch (e) {
                        n = e === i ? this : new q(e)
                      }
                      return n
                    }
                  },
                  { supportedForProcessing: !1 }
                ),
                q = n.Class.derive(
                  j,
                  function(e) {
                    T &&
                      (!0 === T || T & k.exceptionPromise) &&
                      (this._stack = Y._getStack()),
                      (this._value = e),
                      v(this, e, h)
                  },
                  {},
                  { supportedForProcessing: !1 }
                ),
                G = n.Class.define(
                  function(e) {
                    if (
                      (T &&
                        (!0 === T || T & k.completePromise) &&
                        (this._stack = Y._getStack()),
                      e && 'object' == typeof e && 'function' == typeof e.then)
                    ) {
                      var t = new U(null)
                      return t._setCompleteValue(e), t
                    }
                    this._value = e
                  },
                  {
                    cancel: function() {},
                    done: function(e) {
                      if (e)
                        try {
                          var t = e(this._value)
                          t &&
                            'object' == typeof t &&
                            'function' == typeof t.done &&
                            t.done()
                        } catch (e) {
                          Y._doneHandler(e)
                        }
                    },
                    then: function(e) {
                      try {
                        var t = e ? e(this._value) : this._value
                        return t === this._value ? this : new G(t)
                      } catch (e) {
                        return new q(e)
                      }
                    }
                  },
                  { supportedForProcessing: !1 }
                ),
                Y = n.Class.derive(
                  K,
                  function(e, t) {
                    T &&
                      (!0 === T || T & k.promise) &&
                      (this._stack = Y._getStack()),
                      (this._oncancel = t),
                      this._setState(I),
                      this._run()
                    try {
                      e(
                        this._completed.bind(this),
                        this._error.bind(this),
                        this._progress.bind(this)
                      )
                    } catch (e) {
                      this._setExceptionValue(e)
                    }
                  },
                  {
                    _oncancel: null,
                    _cancelAction: function() {
                      try {
                        if (!this._oncancel)
                          throw new Error('Promise did not implement oncancel')
                        this._oncancel()
                      } catch (e) {
                        e.message, e.stack
                        x.dispatchEvent('error', e)
                      }
                    },
                    _cleanupAction: function() {
                      this._oncancel = null
                    }
                  },
                  {
                    addEventListener: function(e, t, n) {
                      x.addEventListener(e, t, n)
                    },
                    any: function(e) {
                      return new Y(
                        function(t, n) {
                          var i = Object.keys(e)
                          0 === i.length && t()
                          var o = 0
                          i.forEach(function(r) {
                            Y.as(e[r]).then(
                              function() {
                                t({ key: r, value: e[r] })
                              },
                              function(s) {
                                s instanceof Error && s.name === M
                                  ? ++o === i.length && t(Y.cancel)
                                  : n({ key: r, value: e[r] })
                              }
                            )
                          })
                        },
                        function() {
                          Object.keys(e).forEach(function(t) {
                            var n = Y.as(e[t])
                            'function' == typeof n.cancel && n.cancel()
                          })
                        }
                      )
                    },
                    as: function(e) {
                      return e &&
                        'object' == typeof e &&
                        'function' == typeof e.then
                        ? e
                        : new G(e)
                    },
                    cancel: {
                      get: function() {
                        return (z = z || new j(new i(M)))
                      }
                    },
                    dispatchEvent: function(e, t) {
                      return x.dispatchEvent(e, t)
                    },
                    is: function(e) {
                      return (
                        e && 'object' == typeof e && 'function' == typeof e.then
                      )
                    },
                    join: function(e) {
                      return new Y(
                        function(t, n, i) {
                          var o = Object.keys(e),
                            r = Array.isArray(e) ? [] : {},
                            s = Array.isArray(e) ? [] : {},
                            a = 0,
                            u = o.length,
                            l = function(e) {
                              if (0 == --u) {
                                var a = Object.keys(r).length
                                if (0 === a) t(s)
                                else {
                                  var l = 0
                                  o.forEach(function(e) {
                                    var t = r[e]
                                    t instanceof Error && t.name === M && l++
                                  }),
                                    l === a ? t(Y.cancel) : n(r)
                                }
                              } else i({ Key: e, Done: !0 })
                            }
                          o.forEach(function(t) {
                            var n = e[t]
                            void 0 === n
                              ? a++
                              : Y.then(
                                  n,
                                  function(e) {
                                    ;(s[t] = e), l(t)
                                  },
                                  function(e) {
                                    ;(r[t] = e), l(t)
                                  }
                                )
                          }),
                            0 !== (u -= a) || t(s)
                        },
                        function() {
                          Object.keys(e).forEach(function(t) {
                            var n = Y.as(e[t])
                            'function' == typeof n.cancel && n.cancel()
                          })
                        }
                      )
                    },
                    removeEventListener: function(e, t, n) {
                      x.removeEventListener(e, t, n)
                    },
                    supportedForProcessing: !1,
                    then: function(e, t, n, i) {
                      return Y.as(e).then(t, n, i)
                    },
                    thenEach: function(e, t, n, i) {
                      var o = Array.isArray(e) ? [] : {}
                      return (
                        Object.keys(e).forEach(function(r) {
                          o[r] = Y.as(e[r]).then(t, n, i)
                        }),
                        Y.join(o)
                      )
                    },
                    timeout: function(e, t) {
                      var n = E(e)
                      return t ? L(n, t) : n
                    },
                    wrap: function(e) {
                      return new G(e)
                    },
                    wrapError: function(e) {
                      return new j(e)
                    },
                    _veryExpensiveTagWithStack: {
                      get: function() {
                        return T
                      },
                      set: function(e) {
                        T = e
                      }
                    },
                    _veryExpensiveTagWithStack_tag: k,
                    _getStack: function() {
                      if (e.Debug && e.Debug.debuggerEnabled)
                        try {
                          throw new Error()
                        } catch (e) {
                          return e.stack
                        }
                    },
                    _cancelBlocker: function(e, t) {
                      if (!Y.is(e)) return Y.wrap(e)
                      var n,
                        i,
                        o = new Y(
                          function(e, t) {
                            ;(n = e), (i = t)
                          },
                          function() {
                            ;(n = null), (i = null), t && t()
                          }
                        )
                      return (
                        e.then(
                          function(e) {
                            n && n(e)
                          },
                          function(e) {
                            i && i(e)
                          }
                        ),
                        o
                      )
                    }
                  }
                )
              return (
                Object.defineProperties(Y, o.createEventProperties(N)),
                (Y._doneHandler = function(e) {
                  t._setImmediate(function() {
                    throw e
                  })
                }),
                { PromiseStateMachine: K, Promise: Y, state_created: I }
              )
            }
          ),
          t(
            'WinJS/Promise',
            ['WinJS/Core/_Base', 'WinJS/Promise/_StateMachine'],
            function(e, t) {
              'use strict'
              return (
                e.Namespace.define('WinJS', { Promise: t.Promise }), t.Promise
              )
            }
          )
        var n = e['WinJS/Core/_WinJS']
        'undefined' == typeof exports &&
        'function' == typeof define &&
        define.amd
          ? define('vs/base/common/winjs.base.raw', n)
          : (module.exports = n),
          'undefined' != typeof process &&
            'function' == typeof process.nextTick &&
            (e['WinJS/Core/_BaseCoreUtils']._setImmediate = function(e) {
              return process.nextTick(e)
            })
      })(),
      define(d[8], h([539]), function(e) {
        'use strict'
        return { Promise: e.Promise, TPromise: e.Promise, PPromise: e.Promise }
      }),
      define(d[10], h([0, 1, 15, 29, 8]), function(e, t, n, i, o) {
        'use strict'
        function r(e) {
          s(e) || t.errorHandler.onUnexpectedError(e)
        }
        function s(e) {
          return e instanceof Error && e.name === l && e.message === l
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = {}
        o.TPromise.addEventListener('error', function(e) {
          var t = e.detail,
            n = t.id
          t.parent
            ? t.handler && a && delete a[n]
            : ((a[n] = t),
              1 === Object.keys(a).length &&
                setTimeout(function() {
                  var e = a
                  ;(a = {}),
                    Object.keys(e).forEach(function(t) {
                      var n = e[t]
                      n.exception ? r(n.exception) : n.error && r(n.error),
                        console.log(
                          'WARNING: Promise with no error callback:' + n.id
                        ),
                        console.log(n),
                        n.exception && console.log(n.exception.stack)
                    })
                }, 0))
        })
        var u = (function() {
          function e() {
            ;(this.listeners = []),
              (this.unexpectedErrorHandler = function(e) {
                n.setTimeout(function() {
                  if (e.stack) throw new Error(e.message + '\n\n' + e.stack)
                  throw e
                }, 0)
              })
          }
          return (
            (e.prototype.addListener = function(e) {
              var t = this
              return (
                this.listeners.push(e),
                function() {
                  t._removeListener(e)
                }
              )
            }),
            (e.prototype.emit = function(e) {
              this.listeners.forEach(function(t) {
                t(e)
              })
            }),
            (e.prototype._removeListener = function(e) {
              this.listeners.splice(this.listeners.indexOf(e), 1)
            }),
            (e.prototype.setUnexpectedErrorHandler = function(e) {
              this.unexpectedErrorHandler = e
            }),
            (e.prototype.getUnexpectedErrorHandler = function() {
              return this.unexpectedErrorHandler
            }),
            (e.prototype.onUnexpectedError = function(e) {
              this.unexpectedErrorHandler(e), this.emit(e)
            }),
            (e.prototype.onUnexpectedExternalError = function(e) {
              this.unexpectedErrorHandler(e)
            }),
            e
          )
        })()
        ;(t.ErrorHandler = u),
          (t.errorHandler = new u()),
          (t.setUnexpectedErrorHandler = function(e) {
            t.errorHandler.setUnexpectedErrorHandler(e)
          }),
          (t.onUnexpectedError = r),
          (t.onUnexpectedExternalError = function(e) {
            s(e) || t.errorHandler.onUnexpectedExternalError(e)
          }),
          (t.onUnexpectedPromiseError = function(e) {
            return e.then(null, r)
          }),
          (t.transformErrorForSerialization = function(e) {
            return e instanceof Error
              ? {
                  $isError: !0,
                  name: e.name,
                  message: e.message,
                  stack: e.stacktrace || e.stack
                }
              : e
          })
        var l = 'Canceled'
        ;(t.isPromiseCanceledError = s),
          (t.canceled = function() {
            var e = new Error(l)
            return (e.name = e.message), e
          }),
          (t.notImplemented = function() {
            return new Error('Not Implemented')
          }),
          (t.illegalArgument = function(e) {
            return e
              ? new Error('Illegal argument: ' + e)
              : new Error('Illegal argument')
          }),
          (t.illegalState = function(e) {
            return e
              ? new Error('Illegal state: ' + e)
              : new Error('Illegal state')
          }),
          (t.readonly = function(e) {
            return e
              ? new Error("readonly property '" + e + " cannot be changed'")
              : new Error('readonly property cannot be changed')
          }),
          (t.create = function(e, t) {
            void 0 === t && (t = {})
            var n = new Error(e)
            return (
              i.isNumber(t.severity) && (n.severity = t.severity),
              t.actions && (n.actions = t.actions),
              n
            )
          }),
          (t.getErrorMessage = function(e) {
            return e
              ? e.message
                ? e.message
                : e.stack
                  ? e.stack.split('\n')[0]
                  : String(e)
              : 'Error'
          })
      }),
      define(d[475], h([0, 1, 10]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e() {}
          return (
            (e.prototype.add = function(e, t, n) {
              var i = this
              void 0 === t && (t = null),
                this._callbacks ||
                  ((this._callbacks = []), (this._contexts = [])),
                this._callbacks.push(e),
                this._contexts.push(t),
                Array.isArray(n) &&
                  n.push({
                    dispose: function() {
                      return i.remove(e, t)
                    }
                  })
            }),
            (e.prototype.remove = function(e, t) {
              if ((void 0 === t && (t = null), this._callbacks)) {
                for (var n = !1, i = 0, o = this._callbacks.length; i < o; i++)
                  if (this._callbacks[i] === e) {
                    if (this._contexts[i] === t)
                      return (
                        this._callbacks.splice(i, 1),
                        void this._contexts.splice(i, 1)
                      )
                    n = !0
                  }
                if (n)
                  throw new Error(
                    'When adding a listener with a context, you should remove it with the same context'
                  )
              }
            }),
            (e.prototype.invoke = function() {
              for (var e = [], t = 0; t < arguments.length; t++)
                e[t] = arguments[t]
              if (this._callbacks) {
                for (
                  var i = [],
                    o = this._callbacks.slice(0),
                    r = this._contexts.slice(0),
                    s = 0,
                    a = o.length;
                  s < a;
                  s++
                )
                  try {
                    i.push(o[s].apply(r[s], e))
                  } catch (e) {
                    n.onUnexpectedError(e)
                  }
                return i
              }
            }),
            (e.prototype.isEmpty = function() {
              return !this._callbacks || 0 === this._callbacks.length
            }),
            (e.prototype.entries = function() {
              var e = this
              return this._callbacks
                ? this._callbacks.map(function(t, n) {
                    return [t, e._contexts[n]]
                  })
                : []
            }),
            (e.prototype.dispose = function() {
              ;(this._callbacks = void 0), (this._contexts = void 0)
            }),
            e
          )
        })()
        t.default = i
      }),
      define(d[11], h([0, 1, 3, 475, 8, 129]), function(e, t, n, i, o, r) {
        'use strict'
        function s(e) {
          return function(t, n, i) {
            void 0 === n && (n = null)
            var o = e(
              function(e) {
                return o.dispose(), t.call(n, e)
              },
              null,
              i
            )
            return o
          }
        }
        function a(e, t) {
          return function(n, i, o) {
            return (
              void 0 === i && (i = null),
              e(
                function(e) {
                  return n.call(i, t(e))
                },
                null,
                o
              )
            )
          }
        }
        function u(e, t) {
          return function(n, i, o) {
            return (
              void 0 === i && (i = null),
              e(
                function(e) {
                  return t(e) && n.call(i, e)
                },
                null,
                o
              )
            )
          }
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var l
        !(function(e) {
          var t = { dispose: function() {} }
          e.None = function() {
            return t
          }
        })(l || (l = {})),
          (t.default = l)
        var c = (function() {
          function e(e) {
            this._options = e
          }
          return (
            Object.defineProperty(e.prototype, 'event', {
              get: function() {
                var t = this
                return (
                  this._event ||
                    (this._event = function(n, o, r) {
                      t._callbacks || (t._callbacks = new i.default())
                      var s = t._callbacks.isEmpty()
                      s &&
                        t._options &&
                        t._options.onFirstListenerAdd &&
                        t._options.onFirstListenerAdd(t),
                        t._callbacks.add(n, o),
                        s &&
                          t._options &&
                          t._options.onFirstListenerDidAdd &&
                          t._options.onFirstListenerDidAdd(t),
                        t._options &&
                          t._options.onListenerDidAdd &&
                          t._options.onListenerDidAdd(t, n, o)
                      var a
                      return (
                        (a = {
                          dispose: function() {
                            ;(a.dispose = e._noop),
                              t._disposed ||
                                (t._callbacks.remove(n, o),
                                t._options &&
                                  t._options.onLastListenerRemove &&
                                  t._callbacks.isEmpty() &&
                                  t._options.onLastListenerRemove(t))
                          }
                        }),
                        Array.isArray(r) && r.push(a),
                        a
                      )
                    }),
                  this._event
                )
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.fire = function(e) {
              this._callbacks && this._callbacks.invoke.call(this._callbacks, e)
            }),
            (e.prototype.dispose = function() {
              this._callbacks &&
                (this._callbacks.dispose(),
                (this._callbacks = void 0),
                (this._disposed = !0))
            }),
            e
          )
        })()
        ;(c._noop = function() {}), (t.Emitter = c)
        var d = (function() {
          function e() {
            var e = this
            ;(this.hasListeners = !1),
              (this.events = []),
              (this.emitter = new c({
                onFirstListenerAdd: function() {
                  return e.onFirstListenerAdd()
                },
                onLastListenerRemove: function() {
                  return e.onLastListenerRemove()
                }
              }))
          }
          return (
            Object.defineProperty(e.prototype, 'event', {
              get: function() {
                return this.emitter.event
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.add = function(e) {
              var t = this,
                i = { event: e, listener: null }
              this.events.push(i), this.hasListeners && this.hook(i)
              return n.toDisposable(
                r.once(function() {
                  t.hasListeners && t.unhook(i)
                  var e = t.events.indexOf(i)
                  t.events.splice(e, 1)
                })
              )
            }),
            (e.prototype.onFirstListenerAdd = function() {
              var e = this
              ;(this.hasListeners = !0),
                this.events.forEach(function(t) {
                  return e.hook(t)
                })
            }),
            (e.prototype.onLastListenerRemove = function() {
              var e = this
              ;(this.hasListeners = !1),
                this.events.forEach(function(t) {
                  return e.unhook(t)
                })
            }),
            (e.prototype.hook = function(e) {
              var t = this
              e.listener = e.event(function(e) {
                return t.emitter.fire(e)
              })
            }),
            (e.prototype.unhook = function(e) {
              e.listener.dispose(), (e.listener = null)
            }),
            (e.prototype.dispose = function() {
              this.emitter.dispose()
            }),
            e
          )
        })()
        ;(t.EventMultiplexer = d),
          (t.fromEventEmitter = function(e, t) {
            return function(n, i, o) {
              var r = e.addListener(t, function() {
                n.apply(i, arguments)
              })
              return Array.isArray(o) && o.push(r), r
            }
          }),
          (t.fromCallback = function(e) {
            var t,
              n = new c({
                onFirstListenerAdd: function() {
                  return (t = e(function(e) {
                    return n.fire(e)
                  }))
                },
                onLastListenerRemove: function() {
                  return t.dispose()
                }
              })
            return n.event
          }),
          (t.fromPromise = function(e) {
            var t = new c(),
              n = !1
            return (
              e
                .then(null, function() {
                  return null
                })
                .then(function() {
                  n
                    ? t.fire()
                    : setTimeout(function() {
                        return t.fire()
                      }, 0)
                }),
              (n = !0),
              t.event
            )
          }),
          (t.toPromise = function(e) {
            return new o.TPromise(function(t) {
              var n = e(function(e) {
                n.dispose(), t(e)
              })
            })
          }),
          (t.delayed = function(e) {
            var t = null,
              n = null,
              i = new c({
                onFirstListenerAdd: function() {
                  t = e.then(
                    function(e) {
                      return (n = e(function(e) {
                        return i.fire(e)
                      }))
                    },
                    function() {
                      return null
                    }
                  )
                },
                onLastListenerRemove: function() {
                  t && (t.cancel(), (t = null)), n && (n.dispose(), (n = null))
                }
              })
            return i.event
          }),
          (t.once = s),
          (t.any = function() {
            for (var e = [], t = 0; t < arguments.length; t++)
              e[t] = arguments[t]
            return function(t, i, o) {
              return (
                void 0 === i && (i = null),
                n.combinedDisposable(
                  e.map(function(e) {
                    return e(
                      function(e) {
                        return t.call(i, e)
                      },
                      null,
                      o
                    )
                  })
                )
              )
            }
          }),
          (t.debounceEvent = function(e, t, n, i) {
            void 0 === n && (n = 100), void 0 === i && (i = !1)
            var o,
              r,
              s,
              a = new c({
                onFirstListenerAdd: function() {
                  o = e(function(e) {
                    ;(r = t(r, e)),
                      !s && i && a.fire(r),
                      clearTimeout(s),
                      (s = setTimeout(function() {
                        var e = r
                        ;(r = void 0), a.fire(e), (s = null)
                      }, n))
                  })
                },
                onLastListenerRemove: function() {
                  o.dispose()
                }
              })
            return a.event
          })
        var h = (function() {
          function e() {
            this.buffers = []
          }
          return (
            (e.prototype.wrapEvent = function(e) {
              var t = this
              return function(n, i, o) {
                return e(
                  function(e) {
                    var o = t.buffers[t.buffers.length - 1]
                    o
                      ? o.push(function() {
                          return n.call(i, e)
                        })
                      : n.call(i, e)
                  },
                  void 0,
                  o
                )
              }
            }),
            (e.prototype.bufferEvents = function(e) {
              var t = []
              this.buffers.push(t),
                e(),
                this.buffers.pop(),
                t.forEach(function(e) {
                  return e()
                })
            }),
            e
          )
        })()
        ;(t.EventBufferer = h), (t.mapEvent = a), (t.filterEvent = u)
        var p = (function() {
          function e(e) {
            this._event = e
          }
          return (
            Object.defineProperty(e.prototype, 'event', {
              get: function() {
                return this._event
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.map = function(t) {
              return new e(a(this._event, t))
            }),
            (e.prototype.filter = function(t) {
              return new e(u(this._event, t))
            }),
            (e.prototype.on = function(e, t, n) {
              return this._event(e, t, n)
            }),
            e
          )
        })()
        ;(t.chain = function(e) {
          return new p(e)
        }),
          (t.stopwatch = function(e) {
            var t = new Date().getTime()
            return a(s(e), function(e) {
              return new Date().getTime() - t
            })
          }),
          (t.buffer = function(e, t, n) {
            void 0 === t && (t = !1), void 0 === n && (n = []), (n = n.slice())
            var i = e(function(e) {
                n ? n.push(e) : r.fire(e)
              }),
              o = function() {
                n.forEach(function(e) {
                  return r.fire(e)
                }),
                  (n = null)
              },
              r = new c({
                onFirstListenerAdd: function() {
                  i ||
                    (i = e(function(e) {
                      return r.fire(e)
                    }))
                },
                onFirstListenerDidAdd: function() {
                  n && (t ? setTimeout(o) : o())
                },
                onLastListenerRemove: function() {
                  i.dispose(), (i = null)
                }
              })
            return r.event
          }),
          (t.echo = function(e, t, n) {
            void 0 === t && (t = !1),
              void 0 === n && (n = []),
              (n = n.slice()),
              e(function(e) {
                n.push(e), o.fire(e)
              })
            var i = function(e, t) {
                return n.forEach(function(n) {
                  return e.call(t, n)
                })
              },
              o = new c({
                onListenerDidAdd: function(e, n, o) {
                  t
                    ? setTimeout(function() {
                        return i(n, o)
                      })
                    : i(n, o)
                }
              })
            return o.event
          })
      }),
      define(d[30], h([0, 1, 15, 11]), function(e, t, n, i) {
        'use strict'
        function o() {
          return s.INSTANCE.getZoomLevel()
        }
        function r() {
          return s.INSTANCE.getPixelRatio()
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = (function() {
          function e() {
            ;(this._zoomLevel = 0),
              (this._lastZoomLevelChangeTime = 0),
              (this._onDidChangeZoomLevel = new i.Emitter()),
              (this.onDidChangeZoomLevel = this._onDidChangeZoomLevel.event),
              (this._zoomFactor = 0),
              (this._onDidChangeFullscreen = new i.Emitter()),
              (this.onDidChangeFullscreen = this._onDidChangeFullscreen.event),
              (this._accessibilitySupport = 0),
              (this._onDidChangeAccessibilitySupport = new i.Emitter()),
              (this.onDidChangeAccessibilitySupport = this._onDidChangeAccessibilitySupport.event)
          }
          return (
            (e.prototype.getZoomLevel = function() {
              return this._zoomLevel
            }),
            (e.prototype.getTimeSinceLastZoomLevelChanged = function() {
              return Date.now() - this._lastZoomLevelChangeTime
            }),
            (e.prototype.setZoomLevel = function(e, t) {
              this._zoomLevel !== e &&
                ((this._zoomLevel = e),
                (this._lastZoomLevelChangeTime = t ? 0 : Date.now()),
                this._onDidChangeZoomLevel.fire(this._zoomLevel))
            }),
            (e.prototype.getZoomFactor = function() {
              return this._zoomFactor
            }),
            (e.prototype.setZoomFactor = function(e) {
              this._zoomFactor = e
            }),
            (e.prototype.getPixelRatio = function() {
              var e = document.createElement('canvas').getContext('2d')
              return (
                (window.devicePixelRatio || 1) /
                (e.webkitBackingStorePixelRatio ||
                  e.mozBackingStorePixelRatio ||
                  e.msBackingStorePixelRatio ||
                  e.oBackingStorePixelRatio ||
                  e.backingStorePixelRatio ||
                  1)
              )
            }),
            (e.prototype.setFullscreen = function(e) {
              this._fullscreen !== e &&
                ((this._fullscreen = e), this._onDidChangeFullscreen.fire())
            }),
            (e.prototype.isFullscreen = function() {
              return this._fullscreen
            }),
            (e.prototype.setAccessibilitySupport = function(e) {
              this._accessibilitySupport !== e &&
                ((this._accessibilitySupport = e),
                this._onDidChangeAccessibilitySupport.fire())
            }),
            (e.prototype.getAccessibilitySupport = function() {
              return this._accessibilitySupport
            }),
            e
          )
        })()
        ;(s.INSTANCE = new s()),
          (t.setZoomLevel = function(e, t) {
            s.INSTANCE.setZoomLevel(e, t)
          }),
          (t.getZoomLevel = o),
          (t.getTimeSinceLastZoomLevelChanged = function() {
            return s.INSTANCE.getTimeSinceLastZoomLevelChanged()
          }),
          (t.onDidChangeZoomLevel = function(e) {
            return s.INSTANCE.onDidChangeZoomLevel(e)
          }),
          (t.getZoomFactor = function() {
            return s.INSTANCE.getZoomFactor()
          }),
          (t.setZoomFactor = function(e) {
            s.INSTANCE.setZoomFactor(e)
          }),
          (t.getPixelRatio = r),
          (t.setFullscreen = function(e) {
            s.INSTANCE.setFullscreen(e)
          }),
          (t.isFullscreen = function() {
            return s.INSTANCE.isFullscreen()
          }),
          (t.onDidChangeFullscreen = function(e) {
            return s.INSTANCE.onDidChangeFullscreen(e)
          }),
          (t.setAccessibilitySupport = function(e) {
            s.INSTANCE.setAccessibilitySupport(e)
          }),
          (t.getAccessibilitySupport = function() {
            return s.INSTANCE.getAccessibilitySupport()
          }),
          (t.onDidChangeAccessibilitySupport = function(e) {
            return s.INSTANCE.onDidChangeAccessibilitySupport(e)
          })
        var a = navigator.userAgent
        ;(t.isIE = a.indexOf('Trident') >= 0),
          (t.isEdge = a.indexOf('Edge/') >= 0),
          (t.isEdgeOrIE = t.isIE || t.isEdge),
          (t.isOpera = a.indexOf('Opera') >= 0),
          (t.isFirefox = a.indexOf('Firefox') >= 0),
          (t.isWebKit = a.indexOf('AppleWebKit') >= 0),
          (t.isChrome = a.indexOf('Chrome') >= 0),
          (t.isSafari = -1 === a.indexOf('Chrome') && a.indexOf('Safari') >= 0),
          (t.isIPad = a.indexOf('iPad') >= 0),
          (t.isChromev56 =
            a.indexOf('Chrome/56.') >= 0 && -1 === a.indexOf('Edge/')),
          (t.supportsTranslate3d = !t.isFirefox),
          (t.canUseTranslate3d = function() {
            if (!t.supportsTranslate3d) return !1
            if (0 !== o()) return !1
            if (t.isChromev56) {
              var e = r()
              if (Math.floor(e) !== e) return !1
            }
            return !0
          })
      }),
      define(d[117], h([0, 1, 11]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.domEvent = function(e, t, i) {
            var o = function(e) {
                return r.fire(e)
              },
              r = new n.Emitter({
                onFirstListenerAdd: function() {
                  e.addEventListener(t, o, i)
                },
                onLastListenerRemove: function() {
                  e.removeEventListener(t, o, i)
                }
              })
            return r.event
          }),
          (t.stop = function(e) {
            return n.mapEvent(e, function(e) {
              return e.preventDefault(), e.stopPropagation(), e
            })
          })
      }),
      define(d[64], h([0, 1, 39, 15, 30]), function(e, t, n, i, o) {
        'use strict'
        function r(e) {
          if (e.charCode) {
            var t = String.fromCharCode(e.charCode).toUpperCase()
            return n.KeyCodeUtils.fromString(t)
          }
          return s[e.keyCode] || 0
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = {}
        ;(s[3] = 7),
          (s[8] = 1),
          (s[9] = 2),
          (s[13] = 3),
          (s[16] = 4),
          (s[17] = 5),
          (s[18] = 6),
          (s[19] = 7),
          (s[20] = 8),
          (s[27] = 9),
          (s[32] = 10),
          (s[33] = 11),
          (s[34] = 12),
          (s[35] = 13),
          (s[36] = 14),
          (s[37] = 15),
          (s[38] = 16),
          (s[39] = 17),
          (s[40] = 18),
          (s[45] = 19),
          (s[46] = 20),
          (s[48] = 21),
          (s[49] = 22),
          (s[50] = 23),
          (s[51] = 24),
          (s[52] = 25),
          (s[53] = 26),
          (s[54] = 27),
          (s[55] = 28),
          (s[56] = 29),
          (s[57] = 30),
          (s[65] = 31),
          (s[66] = 32),
          (s[67] = 33),
          (s[68] = 34),
          (s[69] = 35),
          (s[70] = 36),
          (s[71] = 37),
          (s[72] = 38),
          (s[73] = 39),
          (s[74] = 40),
          (s[75] = 41),
          (s[76] = 42),
          (s[77] = 43),
          (s[78] = 44),
          (s[79] = 45),
          (s[80] = 46),
          (s[81] = 47),
          (s[82] = 48),
          (s[83] = 49),
          (s[84] = 50),
          (s[85] = 51),
          (s[86] = 52),
          (s[87] = 53),
          (s[88] = 54),
          (s[89] = 55),
          (s[90] = 56),
          (s[93] = 58),
          (s[96] = 93),
          (s[97] = 94),
          (s[98] = 95),
          (s[99] = 96),
          (s[100] = 97),
          (s[101] = 98),
          (s[102] = 99),
          (s[103] = 100),
          (s[104] = 101),
          (s[105] = 102),
          (s[106] = 103),
          (s[107] = 104),
          (s[108] = 105),
          (s[109] = 106),
          (s[110] = 107),
          (s[111] = 108),
          (s[112] = 59),
          (s[113] = 60),
          (s[114] = 61),
          (s[115] = 62),
          (s[116] = 63),
          (s[117] = 64),
          (s[118] = 65),
          (s[119] = 66),
          (s[120] = 67),
          (s[121] = 68),
          (s[122] = 69),
          (s[123] = 70),
          (s[124] = 71),
          (s[125] = 72),
          (s[126] = 73),
          (s[127] = 74),
          (s[128] = 75),
          (s[129] = 76),
          (s[130] = 77),
          (s[144] = 78),
          (s[145] = 79),
          (s[186] = 80),
          (s[187] = 81),
          (s[188] = 82),
          (s[189] = 83),
          (s[190] = 84),
          (s[191] = 85),
          (s[192] = 86),
          (s[193] = 110),
          (s[194] = 111),
          (s[219] = 87),
          (s[220] = 88),
          (s[221] = 89),
          (s[222] = 90),
          (s[223] = 91),
          (s[226] = 92),
          (s[229] = 109),
          o.isIE
            ? (s[91] = 57)
            : o.isFirefox
              ? ((s[59] = 80),
                (s[107] = 81),
                (s[109] = 83),
                i.isMacintosh && (s[224] = 57))
              : o.isWebKit &&
                ((s[91] = 57), i.isMacintosh ? (s[93] = 57) : (s[92] = 57))
        var a = i.isMacintosh ? 256 : 2048,
          u = i.isMacintosh ? 2048 : 256,
          l = (function() {
            function e(e) {
              var 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 = r(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())
            }
            return (
              (e.prototype.preventDefault = function() {
                this.browserEvent &&
                  this.browserEvent.preventDefault &&
                  this.browserEvent.preventDefault()
              }),
              (e.prototype.stopPropagation = function() {
                this.browserEvent &&
                  this.browserEvent.stopPropagation &&
                  this.browserEvent.stopPropagation()
              }),
              (e.prototype.toKeybinding = function() {
                return this._asRuntimeKeybinding
              }),
              (e.prototype.equals = function(e) {
                return this._asKeybinding === e
              }),
              (e.prototype._computeKeybinding = function() {
                var e = 0
                5 !== this.keyCode &&
                  4 !== this.keyCode &&
                  6 !== this.keyCode &&
                  57 !== this.keyCode &&
                  (e = this.keyCode)
                var t = 0
                return (
                  this.ctrlKey && (t |= a),
                  this.altKey && (t |= 512),
                  this.shiftKey && (t |= 1024),
                  this.metaKey && (t |= u),
                  (t |= e)
                )
              }),
              (e.prototype._computeRuntimeKeybinding = function() {
                var e = 0
                return (
                  5 !== this.keyCode &&
                    4 !== this.keyCode &&
                    6 !== this.keyCode &&
                    57 !== this.keyCode &&
                    (e = this.keyCode),
                  new n.SimpleKeybinding(
                    this.ctrlKey,
                    this.shiftKey,
                    this.altKey,
                    this.metaKey,
                    e
                  )
                )
              }),
              e
            )
          })()
        t.StandardKeyboardEvent = l
      }),
      define(d[45], h([0, 1, 15, 30, 174]), function(e, t, n, i, o) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = (function() {
          function e(e) {
            ;(this.timestamp = Date.now()),
              (this.browserEvent = e),
              (this.leftButton = 0 === e.button),
              (this.middleButton = 1 === e.button),
              (this.rightButton = 2 === e.button),
              (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))
            var t = o.IframeUtils.getPositionOfChildWindowRelativeToAncestorWindow(
              self,
              e.view
            )
            ;(this.posx -= t.left), (this.posy -= t.top)
          }
          return (
            (e.prototype.preventDefault = function() {
              this.browserEvent.preventDefault &&
                this.browserEvent.preventDefault()
            }),
            (e.prototype.stopPropagation = function() {
              this.browserEvent.stopPropagation &&
                this.browserEvent.stopPropagation()
            }),
            e
          )
        })()
        t.StandardMouseEvent = r
        var s = (function(e) {
          function t(t) {
            var n = e.call(this, t) || this
            return (n.dataTransfer = t.dataTransfer), n
          }
          return f(t, e), t
        })(r)
        t.DragMouseEvent = s
        var a = (function(e) {
          function t(t) {
            return e.call(this, t) || this
          }
          return f(t, e), t
        })(s)
        t.DropMouseEvent = a
        var u = (function() {
          function e(e, t, o) {
            if (
              (void 0 === t && (t = 0),
              void 0 === o && (o = 0),
              (this.browserEvent = e || null),
              (this.target = e
                ? e.target || e.targetNode || e.srcElement
                : null),
              (this.deltaY = o),
              (this.deltaX = t),
              e)
            ) {
              var r = e,
                s = e
              void 0 !== r.wheelDeltaY
                ? (this.deltaY = r.wheelDeltaY / 120)
                : void 0 !== s.VERTICAL_AXIS &&
                  s.axis === s.VERTICAL_AXIS &&
                  (this.deltaY = -s.detail / 3),
                void 0 !== r.wheelDeltaX
                  ? i.isSafari && n.isWindows
                    ? (this.deltaX = -r.wheelDeltaX / 120)
                    : (this.deltaX = r.wheelDeltaX / 120)
                  : void 0 !== s.HORIZONTAL_AXIS &&
                    s.axis === s.HORIZONTAL_AXIS &&
                    (this.deltaX = -e.detail / 3),
                0 === this.deltaY &&
                  0 === this.deltaX &&
                  e.wheelDelta &&
                  (this.deltaY = e.wheelDelta / 120)
            }
          }
          return (
            (e.prototype.preventDefault = function() {
              this.browserEvent &&
                this.browserEvent.preventDefault &&
                this.browserEvent.preventDefault()
            }),
            (e.prototype.stopPropagation = function() {
              this.browserEvent &&
                this.browserEvent.stopPropagation &&
                this.browserEvent.stopPropagation()
            }),
            e
          )
        })()
        t.StandardMouseWheelEvent = u
      }),
      define(d[118], h([0, 1, 11]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i,
          o = Object.freeze(function(e, t) {
            var n = setTimeout(e.bind(t), 0)
            return {
              dispose: function() {
                clearTimeout(n)
              }
            }
          })
        !(function(e) {
          ;(e.None = Object.freeze({
            isCancellationRequested: !1,
            onCancellationRequested: n.default.None
          })),
            (e.Cancelled = Object.freeze({
              isCancellationRequested: !0,
              onCancellationRequested: o
            }))
        })((i = t.CancellationToken || (t.CancellationToken = {})))
        var r = (function() {
            function e() {
              this._isCancelled = !1
            }
            return (
              (e.prototype.cancel = function() {
                this._isCancelled ||
                  ((this._isCancelled = !0),
                  this._emitter &&
                    (this._emitter.fire(void 0), (this._emitter = void 0)))
              }),
              Object.defineProperty(e.prototype, 'isCancellationRequested', {
                get: function() {
                  return this._isCancelled
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(e.prototype, 'onCancellationRequested', {
                get: function() {
                  return this._isCancelled
                    ? o
                    : (this._emitter || (this._emitter = new n.Emitter()),
                      this._emitter.event)
                },
                enumerable: !0,
                configurable: !0
              }),
              e
            )
          })(),
          s = (function() {
            function e() {}
            return (
              Object.defineProperty(e.prototype, 'token', {
                get: function() {
                  return this._token || (this._token = new r()), this._token
                },
                enumerable: !0,
                configurable: !0
              }),
              (e.prototype.cancel = function() {
                this._token ? this._token.cancel() : (this._token = i.Cancelled)
              }),
              (e.prototype.dispose = function() {
                this.cancel()
              }),
              e
            )
          })()
        t.CancellationTokenSource = s
      }),
      define(d[18], h([0, 1, 10, 15, 8, 118, 3, 11]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a
      ) {
        'use strict'
        function u(e) {
          return e && 'function' == typeof e.then
        }
        function l(e, t) {
          return new o.TPromise(
            function(i, o, r) {
              e.done(
                function(e) {
                  try {
                    t(e)
                  } catch (e) {
                    n.onUnexpectedError(e)
                  }
                  i(e)
                },
                function(e) {
                  try {
                    t(e)
                  } catch (e) {
                    n.onUnexpectedError(e)
                  }
                  o(e)
                },
                function(e) {
                  r(e)
                }
              )
            },
            function() {
              e.cancel()
            }
          )
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.toThenable = function(e) {
            return u(e) ? e : o.TPromise.as(e)
          }),
          (t.asWinJsPromise = function(e) {
            var t = new r.CancellationTokenSource()
            return new o.TPromise(
              function(n, i, r) {
                var s = e(t.token)
                s instanceof o.TPromise
                  ? s.then(n, i, r)
                  : u(s)
                    ? s.then(n, i)
                    : n(s)
              },
              function() {
                t.cancel()
              }
            )
          }),
          (t.wireCancellationToken = function(e, t, i) {
            var r = e.onCancellationRequested(function() {
              return t.cancel()
            })
            return (
              i &&
                (t = t.then(void 0, function(e) {
                  if (!n.isPromiseCanceledError(e))
                    return o.TPromise.wrapError(e)
                })),
              l(t, function() {
                return r.dispose()
              })
            )
          })
        var c = (function() {
          function e() {
            ;(this.activePromise = null),
              (this.queuedPromise = null),
              (this.queuedPromiseFactory = null)
          }
          return (
            (e.prototype.queue = function(e) {
              var t = this
              if (this.activePromise) {
                if (((this.queuedPromiseFactory = e), !this.queuedPromise)) {
                  var n = function() {
                    t.queuedPromise = null
                    var e = t.queue(t.queuedPromiseFactory)
                    return (t.queuedPromiseFactory = null), e
                  }
                  this.queuedPromise = new o.Promise(
                    function(e, i, o) {
                      t.activePromise.then(n, n, o).done(e)
                    },
                    function() {
                      t.activePromise.cancel()
                    }
                  )
                }
                return new o.Promise(
                  function(e, n, i) {
                    t.queuedPromise.then(e, n, i)
                  },
                  function() {}
                )
              }
              return (
                (this.activePromise = e()),
                new o.Promise(
                  function(e, n, i) {
                    t.activePromise.done(
                      function(n) {
                        ;(t.activePromise = null), e(n)
                      },
                      function(e) {
                        ;(t.activePromise = null), n(e)
                      },
                      i
                    )
                  },
                  function() {
                    t.activePromise.cancel()
                  }
                )
              )
            }),
            e
          )
        })()
        t.Throttler = c
        var d = (function() {
          function e() {
            this.current = o.TPromise.as(null)
          }
          return (
            (e.prototype.queue = function(e) {
              return (this.current = this.current.then(function() {
                return e()
              }))
            }),
            e
          )
        })()
        t.SimpleThrottler = d
        var h = (function() {
          function e(e) {
            ;(this.defaultDelay = e),
              (this.timeout = null),
              (this.completionPromise = null),
              (this.onSuccess = null),
              (this.task = null)
          }
          return (
            (e.prototype.trigger = function(e, t) {
              var n = this
              return (
                void 0 === t && (t = this.defaultDelay),
                (this.task = e),
                this.cancelTimeout(),
                this.completionPromise ||
                  (this.completionPromise = new o.Promise(
                    function(e) {
                      n.onSuccess = e
                    },
                    function() {}
                  ).then(function() {
                    ;(n.completionPromise = null), (n.onSuccess = null)
                    var e = n.task
                    return (n.task = null), e()
                  })),
                (this.timeout = setTimeout(function() {
                  ;(n.timeout = null), n.onSuccess(null)
                }, t)),
                this.completionPromise
              )
            }),
            (e.prototype.isTriggered = function() {
              return null !== this.timeout
            }),
            (e.prototype.cancel = function() {
              this.cancelTimeout(),
                this.completionPromise &&
                  (this.completionPromise.cancel(),
                  (this.completionPromise = null))
            }),
            (e.prototype.cancelTimeout = function() {
              null !== this.timeout &&
                (clearTimeout(this.timeout), (this.timeout = null))
            }),
            e
          )
        })()
        t.Delayer = h
        var p = (function(e) {
          function t(t) {
            var n = e.call(this, t) || this
            return (n.throttler = new c()), n
          }
          return (
            f(t, e),
            (t.prototype.trigger = function(t, n) {
              var i = this
              return e.prototype.trigger.call(
                this,
                function() {
                  return i.throttler.queue(t)
                },
                n
              )
            }),
            t
          )
        })(h)
        t.ThrottledDelayer = p
        var g = (function(e) {
          function t(t, n) {
            void 0 === n && (n = 0)
            var i = e.call(this, t) || this
            return (i.minimumPeriod = n), (i.periodThrottler = new c()), i
          }
          return (
            f(t, e),
            (t.prototype.trigger = function(t, n) {
              var i = this
              return e.prototype.trigger.call(
                this,
                function() {
                  return i.periodThrottler.queue(function() {
                    return o.Promise.join([
                      o.TPromise.timeout(i.minimumPeriod),
                      t()
                    ]).then(function(e) {
                      return e[1]
                    })
                  })
                },
                n
              )
            }),
            t
          )
        })(p)
        t.PeriodThrottledDelayer = g
        var m = (function() {
          function e() {
            var e = this
            this._value = new o.TPromise(function(t, n) {
              ;(e._completeCallback = t), (e._errorCallback = n)
            })
          }
          return (
            Object.defineProperty(e.prototype, 'value', {
              get: function() {
                return this._value
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.complete = function(e) {
              this._completeCallback(e)
            }),
            (e.prototype.error = function(e) {
              this._errorCallback(e)
            }),
            e
          )
        })()
        t.PromiseSource = m
        var v = (function(e) {
          function t(t) {
            var i,
              o,
              r,
              s = this
            return (
              (s =
                e.call(
                  this,
                  function(e, t, n) {
                    ;(i = e), (o = t), (r = n)
                  },
                  function() {
                    o(n.canceled())
                  }
                ) || this),
              t.then(i, o, r),
              s
            )
          }
          return f(t, e), t
        })(o.TPromise)
        ;(t.ShallowCancelThenPromise = v),
          (t.always = l),
          (t.sequence = function(e) {
            function t() {
              return e.length ? e.pop()() : null
            }
            function n(e) {
              void 0 !== e && null !== e && i.push(e)
              var r = t()
              return r ? r.then(n) : o.TPromise.as(i)
            }
            var i = []
            return (e = e.reverse()), o.TPromise.as(null).then(n)
          }),
          (t.first = function(e, t) {
            void 0 === t &&
              (t = function(e) {
                return !!e
              }),
              (e = e.reverse().slice())
            var n = function() {
              return 0 === e.length
                ? o.TPromise.as(null)
                : e
                    .pop()()
                    .then(function(e) {
                      return t(e) ? o.TPromise.as(e) : n()
                    })
            }
            return n()
          })
        var _ = (function() {
          function e(e) {
            ;(this.maxDegreeOfParalellism = e),
              (this.outstandingPromises = []),
              (this.runningPromises = 0),
              (this._onFinished = new a.Emitter())
          }
          return (
            Object.defineProperty(e.prototype, 'onFinished', {
              get: function() {
                return this._onFinished.event
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.queue = function(e) {
              var t = this
              return new o.TPromise(function(n, i, o) {
                t.outstandingPromises.push({ factory: e, c: n, e: i, p: o }),
                  t.consume()
              })
            }),
            (e.prototype.consume = function() {
              for (
                var e = this;
                this.outstandingPromises.length &&
                this.runningPromises < this.maxDegreeOfParalellism;

              ) {
                var t = this.outstandingPromises.shift()
                this.runningPromises++
                var n = t.factory()
                n.done(t.c, t.e, t.p),
                  n.done(
                    function() {
                      return e.consumed()
                    },
                    function() {
                      return e.consumed()
                    }
                  )
              }
            }),
            (e.prototype.consumed = function() {
              this.runningPromises--,
                this.outstandingPromises.length > 0
                  ? this.consume()
                  : this._onFinished.fire()
            }),
            (e.prototype.dispose = function() {
              this._onFinished.dispose()
            }),
            e
          )
        })()
        t.Limiter = _
        var y = (function(e) {
          function t() {
            return e.call(this, 1) || this
          }
          return f(t, e), t
        })(_)
        ;(t.Queue = y),
          (t.setDisposableTimeout = function(e, t) {
            for (var n = [], i = 2; i < arguments.length; i++)
              n[i - 2] = arguments[i]
            var o = setTimeout.apply(void 0, [e, t].concat(n))
            return {
              dispose: function() {
                clearTimeout(o)
              }
            }
          })
        var b = (function(e) {
          function t() {
            var t = e.call(this) || this
            return (t._token = -1), t
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              this.cancel(), e.prototype.dispose.call(this)
            }),
            (t.prototype.cancel = function() {
              ;-1 !== this._token &&
                (i.clearTimeout(this._token), (this._token = -1))
            }),
            (t.prototype.cancelAndSet = function(e, t) {
              var n = this
              this.cancel(),
                (this._token = i.setTimeout(function() {
                  ;(n._token = -1), e()
                }, t))
            }),
            (t.prototype.setIfNotSet = function(e, t) {
              var n = this
              ;-1 === this._token &&
                (this._token = i.setTimeout(function() {
                  ;(n._token = -1), e()
                }, t))
            }),
            t
          )
        })(s.Disposable)
        t.TimeoutTimer = b
        var C = (function(e) {
          function t() {
            var t = e.call(this) || this
            return (t._token = -1), t
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              this.cancel(), e.prototype.dispose.call(this)
            }),
            (t.prototype.cancel = function() {
              ;-1 !== this._token &&
                (i.clearInterval(this._token), (this._token = -1))
            }),
            (t.prototype.cancelAndSet = function(e, t) {
              this.cancel(),
                (this._token = i.setInterval(function() {
                  e()
                }, t))
            }),
            t
          )
        })(s.Disposable)
        t.IntervalTimer = C
        var w = (function() {
          function e(e, t) {
            ;(this.timeoutToken = -1),
              (this.runner = e),
              (this.timeout = t),
              (this.timeoutHandler = this.onTimeout.bind(this))
          }
          return (
            (e.prototype.dispose = function() {
              this.cancel(), (this.runner = null)
            }),
            (e.prototype.cancel = function() {
              this.isScheduled() &&
                (i.clearTimeout(this.timeoutToken), (this.timeoutToken = -1))
            }),
            (e.prototype.setRunner = function(e) {
              this.runner = e
            }),
            (e.prototype.schedule = function(e) {
              void 0 === e && (e = this.timeout),
                this.cancel(),
                (this.timeoutToken = i.setTimeout(this.timeoutHandler, e))
            }),
            (e.prototype.isScheduled = function() {
              return -1 !== this.timeoutToken
            }),
            (e.prototype.onTimeout = function() {
              ;(this.timeoutToken = -1), this.runner && this.runner()
            }),
            e
          )
        })()
        ;(t.RunOnceScheduler = w),
          (t.nfcall = function(e) {
            for (var t = [], n = 1; n < arguments.length; n++)
              t[n - 1] = arguments[n]
            return new o.Promise(
              function(n, i) {
                return e.apply(
                  void 0,
                  t.concat([
                    function(e, t) {
                      return e ? i(e) : n(t)
                    }
                  ])
                )
              },
              function() {
                return null
              }
            )
          }),
          (t.ninvoke = function(e, t) {
            for (var n = [], i = 2; i < arguments.length; i++)
              n[i - 2] = arguments[i]
            return new o.Promise(
              function(i, o) {
                return t.call.apply(
                  t,
                  [e].concat(n, [
                    function(e, t) {
                      return e ? o(e) : i(t)
                    }
                  ])
                )
              },
              function() {
                return null
              }
            )
          })
      }),
      define(d[38], h([0, 1, 10]), function(e, t, n) {
        'use strict'
        function i(e) {
          try {
            return e()
          } catch (e) {
            n.onUnexpectedError(e)
          }
        }
        function o(e, t) {
          try {
            return e(t)
          } catch (e) {
            n.onUnexpectedError(e)
          }
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = (function() {
          return function(e, t) {
            void 0 === e && (e = null),
              void 0 === t && (t = null),
              (this.type = e),
              (this.data = t)
          }
        })()
        t.EmitterEvent = r
        var s = (function() {
          function e(e) {
            if (
              (void 0 === e && (e = null),
              (this._listeners = {}),
              (this._bulkListeners = []),
              (this._collectedEvents = []),
              (this._deferredCnt = 0),
              e)
            ) {
              this._allowedEventTypes = {}
              for (var t = 0; t < e.length; t++)
                this._allowedEventTypes[e[t]] = !0
            } else this._allowedEventTypes = null
          }
          return (
            (e.prototype.dispose = function() {
              ;(this._listeners = {}),
                (this._bulkListeners = []),
                (this._collectedEvents = []),
                (this._deferredCnt = 0),
                (this._allowedEventTypes = null)
            }),
            (e.prototype.addListener = function(e, t) {
              if ('*' === e)
                throw new Error(
                  'Use addBulkListener(listener) to register your listener!'
                )
              if (
                this._allowedEventTypes &&
                !this._allowedEventTypes.hasOwnProperty(e)
              )
                throw new Error('This object will never emit this event type!')
              this._listeners.hasOwnProperty(e)
                ? this._listeners[e].push(t)
                : (this._listeners[e] = [t])
              var n = this
              return {
                dispose: function() {
                  n && (n._removeListener(e, t), (n = null), (t = null))
                }
              }
            }),
            (e.prototype.addOneTimeListener = function(e, t) {
              var n = this.addListener(e, function(e) {
                n.dispose(), t(e)
              })
              return n
            }),
            (e.prototype.addBulkListener = function(e) {
              var t = this
              return (
                this._bulkListeners.push(e),
                {
                  dispose: function() {
                    t._removeBulkListener(e)
                  }
                }
              )
            }),
            (e.prototype.addEmitter = function(e) {
              var t = this
              return e.addBulkListener(function(e) {
                0 === t._deferredCnt
                  ? t._emitEvents(e)
                  : t._collectedEvents.push.apply(t._collectedEvents, e)
              })
            }),
            (e.prototype._removeListener = function(e, t) {
              if (this._listeners.hasOwnProperty(e))
                for (
                  var n = this._listeners[e], i = 0, o = n.length;
                  i < o;
                  i++
                )
                  if (n[i] === t) {
                    n.splice(i, 1)
                    break
                  }
            }),
            (e.prototype._removeBulkListener = function(e) {
              for (var t = 0, n = this._bulkListeners.length; t < n; t++)
                if (this._bulkListeners[t] === e) {
                  this._bulkListeners.splice(t, 1)
                  break
                }
            }),
            (e.prototype._emitToSpecificTypeListeners = function(e, t) {
              if (this._listeners.hasOwnProperty(e))
                for (
                  var n = this._listeners[e].slice(0), i = 0, r = n.length;
                  i < r;
                  i++
                )
                  o(n[i], t)
            }),
            (e.prototype._emitToBulkListeners = function(e) {
              for (
                var t = this._bulkListeners.slice(0), n = 0, i = t.length;
                n < i;
                n++
              )
                o(t[n], e)
            }),
            (e.prototype._emitEvents = function(e) {
              this._bulkListeners.length > 0 && this._emitToBulkListeners(e)
              for (var t = 0, n = e.length; t < n; t++) {
                var i = e[t]
                this._emitToSpecificTypeListeners(i.type, i.data)
              }
            }),
            (e.prototype.emit = function(e, t) {
              if (
                (void 0 === t && (t = {}),
                this._allowedEventTypes &&
                  !this._allowedEventTypes.hasOwnProperty(e))
              )
                throw new Error(
                  "Cannot emit this event type because it wasn't listed!"
                )
              if (
                this._listeners.hasOwnProperty(e) ||
                0 !== this._bulkListeners.length
              ) {
                var n = new r(e, t)
                0 === this._deferredCnt
                  ? this._emitEvents([n])
                  : this._collectedEvents.push(n)
              }
            }),
            (e.prototype.beginDeferredEmit = function() {
              this._deferredCnt = this._deferredCnt + 1
            }),
            (e.prototype.endDeferredEmit = function() {
              ;(this._deferredCnt = this._deferredCnt - 1),
                0 === this._deferredCnt && this._emitCollected()
            }),
            (e.prototype.deferredEmit = function(e) {
              this.beginDeferredEmit()
              var t = i(e)
              return this.endDeferredEmit(), t
            }),
            (e.prototype._emitCollected = function() {
              if (0 !== this._collectedEvents.length) {
                var e = this._collectedEvents
                ;(this._collectedEvents = []), this._emitEvents(e)
              }
            }),
            e
          )
        })()
        t.EventEmitter = s
        var a = (function() {
            return function(e, t) {
              ;(this.target = e), (this.arg = t)
            }
          })(),
          u = (function(e) {
            function t() {
              var t = e.call(this, null) || this
              return (t._emitQueue = []), t
            }
            return (
              f(t, e),
              (t.prototype._emitToSpecificTypeListeners = function(e, t) {
                if (this._listeners.hasOwnProperty(e))
                  for (
                    var n = this._listeners[e], i = 0, o = n.length;
                    i < o;
                    i++
                  )
                    this._emitQueue.push(new a(n[i], t))
              }),
              (t.prototype._emitToBulkListeners = function(e) {
                for (
                  var t = this._bulkListeners, n = 0, i = t.length;
                  n < i;
                  n++
                )
                  this._emitQueue.push(new a(t[n], e))
              }),
              (t.prototype._emitEvents = function(t) {
                for (
                  e.prototype._emitEvents.call(this, t);
                  this._emitQueue.length > 0;

                ) {
                  var n = this._emitQueue.shift()
                  o(n.target, n.arg)
                }
              }),
              t
            )
          })(s)
        t.OrderGuaranteeEventEmitter = u
      }),
      define(d[6], h([0, 1, 8, 18, 10, 38, 3, 29, 30, 64, 45]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c
      ) {
        'use strict'
        function d(e, t, n, i) {
          return new N(e, t, n, i)
        }
        function h(e) {
          return function(t) {
            return e(new c.StandardMouseEvent(t))
          }
        }
        function p(e) {
          return function(t) {
            return e(new l.StandardKeyboardEvent(t))
          }
        }
        function g(e) {
          return document.defaultView.getComputedStyle(e, null)
        }
        function m(e, t, n) {
          var i = g(e),
            o = '0'
          return (
            i &&
              (o = i.getPropertyValue
                ? i.getPropertyValue(t)
                : i.getAttribute(n)),
            O(e, o)
          )
        }
        function v(e) {
          for (
            var t = e.offsetParent, n = e.offsetTop, i = e.offsetLeft;
            null !== (e = e.parentNode) &&
            e !== document.body &&
            e !== document.documentElement;

          ) {
            n -= e.scrollTop
            var o = g(e)
            o && (i -= 'rtl' !== o.direction ? e.scrollLeft : -e.scrollLeft),
              e === t &&
                ((i += R.getBorderLeftWidth(e)),
                (n += R.getBorderTopWidth(e)),
                (n += e.offsetTop),
                (i += e.offsetLeft),
                (t = e.offsetParent))
          }
          return { left: i, top: n }
        }
        function _(e) {
          var t = R.getMarginLeft(e) + R.getMarginRight(e)
          return e.offsetWidth + t
        }
        function y(e) {
          var t = R.getMarginLeft(e) + R.getMarginRight(e)
          return e.scrollWidth + t
        }
        function b(e, t) {
          if (null === e) return 0
          var n = v(e),
            i = v(t)
          return n.left - i.left
        }
        function C(e) {
          void 0 === e && (e = document.getElementsByTagName('head')[0])
          var t = document.createElement('style')
          return (
            (t.type = 'text/css'), (t.media = 'screen'), e.appendChild(t), t
          )
        }
        function w(e) {
          return e && e.sheet && e.sheet.rules
            ? e.sheet.rules
            : e && e.sheet && e.sheet.cssRules
              ? e.sheet.cssRules
              : []
        }
        function S(e, t) {
          for (; e; ) {
            if (e instanceof HTMLElement && e.hasAttribute(t)) return e
            e = e.parentNode
          }
          return null
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.clearNode = function(e) {
            for (; e.firstChild; ) e.removeChild(e.firstChild)
          }),
          (t.safeStringifyDOMAware = function(e) {
            var t = []
            return JSON.stringify(e, function(e, n) {
              if (n instanceof Element) return '[Element]'
              if (a.isObject(n) || Array.isArray(n)) {
                if (-1 !== t.indexOf(n)) return '[Circular]'
                t.push(n)
              }
              return n
            })
          }),
          (t.isInDOM = function(e) {
            for (; e; ) {
              if (e === document.body) return !0
              e = e.parentNode
            }
            return !1
          })
        var E = new ((function() {
            function e() {}
            return (
              (e.prototype._findClassName = function(e, t) {
                var n = e.className
                if (n) {
                  t = t.trim()
                  var i = n.length,
                    o = t.length
                  if (0 !== o)
                    if (i < o) this._lastStart = -1
                    else {
                      if (n === t)
                        return (this._lastStart = 0), void (this._lastEnd = i)
                      for (var r, s = -1; (s = n.indexOf(t, s + 1)) >= 0; ) {
                        if (
                          ((r = s + o),
                          (0 === s || 32 === n.charCodeAt(s - 1)) &&
                            32 === n.charCodeAt(r))
                        )
                          return (
                            (this._lastStart = s), void (this._lastEnd = r + 1)
                          )
                        if (s > 0 && 32 === n.charCodeAt(s - 1) && r === i)
                          return (
                            (this._lastStart = s - 1), void (this._lastEnd = r)
                          )
                        if (0 === s && r === i)
                          return (this._lastStart = 0), void (this._lastEnd = r)
                      }
                      this._lastStart = -1
                    }
                  else this._lastStart = -1
                } else this._lastStart = -1
              }),
              (e.prototype.hasClass = function(e, t) {
                return this._findClassName(e, t), -1 !== this._lastStart
              }),
              (e.prototype.addClass = function(e, t) {
                e.className
                  ? (this._findClassName(e, t),
                    -1 === this._lastStart &&
                      (e.className = e.className + ' ' + t))
                  : (e.className = t)
              }),
              (e.prototype.removeClass = function(e, t) {
                this._findClassName(e, t),
                  -1 !== this._lastStart &&
                    (e.className =
                      e.className.substring(0, this._lastStart) +
                      e.className.substring(this._lastEnd))
              }),
              (e.prototype.toggleClass = function(e, t, n) {
                this._findClassName(e, t),
                  -1 === this._lastStart ||
                    (void 0 !== n && n) ||
                    this.removeClass(e, t),
                  -1 !== this._lastStart ||
                    (void 0 !== n && !n) ||
                    this.addClass(e, t)
              }),
              e
            )
          })())(),
          L = new ((function() {
            function e() {}
            return (
              (e.prototype.hasClass = function(e, t) {
                return t && e.classList && e.classList.contains(t)
              }),
              (e.prototype.addClass = function(e, t) {
                t && e.classList && e.classList.add(t)
              }),
              (e.prototype.removeClass = function(e, t) {
                t && e.classList && e.classList.remove(t)
              }),
              (e.prototype.toggleClass = function(e, t, n) {
                e.classList && e.classList.toggle(t, n)
              }),
              e
            )
          })())(),
          x = u.isIE ? E : L
        ;(t.hasClass = x.hasClass.bind(x)),
          (t.addClass = x.addClass.bind(x)),
          (t.removeClass = x.removeClass.bind(x)),
          (t.toggleClass = x.toggleClass.bind(x))
        var N = (function() {
          function e(e, t, n, i) {
            ;(this._node = e),
              (this._type = t),
              (this._handler = n),
              (this._useCapture = i || !1),
              this._node.addEventListener(
                this._type,
                this._handler,
                this._useCapture
              )
          }
          return (
            (e.prototype.dispose = function() {
              this._handler &&
                (this._node.removeEventListener(
                  this._type,
                  this._handler,
                  this._useCapture
                ),
                (this._node = null),
                (this._handler = null))
            }),
            e
          )
        })()
        ;(t.addDisposableListener = d),
          (t.addStandardDisposableListener = function(e, t, n, i) {
            var o = n
            return (
              'click' === t || 'mousedown' === t
                ? (o = h(n))
                : ('keydown' !== t && 'keypress' !== t && 'keyup' !== t) ||
                  (o = p(n)),
              d(e, t, o, i)
            )
          }),
          (t.addDisposableNonBubblingMouseOutListener = function(e, t) {
            return d(e, 'mouseout', function(n) {
              for (var i = n.relatedTarget || n.toElement; i && i !== e; )
                i = i.parentNode
              i !== e && t(n)
            })
          })
        var M = (function() {
            var e =
                self.requestAnimationFrame ||
                self.msRequestAnimationFrame ||
                self.webkitRequestAnimationFrame ||
                self.mozRequestAnimationFrame ||
                self.oRequestAnimationFrame,
              t =
                self.cancelAnimationFrame ||
                self.cancelRequestAnimationFrame ||
                self.msCancelAnimationFrame ||
                self.msCancelRequestAnimationFrame ||
                self.webkitCancelAnimationFrame ||
                self.webkitCancelRequestAnimationFrame ||
                self.mozCancelAnimationFrame ||
                self.mozCancelRequestAnimationFrame ||
                self.oCancelAnimationFrame ||
                self.oCancelRequestAnimationFrame,
              n = !!e,
              i =
                e ||
                function(e) {
                  return setTimeout(function() {
                    return e(new Date().getTime())
                  }, 0)
                },
              o = t || function(e) {}
            return {
              isNative: n,
              request: function(e) {
                return i(e)
              },
              cancel: function(e) {
                return o(e)
              }
            }
          })(),
          T = (function() {
            function e(e, t) {
              ;(this._runner = e), (this.priority = t), (this._canceled = !1)
            }
            return (
              (e.prototype.dispose = function() {
                this._canceled = !0
              }),
              (e.prototype.execute = function() {
                if (!this._canceled)
                  try {
                    this._runner()
                  } catch (e) {
                    o.onUnexpectedError(e)
                  }
              }),
              (e.sort = function(e, t) {
                return t.priority - e.priority
              }),
              e
            )
          })()
        !(function() {
          var e = [],
            n = null,
            i = !1,
            o = !1,
            r = function() {
              for (i = !1, n = e, e = [], o = !0; n.length > 0; )
                n.sort(T.sort), n.shift().execute()
              o = !1
            }
          ;(t.scheduleAtNextAnimationFrame = function(t, n) {
            void 0 === n && (n = 0)
            var o = new T(t, n)
            return e.push(o), i || ((i = !0), M.request(r)), o
          }),
            (t.runAtThisOrScheduleAtNextAnimationFrame = function(e, i) {
              if (o) {
                var r = new T(e, i)
                return n.push(r), r
              }
              return t.scheduleAtNextAnimationFrame(e, i)
            })
        })()
        var k = 16,
          I = function(e, t) {
            return t
          },
          D = (function(e) {
            function t(t, n, o, r, s) {
              void 0 === r && (r = I), void 0 === s && (s = k)
              var a = e.call(this) || this,
                u = null,
                l = 0,
                c = a._register(new i.TimeoutTimer()),
                h = function() {
                  ;(l = new Date().getTime()), o(u), (u = null)
                }
              return (
                a._register(
                  d(t, n, function(e) {
                    u = r(u, e)
                    var t = new Date().getTime() - l
                    t >= s ? (c.cancel(), h()) : c.setIfNotSet(h, s - t)
                  })
                ),
                a
              )
            }
            return f(t, e), t
          })(s.Disposable)
        ;(t.addDisposableThrottledListener = function(e, t, n, i, o) {
          return new D(e, t, n, i, o)
        }),
          (t.getComputedStyle = g)
        var O = function(e, t) {
            return parseFloat(t) || 0
          },
          R = {
            getBorderLeftWidth: function(e) {
              return m(e, 'border-left-width', 'borderLeftWidth')
            },
            getBorderTopWidth: function(e) {
              return m(e, 'border-top-width', 'borderTopWidth')
            },
            getBorderRightWidth: function(e) {
              return m(e, 'border-right-width', 'borderRightWidth')
            },
            getBorderBottomWidth: function(e) {
              return m(e, 'border-bottom-width', 'borderBottomWidth')
            },
            getPaddingLeft: function(e) {
              return m(e, 'padding-left', 'paddingLeft')
            },
            getPaddingTop: function(e) {
              return m(e, 'padding-top', 'paddingTop')
            },
            getPaddingRight: function(e) {
              return m(e, 'padding-right', 'paddingRight')
            },
            getPaddingBottom: function(e) {
              return m(e, 'padding-bottom', 'paddingBottom')
            },
            getMarginLeft: function(e) {
              return m(e, 'margin-left', 'marginLeft')
            },
            getMarginTop: function(e) {
              return m(e, 'margin-top', 'marginTop')
            },
            getMarginRight: function(e) {
              return m(e, 'margin-right', 'marginRight')
            },
            getMarginBottom: function(e) {
              return m(e, 'margin-bottom', 'marginBottom')
            },
            __commaSentinel: !1
          }
        ;(t.getTopLeftOffset = v),
          (t.getDomNodePagePosition = function(e) {
            var n = e.getBoundingClientRect()
            return {
              left: n.left + t.StandardWindow.scrollX,
              top: n.top + t.StandardWindow.scrollY,
              width: n.width,
              height: n.height
            }
          }),
          (t.StandardWindow = new ((function() {
            function e() {}
            return (
              Object.defineProperty(e.prototype, 'scrollX', {
                get: function() {
                  return 'number' == typeof window.scrollX
                    ? window.scrollX
                    : document.body.scrollLeft +
                        document.documentElement.scrollLeft
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(e.prototype, 'scrollY', {
                get: function() {
                  return 'number' == typeof window.scrollY
                    ? window.scrollY
                    : document.body.scrollTop +
                        document.documentElement.scrollTop
                },
                enumerable: !0,
                configurable: !0
              }),
              e
            )
          })())()),
          (t.getContentWidth = function(e) {
            var t = R.getBorderLeftWidth(e) + R.getBorderRightWidth(e),
              n = R.getPaddingLeft(e) + R.getPaddingRight(e)
            return e.offsetWidth - t - n
          }),
          (t.getTotalWidth = _),
          (t.getTotalScrollWidth = y),
          (t.getContentHeight = function(e) {
            var t = R.getBorderTopWidth(e) + R.getBorderBottomWidth(e),
              n = R.getPaddingTop(e) + R.getPaddingBottom(e)
            return e.offsetHeight - t - n
          }),
          (t.getTotalHeight = function(e) {
            var t = R.getMarginTop(e) + R.getMarginBottom(e)
            return e.offsetHeight + t
          }),
          (t.getLargestChildWidth = function(e, t) {
            var n = t.map(function(t) {
              return Math.max(y(t), _(t)) + b(t, e) || 0
            })
            return Math.max.apply(Math, n)
          }),
          (t.isAncestor = function(e, t) {
            for (; e; ) {
              if (e === t) return !0
              e = e.parentNode
            }
            return !1
          }),
          (t.findParentWithClass = function(e, n, i) {
            for (; e; ) {
              if (t.hasClass(e, n)) return e
              if (i && t.hasClass(e, i)) return null
              e = e.parentNode
            }
            return null
          }),
          (t.createStyleSheet = C)
        var P = C()
        ;(t.createCSSRule = function(e, t, n) {
          void 0 === n && (n = P),
            n && t && n.sheet.insertRule(e + '{' + t + '}', 0)
        }),
          (t.getCSSRule = function(e, t) {
            if ((void 0 === t && (t = P), !t)) return null
            for (var n = w(t), i = 0; i < n.length; i++) {
              var o = n[i]
              if (o.selectorText.replace(/::/gi, ':') === e) return o
            }
            return null
          }),
          (t.removeCSSRulesContainingSelector = function(e, t) {
            if ((void 0 === t && (t = P), t)) {
              for (var n = w(t), i = [], o = 0; o < n.length; o++)
                -1 !== n[o].selectorText.indexOf(e) && i.push(o)
              for (o = i.length - 1; o >= 0; o--) t.sheet.deleteRule(i[o])
            }
          }),
          (t.isHTMLElement = function(e) {
            return 'object' == typeof HTMLElement
              ? e instanceof HTMLElement
              : e &&
                  'object' == typeof e &&
                  1 === e.nodeType &&
                  'string' == typeof e.nodeName
          }),
          (t.EventType = {
            CLICK: 'click',
            AUXCLICK: 'auxclick',
            DBLCLICK: 'dblclick',
            MOUSE_UP: 'mouseup',
            MOUSE_DOWN: 'mousedown',
            MOUSE_OVER: 'mouseover',
            MOUSE_MOVE: 'mousemove',
            MOUSE_OUT: 'mouseout',
            CONTEXT_MENU: 'contextmenu',
            WHEEL: 'wheel',
            KEY_DOWN: 'keydown',
            KEY_PRESS: 'keypress',
            KEY_UP: 'keyup',
            LOAD: 'load',
            UNLOAD: 'unload',
            ABORT: 'abort',
            ERROR: 'error',
            RESIZE: 'resize',
            SCROLL: 'scroll',
            SELECT: 'select',
            CHANGE: 'change',
            SUBMIT: 'submit',
            RESET: 'reset',
            FOCUS: 'focus',
            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: u.isWebKit
              ? 'webkitAnimationStart'
              : 'animationstart',
            ANIMATION_END: u.isWebKit ? 'webkitAnimationEnd' : 'animationend',
            ANIMATION_ITERATION: u.isWebKit
              ? 'webkitAnimationIteration'
              : 'animationiteration'
          }),
          (t.EventHelper = {
            stop: function(e, t) {
              e.preventDefault ? e.preventDefault() : (e.returnValue = !1),
                t &&
                  (e.stopPropagation
                    ? e.stopPropagation()
                    : (e.cancelBubble = !0))
            }
          }),
          (t.saveParentsScrollTop = function(e) {
            for (var t = [], n = 0; e && e.nodeType === e.ELEMENT_NODE; n++)
              (t[n] = e.scrollTop), (e = e.parentNode)
            return t
          }),
          (t.restoreParentsScrollTop = function(e, t) {
            for (var n = 0; e && e.nodeType === e.ELEMENT_NODE; n++)
              e.scrollTop !== t[n] && (e.scrollTop = t[n]), (e = e.parentNode)
          })
        var A = (function(e) {
          function n(n) {
            var i = e.call(this) || this,
              o = !1,
              s = !1
            i._eventEmitter = i._register(new r.EventEmitter())
            return (
              i._register(
                d(
                  n,
                  t.EventType.FOCUS,
                  function(e) {
                    ;(s = !1),
                      o || ((o = !0), i._eventEmitter.emit('focus', {}))
                  },
                  !0
                )
              ),
              i._register(
                d(
                  n,
                  t.EventType.BLUR,
                  function(e) {
                    o &&
                      ((s = !0),
                      window.setTimeout(function() {
                        s &&
                          ((s = !1), (o = !1), i._eventEmitter.emit('blur', {}))
                      }, 0))
                  },
                  !0
                )
              ),
              i
            )
          }
          return (
            f(n, e),
            (n.prototype.addFocusListener = function(e) {
              return this._eventEmitter.addListener('focus', e)
            }),
            (n.prototype.addBlurListener = function(e) {
              return this._eventEmitter.addListener('blur', e)
            }),
            n
          )
        })(s.Disposable)
        ;(t.trackFocus = function(e) {
          return new A(e)
        }),
          (t.append = function(e) {
            for (var t = [], n = 1; n < arguments.length; n++)
              t[n - 1] = arguments[n]
            return (
              t.forEach(function(t) {
                return e.appendChild(t)
              }),
              t[t.length - 1]
            )
          }),
          (t.prepend = function(e, t) {
            return e.insertBefore(t, e.firstChild), t
          })
        var F = /([\w\-]+)?(#([\w\-]+))?((.([\w\-]+))*)/
        ;(t.$ = function(e, t) {
          for (var n = [], i = 2; i < arguments.length; i++)
            n[i - 2] = arguments[i]
          var o = F.exec(e)
          if (!o) throw new Error('Bad use of emmet')
          var r = document.createElement(o[1] || 'div')
          return (
            o[3] && (r.id = o[3]),
            o[4] && (r.className = o[4].replace(/\./g, ' ').trim()),
            Object.keys(t || {}).forEach(function(e) {
              ;/^on\w+$/.test(e)
                ? (r[e] = t[e])
                : 'selected' === e
                  ? t[e] && r.setAttribute(e, 'true')
                  : r.setAttribute(e, t[e])
            }),
            n
              .filter(function(e) {
                return !!e
              })
              .forEach(function(e) {
                e instanceof Node
                  ? r.appendChild(e)
                  : r.appendChild(document.createTextNode(e))
              }),
            r
          )
        }),
          (t.join = function(e, t) {
            var n = []
            return (
              e.forEach(function(e, i) {
                i > 0 &&
                  (t instanceof Node
                    ? n.push(t.cloneNode())
                    : n.push(document.createTextNode(t))),
                  n.push(e)
              }),
              n
            )
          }),
          (t.show = function() {
            for (var e = [], t = 0; t < arguments.length; t++)
              e[t] = arguments[t]
            for (var n = 0, i = e; n < i.length; n++) i[n].style.display = ''
          }),
          (t.hide = function() {
            for (var e = [], t = 0; t < arguments.length; t++)
              e[t] = arguments[t]
            for (var n = 0, i = e; n < i.length; n++)
              i[n].style.display = 'none'
          }),
          (t.removeTabIndexAndUpdateFocus = function(e) {
            if (e && e.hasAttribute('tabIndex')) {
              if (document.activeElement === e) {
                var t = S(e.parentElement, 'tabIndex')
                t && t.focus()
              }
              e.removeAttribute('tabindex')
            }
          }),
          (t.getElementsByTagName = function(e) {
            return Array.prototype.slice.call(
              document.getElementsByTagName(e),
              0
            )
          }),
          (t.finalHandler = function(e) {
            return function(t) {
              t.preventDefault(), t.stopPropagation(), e(t)
            }
          }),
          (t.domContentLoaded = function() {
            return new n.TPromise(function(e, t) {
              'complete' === document.readyState ||
              (document && null !== document.body)
                ? window.setImmediate(e)
                : window.addEventListener('DOMContentLoaded', e, !1)
            })
          }),
          (t.computeScreenAwareSize = function(e) {
            var t = window.devicePixelRatio * e
            return Math.max(1, Math.floor(t)) / window.devicePixelRatio
          })
      }),
      define(d[26], h([0, 1, 6]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e(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._lineHeight = -1),
              (this._letterSpacing = -100),
              (this._className = ''),
              (this._display = ''),
              (this._position = ''),
              (this._visibility = ''),
              (this._layerHint = !1)
          }
          return (
            (e.prototype.setMaxWidth = function(e) {
              this._maxWidth !== e &&
                ((this._maxWidth = e),
                (this.domNode.style.maxWidth = this._maxWidth + 'px'))
            }),
            (e.prototype.setWidth = function(e) {
              this._width !== e &&
                ((this._width = e),
                (this.domNode.style.width = this._width + 'px'))
            }),
            (e.prototype.unsetWidth = function() {
              ;-1 !== this._width &&
                ((this._width = -1), (this.domNode.style.width = ''))
            }),
            (e.prototype.setHeight = function(e) {
              this._height !== e &&
                ((this._height = e),
                (this.domNode.style.height = this._height + 'px'))
            }),
            (e.prototype.unsetHeight = function() {
              ;-1 !== this._height &&
                ((this._height = -1), (this.domNode.style.height = ''))
            }),
            (e.prototype.setTop = function(e) {
              this._top !== e &&
                ((this._top = e), (this.domNode.style.top = this._top + 'px'))
            }),
            (e.prototype.unsetTop = function() {
              ;-1 !== this._top &&
                ((this._top = -1), (this.domNode.style.top = ''))
            }),
            (e.prototype.setLeft = function(e) {
              this._left !== e &&
                ((this._left = e),
                (this.domNode.style.left = this._left + 'px'))
            }),
            (e.prototype.setBottom = function(e) {
              this._bottom !== e &&
                ((this._bottom = e),
                (this.domNode.style.bottom = this._bottom + 'px'))
            }),
            (e.prototype.setRight = function(e) {
              this._right !== e &&
                ((this._right = e),
                (this.domNode.style.right = this._right + 'px'))
            }),
            (e.prototype.setFontFamily = function(e) {
              this._fontFamily !== e &&
                ((this._fontFamily = e),
                (this.domNode.style.fontFamily = this._fontFamily))
            }),
            (e.prototype.setFontWeight = function(e) {
              this._fontWeight !== e &&
                ((this._fontWeight = e),
                (this.domNode.style.fontWeight = this._fontWeight))
            }),
            (e.prototype.setFontSize = function(e) {
              this._fontSize !== e &&
                ((this._fontSize = e),
                (this.domNode.style.fontSize = this._fontSize + 'px'))
            }),
            (e.prototype.setLineHeight = function(e) {
              this._lineHeight !== e &&
                ((this._lineHeight = e),
                (this.domNode.style.lineHeight = this._lineHeight + 'px'))
            }),
            (e.prototype.setLetterSpacing = function(e) {
              this._letterSpacing !== e &&
                ((this._letterSpacing = e),
                (this.domNode.style.letterSpacing = this._letterSpacing + 'px'))
            }),
            (e.prototype.setClassName = function(e) {
              this._className !== e &&
                ((this._className = e),
                (this.domNode.className = this._className))
            }),
            (e.prototype.toggleClassName = function(e, t) {
              n.toggleClass(this.domNode, e, t),
                (this._className = this.domNode.className)
            }),
            (e.prototype.addClassName = function(e) {
              n.addClass(this.domNode, e),
                (this._className = this.domNode.className)
            }),
            (e.prototype.removeClassName = function(e) {
              n.removeClass(this.domNode, e),
                (this._className = this.domNode.className)
            }),
            (e.prototype.setDisplay = function(e) {
              this._display !== e &&
                ((this._display = e),
                (this.domNode.style.display = this._display))
            }),
            (e.prototype.setPosition = function(e) {
              this._position !== e &&
                ((this._position = e),
                (this.domNode.style.position = this._position))
            }),
            (e.prototype.setVisibility = function(e) {
              this._visibility !== e &&
                ((this._visibility = e),
                (this.domNode.style.visibility = this._visibility))
            }),
            (e.prototype.setLayerHinting = function(e) {
              this._layerHint !== e &&
                ((this._layerHint = e),
                (this.domNode.style.willChange = this._layerHint
                  ? 'transform'
                  : 'auto'))
            }),
            (e.prototype.setAttribute = function(e, t) {
              this.domNode.setAttribute(e, t)
            }),
            (e.prototype.getAttribute = function(e) {
              return this.domNode.getAttribute(e)
            }),
            (e.prototype.removeAttribute = function(e) {
              this.domNode.removeAttribute(e)
            }),
            (e.prototype.hasAttribute = function(e) {
              return this.domNode.hasAttribute(e)
            }),
            (e.prototype.appendChild = function(e) {
              this.domNode.appendChild(e.domNode)
            }),
            (e.prototype.removeChild = function(e) {
              this.domNode.removeChild(e.domNode)
            }),
            e
          )
        })()
        ;(t.FastDomNode = i),
          (t.createFastDomNode = function(e) {
            return new i(e)
          })
      }),
      define(d[97], h([0, 1, 3, 6, 174, 45]), function(e, t, n, i, o, r) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.standardMouseMoveMerger = function(e, t) {
            var n = new r.StandardMouseEvent(t)
            return (
              n.preventDefault(),
              { leftButton: n.leftButton, posx: n.posx, posy: n.posy }
            )
          })
        var s = (function(e) {
          function t() {
            var t = e.call(this) || this
            return (
              (t.hooks = []),
              (t.mouseMoveEventMerger = null),
              (t.mouseMoveCallback = null),
              (t.onStopCallback = null),
              t
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              this.stopMonitoring(!1), e.prototype.dispose.call(this)
            }),
            (t.prototype.stopMonitoring = function(e) {
              if (this.isMonitoring()) {
                ;(this.hooks = n.dispose(this.hooks)),
                  (this.mouseMoveEventMerger = null),
                  (this.mouseMoveCallback = null)
                var t = this.onStopCallback
                ;(this.onStopCallback = null), e && t()
              }
            }),
            (t.prototype.isMonitoring = function() {
              return this.hooks.length > 0
            }),
            (t.prototype.startMonitoring = function(e, t, n) {
              var s = this
              if (!this.isMonitoring()) {
                ;(this.mouseMoveEventMerger = e),
                  (this.mouseMoveCallback = t),
                  (this.onStopCallback = n)
                for (
                  var a = o.IframeUtils.getSameOriginWindowChain(), u = 0;
                  u < a.length;
                  u++
                )
                  this.hooks.push(
                    i.addDisposableThrottledListener(
                      a[u].window.document,
                      'mousemove',
                      function(e) {
                        return s.mouseMoveCallback(e)
                      },
                      function(e, t) {
                        return s.mouseMoveEventMerger(e, t)
                      }
                    )
                  ),
                    this.hooks.push(
                      i.addDisposableListener(
                        a[u].window.document,
                        'mouseup',
                        function(e) {
                          return s.stopMonitoring(!0)
                        }
                      )
                    )
                if (o.IframeUtils.hasDifferentOriginAncestor()) {
                  var l = a[a.length - 1]
                  this.hooks.push(
                    i.addDisposableListener(
                      l.window.document,
                      'mouseout',
                      function(e) {
                        'html' ===
                          new r.StandardMouseEvent(
                            e
                          ).target.tagName.toLowerCase() && s.stopMonitoring(!0)
                      }
                    )
                  ),
                    this.hooks.push(
                      i.addDisposableListener(
                        l.window.document,
                        'mouseover',
                        function(e) {
                          'html' ===
                            new r.StandardMouseEvent(
                              e
                            ).target.tagName.toLowerCase() &&
                            s.stopMonitoring(!0)
                        }
                      )
                    ),
                    this.hooks.push(
                      i.addDisposableListener(
                        l.window.document.body,
                        'mouseleave',
                        function(e) {
                          s.stopMonitoring(!0)
                        }
                      )
                    )
                }
              }
            }),
            t
          )
        })(n.Disposable)
        t.GlobalMouseMoveMonitor = s
      }),
      define(d[94], h([0, 1, 6, 101, 9, 8, 125, 501]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a
      ) {
        'use strict'
        function u(e) {
          var t = e.inline ? 'span' : 'div',
            n = document.createElement(t)
          return e.className && (n.className = e.className), n
        }
        function l(e, t) {
          void 0 === t && (t = {})
          var l,
            c = u(t),
            d = (t.codeBlockRenderer,
            t.actionCallback,
            new r.TPromise(function(e) {
              return (l = e)
            })),
            h = new a.marked.Renderer()
          return (
            (h.image = function(e, t, n) {
              var i = []
              if (e) {
                var o = e.split('|').map(function(e) {
                  return e.trim()
                })
                e = o[0]
                var r = o[1]
                if (r) {
                  var s = /height=(\d+)/.exec(r),
                    a = /width=(\d+)/.exec(r),
                    u = s && s[1],
                    l = a && a[1],
                    c = isFinite(parseInt(l)),
                    d = isFinite(parseInt(u))
                  c && i.push('width="' + l + '"'),
                    d && i.push('height="' + u + '"')
                }
              }
              var h = []
              return (
                e && h.push('src="' + e + '"'),
                n && h.push('alt="' + n + '"'),
                t && h.push('title="' + t + '"'),
                i.length && (h = h.concat(i)),
                '<img ' + h.join(' ') + '>'
              )
            }),
            (h.link = function(e, t, n) {
              return (
                e === n && (n = s.removeMarkdownEscapes(n)),
                (t = s.removeMarkdownEscapes(t)),
                (e = s.removeMarkdownEscapes(e)),
                !e || e.match(/^data:|javascript:/i)
                  ? n
                  : '<a href="#" data-href="' +
                    e +
                    '" title="' +
                    (t || n) +
                    '">' +
                    n +
                    '</a>'
              )
            }),
            (h.paragraph = function(e) {
              return '<p>' + e + '</p>'
            }),
            t.codeBlockRenderer &&
              (h.code = function(e, n) {
                var s = t.codeBlockRenderer(n, e)
                if ('string' == typeof s) return s
                if (r.TPromise.is(s)) {
                  var a = i.defaultGenerator.nextId()
                  return (
                    r.TPromise.join([s, d]).done(
                      function(e) {
                        var t = e[0],
                          n = c.querySelector('span[data-code="' + a + '"]')
                        n && (n.innerHTML = t)
                      },
                      function(e) {}
                    ),
                    '<span data-code="' + a + '">' + o.escape(e) + '</span>'
                  )
                }
                return e
              }),
            t.actionCallback &&
              n.addStandardDisposableListener(c, 'click', function(e) {
                if ('A' === e.target.tagName) {
                  var n = e.target.dataset.href
                  n && t.actionCallback(n, e)
                }
              }),
            (c.innerHTML = a.marked(e, { sanitize: !0, renderer: h })),
            l(),
            c
          )
        }
        function c(e, t, i) {
          var o
          if (2 === t.type) o = document.createTextNode(t.content)
          else if (3 === t.type) o = document.createElement('b')
          else if (4 === t.type) o = document.createElement('i')
          else if (5 === t.type) {
            var r = document.createElement('a')
            ;(r.href = '#'),
              n.addStandardDisposableListener(r, 'click', function(e) {
                i(String(t.index), e)
              }),
              (o = r)
          } else
            7 === t.type
              ? (o = document.createElement('br'))
              : 1 === t.type && (o = e)
          e !== o && e.appendChild(o),
            Array.isArray(t.children) &&
              t.children.forEach(function(e) {
                c(o, e, i)
              })
        }
        function d(e) {
          for (
            var t = { type: 1, children: [] },
              n = 0,
              i = t,
              o = [],
              r = new g(e);
            !r.eos();

          ) {
            var s = r.next(),
              a = '\\' === s && 0 !== p(r.peek())
            if ((a && (s = r.next()), !a && h(s) && s === r.peek())) {
              r.advance(), 2 === i.type && (i = o.pop())
              var u = p(s)
              if (i.type === u || (5 === i.type && 6 === u)) i = o.pop()
              else {
                var l = { type: u, children: [] }
                5 === u && ((l.index = n), n++),
                  i.children.push(l),
                  o.push(i),
                  (i = l)
              }
            } else if ('\n' === s)
              2 === i.type && (i = o.pop()), i.children.push({ type: 7 })
            else if (2 !== i.type) {
              var c = { type: 2, content: s }
              i.children.push(c), o.push(i), (i = c)
            } else i.content += s
          }
          return 2 === i.type && (i = o.pop()), o.length, t
        }
        function h(e) {
          return 0 !== p(e)
        }
        function p(e) {
          switch (e) {
            case '*':
              return 3
            case '_':
              return 4
            case '[':
              return 5
            case ']':
              return 6
            default:
              return 0
          }
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.renderMarkedString = function(e, t) {
            void 0 === t && (t = {})
            var n
            return (
              (n =
                'string' == typeof e
                  ? e
                  : '```' + e.language + '\n' + e.value + '\n```'),
              l(n, t)
            )
          }),
          (t.renderText = function(e, t) {
            void 0 === t && (t = {})
            var n = u(t)
            return (n.textContent = e), n
          }),
          (t.renderFormattedText = function(e, t) {
            void 0 === t && (t = {})
            var n = u(t)
            return c(n, d(e), t.actionCallback), n
          }),
          (t.renderMarkdown = l)
        var f,
          g = (function() {
            function e(e) {
              ;(this.source = e), (this.index = 0)
            }
            return (
              (e.prototype.eos = function() {
                return this.index >= this.source.length
              }),
              (e.prototype.next = function() {
                var e = this.peek()
                return this.advance(), e
              }),
              (e.prototype.peek = function() {
                return this.source[this.index]
              }),
              (e.prototype.advance = function() {
                this.index++
              }),
              e
            )
          })()
        !(function(e) {
          ;(e[(e.Invalid = 0)] = 'Invalid'),
            (e[(e.Root = 1)] = 'Root'),
            (e[(e.Text = 2)] = 'Text'),
            (e[(e.Bold = 3)] = 'Bold'),
            (e[(e.Italics = 4)] = 'Italics'),
            (e[(e.Action = 5)] = 'Action'),
            (e[(e.ActionClose = 6)] = 'ActionClose'),
            (e[(e.NewLine = 7)] = 'NewLine')
        })(f || (f = {}))
      }),
      define(d[75], h([0, 1, 27, 3, 6]), function(e, t, n, i, o) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r
        !(function(e) {
          ;(e.Tap = '-monaco-gesturetap'),
            (e.Change = '-monaco-gesturechange'),
            (e.Start = '-monaco-gesturestart'),
            (e.End = '-monaco-gesturesend'),
            (e.Contextmenu = '-monaco-gesturecontextmenu')
        })((r = t.EventType || (t.EventType = {})))
        var s = (function() {
          function e(e) {
            ;(this.callOnTarget = []),
              (this.activeTouches = {}),
              (this.target = e),
              (this.handle = null)
          }
          return (
            (e.prototype.dispose = function() {
              ;(this.target = null),
                this.handle && (this.handle.dispose(), (this.handle = null))
            }),
            Object.defineProperty(e.prototype, 'target', {
              set: function(e) {
                var t = this
                ;(this.callOnTarget = i.dispose(this.callOnTarget)),
                  (this.activeTouches = {}),
                  (this.targetElement = e),
                  this.targetElement &&
                    (this.callOnTarget.push(
                      o.addDisposableListener(
                        this.targetElement,
                        'touchstart',
                        function(e) {
                          return t.onTouchStart(e)
                        }
                      )
                    ),
                    this.callOnTarget.push(
                      o.addDisposableListener(
                        this.targetElement,
                        'touchend',
                        function(e) {
                          return t.onTouchEnd(e)
                        }
                      )
                    ),
                    this.callOnTarget.push(
                      o.addDisposableListener(
                        this.targetElement,
                        'touchmove',
                        function(e) {
                          return t.onTouchMove(e)
                        }
                      )
                    ))
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.newGestureEvent = function(e) {
              var t = document.createEvent('CustomEvent')
              return t.initEvent(e, !1, !0), t
            }),
            (e.prototype.onTouchStart = function(t) {
              var n = Date.now()
              t.preventDefault(),
                this.handle && (this.handle.dispose(), (this.handle = null))
              for (var i = 0, o = t.targetTouches.length; i < o; i++) {
                var s = t.targetTouches.item(i)
                this.activeTouches[s.identifier] = {
                  id: s.identifier,
                  initialTarget: s.target,
                  initialTimeStamp: n,
                  initialPageX: s.pageX,
                  initialPageY: s.pageY,
                  rollingTimestamps: [n],
                  rollingPageX: [s.pageX],
                  rollingPageY: [s.pageY]
                }
                var a = e.newGestureEvent(r.Start)
                ;(a.pageX = s.pageX),
                  (a.pageY = s.pageY),
                  this.targetElement.dispatchEvent(a)
              }
            }),
            (e.prototype.onTouchEnd = function(t) {
              var i = Date.now()
              t.preventDefault(), t.stopPropagation()
              for (
                var o = Object.keys(this.activeTouches).length,
                  s = 0,
                  a = t.changedTouches.length;
                s < a;
                s++
              ) {
                var u = t.changedTouches.item(s)
                if (this.activeTouches.hasOwnProperty(String(u.identifier))) {
                  var l = this.activeTouches[u.identifier],
                    c = Date.now() - l.initialTimeStamp
                  if (
                    c < e.HOLD_DELAY &&
                    Math.abs(l.initialPageX - n.tail(l.rollingPageX)) < 30 &&
                    Math.abs(l.initialPageY - n.tail(l.rollingPageY)) < 30
                  )
                    ((d = e.newGestureEvent(r.Tap)).initialTarget =
                      l.initialTarget),
                      (d.pageX = n.tail(l.rollingPageX)),
                      (d.pageY = n.tail(l.rollingPageY)),
                      this.targetElement.dispatchEvent(d)
                  else if (
                    c >= e.HOLD_DELAY &&
                    Math.abs(l.initialPageX - n.tail(l.rollingPageX)) < 30 &&
                    Math.abs(l.initialPageY - n.tail(l.rollingPageY)) < 30
                  ) {
                    var d = e.newGestureEvent(r.Contextmenu)
                    ;(d.initialTarget = l.initialTarget),
                      (d.pageX = n.tail(l.rollingPageX)),
                      (d.pageY = n.tail(l.rollingPageY)),
                      this.targetElement.dispatchEvent(d)
                  } else if (1 === o) {
                    var h = n.tail(l.rollingPageX),
                      p = n.tail(l.rollingPageY),
                      f = n.tail(l.rollingTimestamps) - l.rollingTimestamps[0],
                      g = h - l.rollingPageX[0],
                      m = p - l.rollingPageY[0]
                    this.inertia(
                      i,
                      Math.abs(g) / f,
                      g > 0 ? 1 : -1,
                      h,
                      Math.abs(m) / f,
                      m > 0 ? 1 : -1,
                      p
                    )
                  }
                  delete this.activeTouches[u.identifier]
                } else console.warn('move of an UNKNOWN touch', u)
              }
            }),
            (e.prototype.inertia = function(t, n, i, s, a, u, l) {
              var c = this
              this.handle = o.scheduleAtNextAnimationFrame(function() {
                var o = Date.now(),
                  d = o - t,
                  h = 0,
                  p = 0,
                  f = !0
                ;(n += e.SCROLL_FRICTION * d),
                  (a += e.SCROLL_FRICTION * d),
                  n > 0 && ((f = !1), (h = i * n * d)),
                  a > 0 && ((f = !1), (p = u * a * d))
                var g = e.newGestureEvent(r.Change)
                ;(g.translationX = h),
                  (g.translationY = p),
                  c.targetElement.dispatchEvent(g),
                  f || c.inertia(o, n, i, s + h, a, u, l + p)
              })
            }),
            (e.prototype.onTouchMove = function(t) {
              var i = Date.now()
              t.preventDefault(), t.stopPropagation()
              for (var o = 0, s = t.changedTouches.length; o < s; o++) {
                var a = t.changedTouches.item(o)
                if (this.activeTouches.hasOwnProperty(String(a.identifier))) {
                  var u = this.activeTouches[a.identifier],
                    l = e.newGestureEvent(r.Change)
                  ;(l.translationX = a.pageX - n.tail(u.rollingPageX)),
                    (l.translationY = a.pageY - n.tail(u.rollingPageY)),
                    (l.pageX = a.pageX),
                    (l.pageY = a.pageY),
                    this.targetElement.dispatchEvent(l),
                    u.rollingPageX.length > 3 &&
                      (u.rollingPageX.shift(),
                      u.rollingPageY.shift(),
                      u.rollingTimestamps.shift()),
                    u.rollingPageX.push(a.pageX),
                    u.rollingPageY.push(a.pageY),
                    u.rollingTimestamps.push(i)
                } else console.warn('end of an UNKNOWN touch', a)
              }
            }),
            e
          )
        })()
        ;(s.HOLD_DELAY = 700), (s.SCROLL_FRICTION = -0.005), (t.Gesture = s)
      }),
      define(d[124], h([0, 1, 9, 6, 28, 488]), function(e, t, n, i, o, r) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = (function() {
          function e(e) {
            ;(this.domNode = document.createElement('span')),
              (this.domNode.className = 'monaco-highlighted-label'),
              (this.didEverRender = !1),
              e.appendChild(this.domNode)
          }
          return (
            Object.defineProperty(e.prototype, 'element', {
              get: function() {
                return this.domNode
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.set = function(e, t) {
              void 0 === t && (t = []),
                e || (e = ''),
                (this.didEverRender &&
                  this.text === e &&
                  o.equals(this.highlights, t)) ||
                  (Array.isArray(t) || (t = []),
                  (this.text = e),
                  (this.highlights = t),
                  this.render())
            }),
            (e.prototype.render = function() {
              i.clearNode(this.domNode)
              for (var e, t = [], o = 0, s = 0; s < this.highlights.length; s++)
                (e = this.highlights[s]).end !== e.start &&
                  (o < e.start &&
                    (t.push('<span>'),
                    t.push(r.expand(n.escape(this.text.substring(o, e.start)))),
                    t.push('</span>'),
                    (o = e.end)),
                  t.push('<span class="highlight">'),
                  t.push(
                    r.expand(n.escape(this.text.substring(e.start, e.end)))
                  ),
                  t.push('</span>'),
                  (o = e.end))
              o < this.text.length &&
                (t.push('<span>'),
                t.push(r.expand(n.escape(this.text.substring(o)))),
                t.push('</span>')),
                (this.domNode.innerHTML = t.join('')),
                (this.didEverRender = !0)
            }),
            (e.prototype.dispose = function() {
              ;(this.text = null), (this.highlights = null)
            }),
            e
          )
        })()
        t.HighlightedLabel = s
      }),
      define(d[472], h([0, 1, 6]), function(e, t, n) {
        'use strict'
        function i(e) {
          try {
            e.parentElement.removeChild(e)
          } catch (e) {}
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = (function() {
          function e(e) {
            ;(this.renderers = e), (this.cache = Object.create(null))
          }
          return (
            (e.prototype.alloc = function(e) {
              var t = this.getTemplateCache(e).pop()
              if (!t) {
                var i = n.$('.monaco-list-row')
                t = {
                  domNode: i,
                  templateId: e,
                  templateData: this.renderers[e].renderTemplate(i)
                }
              }
              return t
            }),
            (e.prototype.release = function(e) {
              e && this.releaseRow(e)
            }),
            (e.prototype.releaseRow = function(e) {
              var t = e.domNode,
                o = e.templateId
              n.removeClass(t, 'scrolling'),
                i(t),
                this.getTemplateCache(o).push(e)
            }),
            (e.prototype.getTemplateCache = function(e) {
              return this.cache[e] || (this.cache[e] = [])
            }),
            (e.prototype.garbageCollect = function() {
              var e = this
              this.cache &&
                Object.keys(this.cache).forEach(function(t) {
                  e.cache[t].forEach(function(n) {
                    e.renderers[t].disposeTemplate(n.templateData),
                      (n.domNode = null),
                      (n.templateData = null)
                  }),
                    delete e.cache[t]
                })
            }),
            (e.prototype.dispose = function() {
              this.garbageCollect(),
                (this.cache = null),
                (this.renderers = null)
            }),
            e
          )
        })()
        t.RowCache = o
      }),
      define(d[44], h([0, 1, 3, 45, 64, 6]), function(e, t, n, i, o, r) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = (function(e) {
          function t() {
            return (null !== e && e.apply(this, arguments)) || this
          }
          return (
            f(t, e),
            (t.prototype.onclick = function(e, t) {
              this._register(
                r.addDisposableListener(e, r.EventType.CLICK, function(e) {
                  return t(new i.StandardMouseEvent(e))
                })
              )
            }),
            (t.prototype.onmousedown = function(e, t) {
              this._register(
                r.addDisposableListener(e, r.EventType.MOUSE_DOWN, function(e) {
                  return t(new i.StandardMouseEvent(e))
                })
              )
            }),
            (t.prototype.onmouseover = function(e, t) {
              this._register(
                r.addDisposableListener(e, r.EventType.MOUSE_OVER, function(e) {
                  return t(new i.StandardMouseEvent(e))
                })
              )
            }),
            (t.prototype.onnonbubblingmouseout = function(e, t) {
              this._register(
                r.addDisposableNonBubblingMouseOutListener(e, function(e) {
                  return t(new i.StandardMouseEvent(e))
                })
              )
            }),
            (t.prototype.onkeydown = function(e, t) {
              this._register(
                r.addDisposableListener(e, r.EventType.KEY_DOWN, function(e) {
                  return t(new o.StandardKeyboardEvent(e))
                })
              )
            }),
            (t.prototype.onkeyup = function(e, t) {
              this._register(
                r.addDisposableListener(e, r.EventType.KEY_UP, function(e) {
                  return t(new o.StandardKeyboardEvent(e))
                })
              )
            }),
            (t.prototype.oninput = function(e, t) {
              this._register(r.addDisposableListener(e, r.EventType.INPUT, t))
            }),
            (t.prototype.onblur = function(e, t) {
              this._register(r.addDisposableListener(e, r.EventType.BLUR, t))
            }),
            (t.prototype.onfocus = function(e, t) {
              this._register(r.addDisposableListener(e, r.EventType.FOCUS, t))
            }),
            (t.prototype.onchange = function(e, t) {
              this._register(r.addDisposableListener(e, r.EventType.CHANGE, t))
            }),
            t
          )
        })(n.Disposable)
        t.Widget = s
      }),
      define(d[132], h([0, 1, 97, 44, 18]), function(e, t, n, i, o) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.ARROW_IMG_SIZE = 11)
        var r = (function(e) {
          function i(i) {
            var r = e.call(this) || this
            return (
              (r._onActivate = i.onActivate),
              (r.bgDomNode = document.createElement('div')),
              (r.bgDomNode.className = 'arrow-background'),
              (r.bgDomNode.style.position = 'absolute'),
              (r.bgDomNode.style.width = i.bgWidth + 'px'),
              (r.bgDomNode.style.height = i.bgHeight + 'px'),
              void 0 !== i.top && (r.bgDomNode.style.top = '0px'),
              void 0 !== i.left && (r.bgDomNode.style.left = '0px'),
              void 0 !== i.bottom && (r.bgDomNode.style.bottom = '0px'),
              void 0 !== i.right && (r.bgDomNode.style.right = '0px'),
              (r.domNode = document.createElement('div')),
              (r.domNode.className = i.className),
              (r.domNode.style.position = 'absolute'),
              (r.domNode.style.width = t.ARROW_IMG_SIZE + 'px'),
              (r.domNode.style.height = t.ARROW_IMG_SIZE + 'px'),
              void 0 !== i.top && (r.domNode.style.top = i.top + 'px'),
              void 0 !== i.left && (r.domNode.style.left = i.left + 'px'),
              void 0 !== i.bottom && (r.domNode.style.bottom = i.bottom + 'px'),
              void 0 !== i.right && (r.domNode.style.right = i.right + 'px'),
              (r._mouseMoveMonitor = r._register(
                new n.GlobalMouseMoveMonitor()
              )),
              r.onmousedown(r.bgDomNode, function(e) {
                return r._arrowMouseDown(e)
              }),
              r.onmousedown(r.domNode, function(e) {
                return r._arrowMouseDown(e)
              }),
              (r._mousedownRepeatTimer = r._register(new o.IntervalTimer())),
              (r._mousedownScheduleRepeatTimer = r._register(
                new o.TimeoutTimer()
              )),
              r
            )
          }
          return (
            f(i, e),
            (i.prototype._arrowMouseDown = function(e) {
              var t = this
              this._onActivate(),
                this._mousedownRepeatTimer.cancel(),
                this._mousedownScheduleRepeatTimer.cancelAndSet(function() {
                  t._mousedownRepeatTimer.cancelAndSet(function() {
                    return t._onActivate()
                  }, 1e3 / 24)
                }, 200),
                this._mouseMoveMonitor.startMonitoring(
                  n.standardMouseMoveMerger,
                  function(e) {},
                  function() {
                    t._mousedownRepeatTimer.cancel(),
                      t._mousedownScheduleRepeatTimer.cancel()
                  }
                ),
                e.preventDefault()
            }),
            i
          )
        })(i.Widget)
        t.ScrollbarArrow = r
      }),
      define(d[55], h([0, 1, 8, 38, 81, 11]), function(e, t, n, i, o, r) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.isAction = function(e) {
            return (
              !!e &&
              (e instanceof s ||
                ('string' == typeof e.id &&
                  'string' == typeof e.label &&
                  'string' == typeof e.class &&
                  'boolean' == typeof e.enabled &&
                  'boolean' == typeof e.checked &&
                  'function' == typeof e.run))
            )
          })
        var s = (function() {
          function e(e, t, n, i, o) {
            void 0 === t && (t = ''),
              void 0 === n && (n = ''),
              void 0 === i && (i = !0),
              (this._onDidChange = new r.Emitter()),
              (this._id = e),
              (this._label = t),
              (this._cssClass = n),
              (this._enabled = i),
              (this._actionCallback = o)
          }
          return (
            (e.prototype.dispose = function() {
              this._onDidChange.dispose()
            }),
            Object.defineProperty(e.prototype, 'onDidChange', {
              get: function() {
                return this._onDidChange.event
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'id', {
              get: function() {
                return this._id
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'label', {
              get: function() {
                return this._label
              },
              set: function(e) {
                this._setLabel(e)
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype._setLabel = function(e) {
              this._label !== e &&
                ((this._label = e), this._onDidChange.fire({ label: e }))
            }),
            Object.defineProperty(e.prototype, 'tooltip', {
              get: function() {
                return this._tooltip
              },
              set: function(e) {
                this._setTooltip(e)
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype._setTooltip = function(e) {
              this._tooltip !== e &&
                ((this._tooltip = e), this._onDidChange.fire({ tooltip: e }))
            }),
            Object.defineProperty(e.prototype, 'class', {
              get: function() {
                return this._cssClass
              },
              set: function(e) {
                this._setClass(e)
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype._setClass = function(e) {
              this._cssClass !== e &&
                ((this._cssClass = e), this._onDidChange.fire({ class: e }))
            }),
            Object.defineProperty(e.prototype, 'enabled', {
              get: function() {
                return this._enabled
              },
              set: function(e) {
                this._setEnabled(e)
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype._setEnabled = function(e) {
              this._enabled !== e &&
                ((this._enabled = e), this._onDidChange.fire({ enabled: e }))
            }),
            Object.defineProperty(e.prototype, 'checked', {
              get: function() {
                return this._checked
              },
              set: function(e) {
                this._setChecked(e)
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'radio', {
              get: function() {
                return this._radio
              },
              set: function(e) {
                this._setRadio(e)
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype._setChecked = function(e) {
              this._checked !== e &&
                ((this._checked = e), this._onDidChange.fire({ checked: e }))
            }),
            (e.prototype._setRadio = function(e) {
              this._radio !== e &&
                ((this._radio = e), this._onDidChange.fire({ radio: e }))
            }),
            Object.defineProperty(e.prototype, 'order', {
              get: function() {
                return this._order
              },
              set: function(e) {
                this._order = e
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.run = function(e, t) {
              return void 0 !== this._actionCallback
                ? this._actionCallback(e)
                : n.TPromise.as(!0)
            }),
            e
          )
        })()
        t.Action = s
        var a = (function(e) {
          function t() {
            return (null !== e && e.apply(this, arguments)) || this
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var i = this
              return e.enabled
                ? (this.emit(o.EventType.BEFORE_RUN, { action: e }),
                  this.runAction(e, t).then(
                    function(t) {
                      i.emit(o.EventType.RUN, { action: e, result: t })
                    },
                    function(t) {
                      i.emit(o.EventType.RUN, { action: e, error: t })
                    }
                  ))
                : n.TPromise.as(null)
            }),
            (t.prototype.runAction = function(e, t) {
              return n.TPromise.as(t ? e.run(t) : e.run())
            }),
            t
          )
        })(i.EventEmitter)
        t.ActionRunner = a
      }),
      define(d[167], h([0, 1, 27, 9, 46, 88, 8]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        function a(e) {
          switch (e) {
            case 0:
              return ''
            case 1:
              return C + '*?'
            default:
              return '(?:' + b + '|' + C + '+' + b + '|' + b + C + '+)*?'
          }
        }
        function u(e, t) {
          if (!e) return []
          for (
            var n, i = [], o = !1, r = !1, s = '', a = 0;
            a < e.length;
            a++
          ) {
            switch ((n = e[a])) {
              case t:
                if (!o && !r) {
                  i.push(s), (s = '')
                  continue
                }
                break
              case '{':
                o = !0
                break
              case '}':
                o = !1
                break
              case '[':
                r = !0
                break
              case ']':
                r = !1
            }
            s += n
          }
          return s && i.push(s), i
        }
        function l(e) {
          if (!e) return ''
          var t = '',
            n = u(e, '/')
          if (
            n.every(function(e) {
              return '**' === e
            })
          )
            t = '.*'
          else {
            var o = !1
            n.forEach(function(e, r) {
              if ('**' !== e) {
                for (
                  var s, c = !1, d = '', h = !1, p = '', f = 0;
                  f < e.length;
                  f++
                )
                  if ('}' !== (s = e[f]) && c) d += s
                  else if (']' !== s && h) {
                    var g = void 0
                    switch (s) {
                      case '-':
                      case '^':
                        g = s
                        break
                      default:
                        g = i.escapeRegExpCharacters(s)
                    }
                    p += g
                  } else
                    switch (s) {
                      case '{':
                        c = !0
                        continue
                      case '[':
                        h = !0
                        continue
                      case '}':
                        var m =
                          '(?:' +
                          u(d, ',')
                            .map(function(e) {
                              return l(e)
                            })
                            .join('|') +
                          ')'
                        ;(t += m), (c = !1), (d = '')
                        break
                      case ']':
                        ;(t += '[' + p + ']'), (h = !1), (p = '')
                        break
                      case '?':
                        t += C
                        continue
                      case '*':
                        t += a(1)
                        continue
                      default:
                        t += i.escapeRegExpCharacters(s)
                    }
                r < n.length - 1 && '**' !== n[r + 1] && (t += b), (o = !1)
              } else o || ((t += a(2)), (o = !0))
            })
          }
          return t
        }
        function c(e, t) {
          if (!e) return I
          var n = (e = e.trim()) + '_' + !!t.trimForExclusions,
            o = T.get(n)
          if (o) return o
          var r
          if (S.test(e)) {
            var s = e.substr(4)
            o = function(t, n) {
              return t && i.endsWith(t, s) ? e : null
            }
          } else
            o = (r = E.exec(d(e, t)))
              ? h(r[1], e)
              : (t.trimForExclusions ? x : L).test(e)
                ? p(e, t)
                : (r = N.exec(d(e, t)))
                  ? f(r[1].substr(1), e, !0)
                  : (r = M.exec(d(e, t)))
                    ? f(r[1], e, !1)
                    : g(e)
          return T.set(n, o), o
        }
        function d(e, t) {
          return t.trimForExclusions && i.endsWith(e, '/**')
            ? e.substr(0, e.length - 2)
            : e
        }
        function h(e, t) {
          var n = '/' + e,
            o = '\\' + e,
            r = function(r, s) {
              return r
                ? s
                  ? s === e
                    ? t
                    : null
                  : r === e || i.endsWith(r, n) || i.endsWith(r, o)
                    ? t
                    : null
                : null
            },
            s = [e]
          return (r.basenames = s), (r.patterns = [t]), (r.allBasenames = s), r
        }
        function p(e, t) {
          var i = y(
              e
                .slice(1, -1)
                .split(',')
                .map(function(e) {
                  return c(e, t)
                })
                .filter(function(e) {
                  return e !== I
                }),
              e
            ),
            o = i.length
          if (!o) return I
          if (1 === o) return i[0]
          var r = function(t, n) {
              for (var o = 0, r = i.length; o < r; o++) if (i[o](t, n)) return e
              return null
            },
            s = n.first(i, function(e) {
              return !!e.allBasenames
            })
          s && (r.allBasenames = s.allBasenames)
          var a = i.reduce(function(e, t) {
            return t.allPaths ? e.concat(t.allPaths) : e
          }, [])
          return a.length && (r.allPaths = a), r
        }
        function f(e, t, n) {
          var r = o.nativeSep !== o.sep ? e.replace(w, o.nativeSep) : e,
            s = o.nativeSep + r,
            a = n
              ? function(e, n) {
                  return e && (e === r || i.endsWith(e, s)) ? t : null
                }
              : function(e, n) {
                  return e && e === r ? t : null
                }
          return (a.allPaths = [(n ? '*/' : './') + e]), a
        }
        function g(e) {
          try {
            var t = new RegExp('^' + l(e) + '$')
            return function(n, i) {
              return (t.lastIndex = 0), n && t.test(n) ? e : null
            }
          } catch (e) {
            return I
          }
        }
        function m(e, t) {
          if ((void 0 === t && (t = {}), !e)) return k
          if ('string' == typeof e) {
            var n = c(e, t)
            if (n === I) return k
            var i = function(e, t) {
              return !!n(e, t)
            }
            return (
              n.allBasenames && (i.allBasenames = n.allBasenames),
              n.allPaths && (i.allPaths = n.allPaths),
              i
            )
          }
          return v(e, t)
        }
        function v(e, t) {
          var i = y(
              Object.getOwnPropertyNames(e)
                .map(function(n) {
                  return _(n, e[n], t)
                })
                .filter(function(e) {
                  return e !== I
                })
            ),
            r = i.length
          if (!r) return I
          if (
            !i.some(function(e) {
              return e.requiresSiblings
            })
          ) {
            if (1 === r) return i[0]
            var a = function(e, t, n) {
                for (var o = 0, r = i.length; o < r; o++) {
                  var s = i[o](e, t)
                  if (s) return s
                }
                return null
              },
              u = n.first(i, function(e) {
                return !!e.allBasenames
              })
            u && (a.allBasenames = u.allBasenames)
            var l = i.reduce(function(e, t) {
              return t.allPaths ? e.concat(t.allPaths) : e
            }, [])
            return l.length && (a.allPaths = l), a
          }
          var c = function(e, t, n) {
              function r(n) {
                if (n && n.length)
                  return (
                    t || (t = o.basename(e)),
                    {
                      siblings: n,
                      name: t.substr(0, t.length - o.extname(e).length)
                    }
                  )
              }
              for (var a, u = !n, l = 0, c = i.length; l < c; l++) {
                var d = i[l](e, t, function() {
                  if (!u) {
                    u = !0
                    var e = n()
                    a = s.TPromise.is(e) ? e.then(r) : r(e)
                  }
                  return a
                })
                if (d) return d
              }
              return null
            },
            d = n.first(i, function(e) {
              return !!e.allBasenames
            })
          d && (c.allBasenames = d.allBasenames)
          var h = i.reduce(function(e, t) {
            return t.allPaths ? e.concat(t.allPaths) : e
          }, [])
          return h.length && (c.allPaths = h), c
        }
        function _(e, t, n) {
          if (!1 === t) return I
          var i = c(e, n)
          if (i === I) return I
          if ('boolean' == typeof t) return i
          if (t) {
            var o = t.when
            if ('string' == typeof o) {
              var r = function(t) {
                  var n = o.replace('$(basename)', t.name)
                  return -1 !== t.siblings.indexOf(n) ? e : null
                },
                a = function(e, t, n) {
                  if (!i(e, t)) return null
                  var o = n()
                  return o ? (s.TPromise.is(o) ? o.then(r) : r(o)) : null
                }
              return (a.requiresSiblings = !0), a
            }
          }
          return i
        }
        function y(e, t) {
          var n = e.filter(function(e) {
            return !!e.basenames
          })
          if (n.length < 2) return e
          var i,
            o = n.reduce(function(e, t) {
              return e.concat(t.basenames)
            }, [])
          if (t) {
            i = []
            for (var r = 0, s = o.length; r < s; r++) i.push(t)
          } else
            i = n.reduce(function(e, t) {
              return e.concat(t.patterns)
            }, [])
          var a = function(e, t) {
            if (!e) return null
            if (!t) {
              var n = void 0
              for (n = e.length; n > 0; n--) {
                var r = e.charCodeAt(n - 1)
                if (47 === r || 92 === r) break
              }
              t = e.substr(n)
            }
            var s = o.indexOf(t)
            return -1 !== s ? i[s] : null
          }
          ;(a.basenames = o), (a.patterns = i), (a.allBasenames = o)
          var u = e.filter(function(e) {
            return !e.basenames
          })
          return u.push(a), u
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var b = '[/\\\\]',
          C = '[^/\\\\]',
          w = /\//g
        t.splitGlobAware = u
        var S = /^\*\*\/\*\.[\w\.-]+$/,
          E = /^\*\*\/([\w\.-]+)\/?$/,
          L = /^{\*\*\/[\*\.]?[\w\.-]+\/?(,\*\*\/[\*\.]?[\w\.-]+\/?)*}$/,
          x = /^{\*\*\/[\*\.]?[\w\.-]+(\/(\*\*)?)?(,\*\*\/[\*\.]?[\w\.-]+(\/(\*\*)?)?)*}$/,
          N = /^\*\*((\/[\w\.-]+)+)\/?$/,
          M = /^([\w\.-]+(\/[\w\.-]+)*)\/?$/,
          T = new r.BoundedMap(1e4),
          k = function() {
            return !1
          },
          I = function() {
            return null
          }
        ;(t.match = function(e, t, n) {
          return !(!e || !t) && m(e)(t, void 0, n)
        }),
          (t.parse = m),
          (t.parseToAsync = function(e, t) {
            var n = m(e, t)
            return function(e, t, i) {
              var o = n(e, t, i)
              return o instanceof s.TPromise ? o : s.TPromise.as(o)
            }
          }),
          (t.getBasenameTerms = function(e) {
            return e.allBasenames || []
          }),
          (t.getPathTerms = function(e) {
            return e.allPaths || []
          })
      }),
      define(d[470], h([0, 1, 46, 29, 9, 167]), function(e, t, n, i, o, r) {
        'use strict'
        function s(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(n.sep) >= 0
          }
        }
        function a(e, t, n) {
          for (var i, s, a, u = n.length - 1; u >= 0; u--) {
            var l = n[u]
            if (t === l.filenameLowercase) {
              i = l
              break
            }
            if (
              l.filepattern &&
              (!s || l.filepattern.length > s.filepattern.length)
            ) {
              var c = l.filepatternOnPath ? e : t
              r.match(l.filepatternLowercase, c) && (s = l)
            }
            l.extension &&
              (!a || l.extension.length > a.extension.length) &&
              o.endsWith(t, l.extensionLowercase) &&
              (a = l)
          }
          return i ? i.mime : s ? s.mime : a ? a.mime : null
        }
        function u(e) {
          if ((o.startsWithUTF8BOM(e) && (e = e.substr(1)), e.length > 0))
            for (var t = 0; t < c.length; ++t) {
              var n = c[t]
              if (n.firstline) {
                var i = e.match(n.firstline)
                if (i && i.length > 0) return n.mime
              }
            }
          return null
        }
        function l(e) {
          return (
            !e ||
            ('string' == typeof e
              ? e === t.MIME_BINARY || e === t.MIME_TEXT || e === t.MIME_UNKNOWN
              : 1 === e.length && l(e[0]))
          )
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.MIME_TEXT = 'text/plain'),
          (t.MIME_BINARY = 'application/octet-stream'),
          (t.MIME_UNKNOWN = 'application/unknown')
        var c = [],
          d = [],
          h = []
        ;(t.registerTextMime = function(e) {
          var t = s(e)
          c.push(t),
            t.userConfigured ? h.push(t) : d.push(t),
            t.userConfigured ||
              c.forEach(function(e) {
                e.mime === t.mime ||
                  e.userConfigured ||
                  (t.extension &&
                    e.extension === t.extension &&
                    console.warn(
                      'Overwriting extension <<' +
                        t.extension +
                        '>> to now point to mime <<' +
                        t.mime +
                        '>>'
                    ),
                  t.filename &&
                    e.filename === t.filename &&
                    console.warn(
                      'Overwriting filename <<' +
                        t.filename +
                        '>> to now point to mime <<' +
                        t.mime +
                        '>>'
                    ),
                  t.filepattern &&
                    e.filepattern === t.filepattern &&
                    console.warn(
                      'Overwriting filepattern <<' +
                        t.filepattern +
                        '>> to now point to mime <<' +
                        t.mime +
                        '>>'
                    ),
                  t.firstline &&
                    e.firstline === t.firstline &&
                    console.warn(
                      'Overwriting firstline <<' +
                        t.firstline +
                        '>> to now point to mime <<' +
                        t.mime +
                        '>>'
                    ))
              })
        }),
          (t.clearTextMimes = function(e) {
            e
              ? ((c = c.filter(function(e) {
                  return !e.userConfigured
                })),
                (h = []))
              : ((c = []), (d = []), (h = []))
          }),
          (t.guessMimeTypes = function(e, i) {
            if (!e) return [t.MIME_UNKNOWN]
            e = e.toLowerCase()
            var o = n.basename(e),
              r = a(e, o, h)
            if (r) return [r, t.MIME_TEXT]
            var s = a(e, o, d)
            if (s) return [s, t.MIME_TEXT]
            if (i) {
              var l = u(i)
              if (l) return [l, t.MIME_TEXT]
            }
            return [t.MIME_UNKNOWN]
          }),
          (t.isBinaryMime = function(e) {
            if (!e) return !1
            return (
              (i.isArray(e)
                ? e
                : e.split(',').map(function(e) {
                    return e.trim()
                  })
              ).indexOf(t.MIME_BINARY) >= 0
            )
          }),
          (t.isUnspecific = l),
          (t.suggestFilename = function(e, t) {
            for (var n = 0; n < c.length; n++) {
              var i = c[n]
              if (!i.userConfigured && i.id === e && i.extension)
                return t + i.extension
            }
            return t
          })
      }),
      define(d[51], h([0, 1, 3, 11]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        !(function(e) {
          ;(e[(e.Auto = 1)] = 'Auto'),
            (e[(e.Hidden = 2)] = 'Hidden'),
            (e[(e.Visible = 3)] = 'Visible')
        })(t.ScrollbarVisibility || (t.ScrollbarVisibility = {}))
        var o = (function() {
          function e(e, t, n, i, o, r) {
            ;(t |= 0),
              (n |= 0),
              (i |= 0),
              (o |= 0),
              (r |= 0),
              (e |= 0) < 0 && (e = 0),
              n + e > t && (n = t - e),
              n < 0 && (n = 0),
              i < 0 && (i = 0),
              r + i > o && (r = o - i),
              r < 0 && (r = 0),
              (this.width = e),
              (this.scrollWidth = t),
              (this.scrollLeft = n),
              (this.height = i),
              (this.scrollHeight = o),
              (this.scrollTop = r)
          }
          return (
            (e.prototype.equals = function(e) {
              return (
                this.width === e.width &&
                this.scrollWidth === e.scrollWidth &&
                this.scrollLeft === e.scrollLeft &&
                this.height === e.height &&
                this.scrollHeight === e.scrollHeight &&
                this.scrollTop === e.scrollTop
              )
            }),
            (e.prototype.createScrollEvent = function(e) {
              var t = this.width !== e.width,
                n = this.scrollWidth !== e.scrollWidth,
                i = this.scrollLeft !== e.scrollLeft,
                o = this.height !== e.height,
                r = this.scrollHeight !== e.scrollHeight,
                s = this.scrollTop !== e.scrollTop
              return {
                width: this.width,
                scrollWidth: this.scrollWidth,
                scrollLeft: this.scrollLeft,
                height: this.height,
                scrollHeight: this.scrollHeight,
                scrollTop: this.scrollTop,
                widthChanged: t,
                scrollWidthChanged: n,
                scrollLeftChanged: i,
                heightChanged: o,
                scrollHeightChanged: r,
                scrollTopChanged: s
              }
            }),
            e
          )
        })()
        t.ScrollState = o
        var r = (function(e) {
          function t() {
            var t = e.call(this) || this
            return (
              (t._onScroll = t._register(new i.Emitter())),
              (t.onScroll = t._onScroll.event),
              (t._state = new o(0, 0, 0, 0, 0, 0)),
              t
            )
          }
          return (
            f(t, e),
            (t.prototype.getState = function() {
              return this._state
            }),
            (t.prototype.validateScrollTop = function(e) {
              return (
                (e = Math.round(e)),
                (e = Math.max(e, 0)),
                (e = Math.min(e, this._state.scrollHeight - this._state.height))
              )
            }),
            (t.prototype.validateScrollLeft = function(e) {
              return (
                (e = Math.round(e)),
                (e = Math.max(e, 0)),
                (e = Math.min(e, this._state.scrollWidth - this._state.width))
              )
            }),
            (t.prototype.updateState = function(e) {
              var t = this._state,
                n = new o(
                  void 0 !== e.width ? e.width : t.width,
                  void 0 !== e.scrollWidth ? e.scrollWidth : t.scrollWidth,
                  void 0 !== e.scrollLeft ? e.scrollLeft : t.scrollLeft,
                  void 0 !== e.height ? e.height : t.height,
                  void 0 !== e.scrollHeight ? e.scrollHeight : t.scrollHeight,
                  void 0 !== e.scrollTop ? e.scrollTop : t.scrollTop
                )
              t.equals(n) ||
                ((this._state = n),
                this._onScroll.fire(this._state.createScrollEvent(t)))
            }),
            t
          )
        })(n.Disposable)
        t.Scrollable = r
      }),
      define(d[469], h([0, 1, 3, 18, 51]), function(e, t, n, i, o) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = (function(e) {
          function t(t, n, o) {
            var r = e.call(this) || this
            return (
              (r._visibility = t),
              (r._visibleClassName = n),
              (r._invisibleClassName = o),
              (r._domNode = null),
              (r._isVisible = !1),
              (r._isNeeded = !1),
              (r._shouldBeVisible = !1),
              (r._revealTimer = r._register(new i.TimeoutTimer())),
              r
            )
          }
          return (
            f(t, e),
            (t.prototype.applyVisibilitySetting = function(e) {
              return (
                this._visibility !== o.ScrollbarVisibility.Hidden &&
                (this._visibility === o.ScrollbarVisibility.Visible || e)
              )
            }),
            (t.prototype.setShouldBeVisible = function(e) {
              var t = this.applyVisibilitySetting(e)
              this._shouldBeVisible !== t &&
                ((this._shouldBeVisible = t), this.ensureVisibility())
            }),
            (t.prototype.setIsNeeded = function(e) {
              this._isNeeded !== e &&
                ((this._isNeeded = e), this.ensureVisibility())
            }),
            (t.prototype.setDomNode = function(e) {
              ;(this._domNode = e),
                this._domNode.setClassName(this._invisibleClassName),
                this.setShouldBeVisible(!1)
            }),
            (t.prototype.ensureVisibility = function() {
              this._isNeeded
                ? this._shouldBeVisible
                  ? this._reveal()
                  : this._hide(!0)
                : this._hide(!1)
            }),
            (t.prototype._reveal = function() {
              var e = this
              this._isVisible ||
                ((this._isVisible = !0),
                this._revealTimer.setIfNotSet(function() {
                  e._domNode.setClassName(e._visibleClassName)
                }, 0))
            }),
            (t.prototype._hide = function(e) {
              this._revealTimer.cancel(),
                this._isVisible &&
                  ((this._isVisible = !1),
                  this._domNode.setClassName(
                    this._invisibleClassName + (e ? ' fade' : '')
                  ))
            }),
            t
          )
        })(n.Disposable)
        t.ScrollbarVisibilityController = r
      }),
      define(d[186], h([0, 1, 15, 6, 97, 44, 26, 132, 469]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var l = (function(e) {
          function t(t) {
            var n = e.call(this) || this
            return (
              (n._lazyRender = t.lazyRender),
              (n._host = t.host),
              (n._scrollable = t.scrollable),
              (n._scrollbarState = t.scrollbarState),
              (n._visibilityController = n._register(
                new u.ScrollbarVisibilityController(
                  t.visibility,
                  'visible scrollbar ' + t.extraScrollbarClassName,
                  'invisible scrollbar ' + t.extraScrollbarClassName
                )
              )),
              (n._mouseMoveMonitor = n._register(
                new o.GlobalMouseMoveMonitor()
              )),
              (n._shouldRender = !0),
              (n.domNode = s.createFastDomNode(document.createElement('div'))),
              n.domNode.setAttribute('role', 'presentation'),
              n.domNode.setAttribute('aria-hidden', 'true'),
              n._visibilityController.setDomNode(n.domNode),
              n.domNode.setPosition('absolute'),
              n.onmousedown(n.domNode.domNode, function(e) {
                return n._domNodeMouseDown(e)
              }),
              n
            )
          }
          return (
            f(t, e),
            (t.prototype._createArrow = function(e) {
              var t = this._register(new a.ScrollbarArrow(e))
              this.domNode.domNode.appendChild(t.bgDomNode),
                this.domNode.domNode.appendChild(t.domNode)
            }),
            (t.prototype._createSlider = function(e, t, n, i) {
              var o = this
              ;(this.slider = s.createFastDomNode(
                document.createElement('div')
              )),
                this.slider.setClassName('slider'),
                this.slider.setPosition('absolute'),
                this.slider.setTop(e),
                this.slider.setLeft(t),
                this.slider.setWidth(n),
                this.slider.setHeight(i),
                this.slider.setLayerHinting(!0),
                this.domNode.domNode.appendChild(this.slider.domNode),
                this.onmousedown(this.slider.domNode, function(e) {
                  e.leftButton &&
                    (e.preventDefault(), o._sliderMouseDown(e, function() {}))
                })
            }),
            (t.prototype._onElementSize = function(e) {
              return (
                this._scrollbarState.setVisibleSize(e) &&
                  (this._visibilityController.setIsNeeded(
                    this._scrollbarState.isNeeded()
                  ),
                  (this._shouldRender = !0),
                  this._lazyRender || this.render()),
                this._shouldRender
              )
            }),
            (t.prototype._onElementScrollSize = function(e) {
              return (
                this._scrollbarState.setScrollSize(e) &&
                  (this._visibilityController.setIsNeeded(
                    this._scrollbarState.isNeeded()
                  ),
                  (this._shouldRender = !0),
                  this._lazyRender || this.render()),
                this._shouldRender
              )
            }),
            (t.prototype._onElementScrollPosition = function(e) {
              return (
                this._scrollbarState.setScrollPosition(e) &&
                  (this._visibilityController.setIsNeeded(
                    this._scrollbarState.isNeeded()
                  ),
                  (this._shouldRender = !0),
                  this._lazyRender || this.render()),
                this._shouldRender
              )
            }),
            (t.prototype.beginReveal = function() {
              this._visibilityController.setShouldBeVisible(!0)
            }),
            (t.prototype.beginHide = function() {
              this._visibilityController.setShouldBeVisible(!1)
            }),
            (t.prototype.render = function() {
              this._shouldRender &&
                ((this._shouldRender = !1),
                this._renderDomNode(
                  this._scrollbarState.getRectangleLargeSize(),
                  this._scrollbarState.getRectangleSmallSize()
                ),
                this._updateSlider(
                  this._scrollbarState.getSliderSize(),
                  this._scrollbarState.getArrowSize() +
                    this._scrollbarState.getSliderPosition()
                ))
            }),
            (t.prototype._domNodeMouseDown = function(e) {
              e.target === this.domNode.domNode && this._onMouseDown(e)
            }),
            (t.prototype.delegateMouseDown = function(e) {
              var t = this.domNode.domNode.getClientRects()[0].top,
                n = t + this._scrollbarState.getSliderPosition(),
                i =
                  t +
                  this._scrollbarState.getSliderPosition() +
                  this._scrollbarState.getSliderSize(),
                o = this._sliderMousePosition(e)
              n <= o && o <= i
                ? e.leftButton &&
                  (e.preventDefault(), this._sliderMouseDown(e, function() {}))
                : this._onMouseDown(e)
            }),
            (t.prototype.delegateSliderMouseDown = function(e, t) {
              this._sliderMouseDown(e, t)
            }),
            (t.prototype._onMouseDown = function(e) {
              var t = i.getDomNodePagePosition(this.domNode.domNode)
              this.setDesiredScrollPosition(
                this._scrollbarState.getDesiredScrollPositionFromOffset(
                  this._mouseDownRelativePosition(e, t)
                )
              ),
                e.leftButton &&
                  (e.preventDefault(), this._sliderMouseDown(e, function() {}))
            }),
            (t.prototype._sliderMouseDown = function(e, t) {
              var i = this,
                r = this._sliderMousePosition(e),
                s = this._sliderOrthogonalMousePosition(e),
                a = this._scrollbarState.clone()
              this.slider.toggleClassName('active', !0),
                this._mouseMoveMonitor.startMonitoring(
                  o.standardMouseMoveMerger,
                  function(e) {
                    var t = i._sliderOrthogonalMousePosition(e),
                      o = Math.abs(t - s)
                    if (n.isWindows && o > 140)
                      i.setDesiredScrollPosition(a.getScrollPosition())
                    else {
                      var u = i._sliderMousePosition(e) - r
                      i.setDesiredScrollPosition(
                        a.getDesiredScrollPositionFromDelta(u)
                      )
                    }
                  },
                  function() {
                    i.slider.toggleClassName('active', !1),
                      i._host.onDragEnd(),
                      t()
                  }
                ),
                this._host.onDragStart()
            }),
            (t.prototype.setDesiredScrollPosition = function(e) {
              e = this.validateScrollPosition(e)
              var t = this._getScrollPosition()
              return (
                this._setScrollPosition(e),
                t !== this._getScrollPosition() &&
                  (this._onElementScrollPosition(this._getScrollPosition()), !0)
              )
            }),
            t
          )
        })(r.Widget)
        t.AbstractScrollbar = l
      }),
      define(d[465], h([0, 1, 186, 45, 51, 158, 132]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = (function(e) {
          function t(t, n, a) {
            var u =
              e.call(this, {
                lazyRender: n.lazyRender,
                host: a,
                scrollbarState: new r.ScrollbarState(
                  n.horizontalHasArrows ? n.arrowSize : 0,
                  n.horizontal === o.ScrollbarVisibility.Hidden
                    ? 0
                    : n.horizontalScrollbarSize,
                  n.vertical === o.ScrollbarVisibility.Hidden
                    ? 0
                    : n.verticalScrollbarSize
                ),
                visibility: n.horizontal,
                extraScrollbarClassName: 'horizontal',
                scrollable: t
              }) || this
            if (n.horizontalHasArrows) {
              var l = (n.arrowSize - s.ARROW_IMG_SIZE) / 2,
                c = (n.horizontalScrollbarSize - s.ARROW_IMG_SIZE) / 2
              u._createArrow({
                className: 'left-arrow',
                top: c,
                left: l,
                bottom: void 0,
                right: void 0,
                bgWidth: n.arrowSize,
                bgHeight: n.horizontalScrollbarSize,
                onActivate: function() {
                  return u._host.onMouseWheel(
                    new i.StandardMouseWheelEvent(null, 1, 0)
                  )
                }
              }),
                u._createArrow({
                  className: 'right-arrow',
                  top: c,
                  left: void 0,
                  bottom: void 0,
                  right: l,
                  bgWidth: n.arrowSize,
                  bgHeight: n.horizontalScrollbarSize,
                  onActivate: function() {
                    return u._host.onMouseWheel(
                      new i.StandardMouseWheelEvent(null, -1, 0)
                    )
                  }
                })
            }
            return (
              u._createSlider(
                Math.floor(
                  (n.horizontalScrollbarSize - n.horizontalSliderSize) / 2
                ),
                0,
                null,
                n.horizontalSliderSize
              ),
              u
            )
          }
          return (
            f(t, e),
            (t.prototype._updateSlider = function(e, t) {
              this.slider.setWidth(e), this.slider.setLeft(t)
            }),
            (t.prototype._renderDomNode = function(e, t) {
              this.domNode.setWidth(e),
                this.domNode.setHeight(t),
                this.domNode.setLeft(0),
                this.domNode.setBottom(0)
            }),
            (t.prototype.onDidScroll = function(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
              )
            }),
            (t.prototype._mouseDownRelativePosition = function(e, t) {
              return e.posx - t.left
            }),
            (t.prototype._sliderMousePosition = function(e) {
              return e.posx
            }),
            (t.prototype._sliderOrthogonalMousePosition = function(e) {
              return e.posy
            }),
            (t.prototype._getScrollPosition = function() {
              return this._scrollable.getState().scrollLeft
            }),
            (t.prototype._setScrollPosition = function(e) {
              this._scrollable.updateState({ scrollLeft: e })
            }),
            (t.prototype.validateScrollPosition = function(e) {
              return this._scrollable.validateScrollLeft(e)
            }),
            t
          )
        })(n.AbstractScrollbar)
        t.HorizontalScrollbar = a
      }),
      define(d[463], h([0, 1, 186, 45, 51, 158, 132]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = (function(e) {
          function t(t, n, a) {
            var u =
              e.call(this, {
                lazyRender: n.lazyRender,
                host: a,
                scrollbarState: new r.ScrollbarState(
                  n.verticalHasArrows ? n.arrowSize : 0,
                  n.vertical === o.ScrollbarVisibility.Hidden
                    ? 0
                    : n.verticalScrollbarSize,
                  0
                ),
                visibility: n.vertical,
                extraScrollbarClassName: 'vertical',
                scrollable: t
              }) || this
            if (n.verticalHasArrows) {
              var l = (n.arrowSize - s.ARROW_IMG_SIZE) / 2,
                c = (n.verticalScrollbarSize - s.ARROW_IMG_SIZE) / 2
              u._createArrow({
                className: 'up-arrow',
                top: l,
                left: c,
                bottom: void 0,
                right: void 0,
                bgWidth: n.verticalScrollbarSize,
                bgHeight: n.arrowSize,
                onActivate: function() {
                  return u._host.onMouseWheel(
                    new i.StandardMouseWheelEvent(null, 0, 1)
                  )
                }
              }),
                u._createArrow({
                  className: 'down-arrow',
                  top: void 0,
                  left: c,
                  bottom: l,
                  right: void 0,
                  bgWidth: n.verticalScrollbarSize,
                  bgHeight: n.arrowSize,
                  onActivate: function() {
                    return u._host.onMouseWheel(
                      new i.StandardMouseWheelEvent(null, 0, -1)
                    )
                  }
                })
            }
            return (
              u._createSlider(
                0,
                Math.floor(
                  (n.verticalScrollbarSize - n.verticalSliderSize) / 2
                ),
                n.verticalSliderSize,
                null
              ),
              u
            )
          }
          return (
            f(t, e),
            (t.prototype._updateSlider = function(e, t) {
              this.slider.setHeight(e), this.slider.setTop(t)
            }),
            (t.prototype._renderDomNode = function(e, t) {
              this.domNode.setWidth(t),
                this.domNode.setHeight(e),
                this.domNode.setRight(0),
                this.domNode.setTop(0)
            }),
            (t.prototype.onDidScroll = function(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
              )
            }),
            (t.prototype._mouseDownRelativePosition = function(e, t) {
              return e.posy - t.top
            }),
            (t.prototype._sliderMousePosition = function(e) {
              return e.posy
            }),
            (t.prototype._sliderOrthogonalMousePosition = function(e) {
              return e.posx
            }),
            (t.prototype._getScrollPosition = function() {
              return this._scrollable.getState().scrollTop
            }),
            (t.prototype._setScrollPosition = function(e) {
              this._scrollable.updateState({ scrollTop: e })
            }),
            (t.prototype.validateScrollPosition = function(e) {
              return this._scrollable.validateScrollTop(e)
            }),
            t
          )
        })(n.AbstractScrollbar)
        t.VerticalScrollbar = a
      }),
      define(d[192], h([0, 1, 10, 3, 8, 18, 15]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = '$initialize',
          u = !1
        t.logOnceWebWorkerWarning = function(e) {
          s.isWeb &&
            (u ||
              ((u = !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))
        }
        var l = (function() {
            function e(e) {
              ;(this._workerId = -1),
                (this._handler = e),
                (this._lastSentReq = 0),
                (this._pendingReplies = Object.create(null))
            }
            return (
              (e.prototype.setWorkerId = function(e) {
                this._workerId = e
              }),
              (e.prototype.sendMessage = function(e, t) {
                var n = String(++this._lastSentReq),
                  i = { c: null, e: null },
                  r = new o.TPromise(
                    function(e, t, n) {
                      ;(i.c = e), (i.e = t)
                    },
                    function() {}
                  )
                return (
                  (this._pendingReplies[n] = i),
                  this._send({
                    vsWorker: this._workerId,
                    req: n,
                    method: e,
                    args: t
                  }),
                  r
                )
              }),
              (e.prototype.handleMessage = function(e) {
                var t
                try {
                  t = JSON.parse(e)
                } catch (e) {}
                t.vsWorker &&
                  ((-1 !== this._workerId && t.vsWorker !== this._workerId) ||
                    this._handleMessage(t))
              }),
              (e.prototype._handleMessage = function(e) {
                var t = this
                if (e.seq) {
                  var i = e
                  if (!this._pendingReplies[i.seq])
                    return void console.warn('Got reply to unknown seq')
                  var o = this._pendingReplies[i.seq]
                  if ((delete this._pendingReplies[i.seq], i.err)) {
                    var r = i.err
                    return (
                      i.err.$isError &&
                        (((r = new Error()).name = i.err.name),
                        (r.message = i.err.message),
                        (r.stack = i.err.stack)),
                      void o.e(r)
                    )
                  }
                  o.c(i.res)
                } else {
                  var s = e,
                    a = s.req
                  this._handler.handleMessage(s.method, s.args).then(
                    function(e) {
                      t._send({
                        vsWorker: t._workerId,
                        seq: a,
                        res: e,
                        err: void 0
                      })
                    },
                    function(e) {
                      t._send({
                        vsWorker: t._workerId,
                        seq: a,
                        res: void 0,
                        err: n.transformErrorForSerialization(e)
                      })
                    }
                  )
                }
              }),
              (e.prototype._send = function(e) {
                var t = JSON.stringify(e)
                this._handler.sendMessage(t)
              }),
              e
            )
          })(),
          c = (function(e) {
            function t(t, n) {
              var i = e.call(this) || this
              i._lastRequestTimestamp = -1
              var r = null,
                s = null
              ;(i._worker = i._register(
                t.create(
                  'vs/base/common/worker/simpleWorker',
                  function(e) {
                    i._protocol.handleMessage(e)
                  },
                  function(e) {
                    s(e)
                  }
                )
              )),
                (i._protocol = new l({
                  sendMessage: function(e) {
                    i._worker.postMessage(e)
                  },
                  handleMessage: function(e, t) {
                    return o.TPromise.as(null)
                  }
                })),
                i._protocol.setWorkerId(i._worker.getId())
              var u = null,
                c = self.require
              'function' == typeof c.getConfig
                ? (u = c.getConfig())
                : void 0 !== self.requirejs &&
                  (u = self.requirejs.s.contexts._.config),
                (i._lazyProxy = new o.TPromise(
                  function(e, t, n) {
                    ;(r = e), (s = t)
                  },
                  function() {}
                )),
                (i._onModuleLoaded = i._protocol.sendMessage(a, [
                  i._worker.getId(),
                  n,
                  u
                ])),
                i._onModuleLoaded.then(
                  function(e) {
                    for (var t = {}, n = 0; n < e.length; n++)
                      t[e[n]] = h(e[n], d)
                    r(t)
                  },
                  function(e) {
                    s(e), i._onError('Worker failed to load ' + n, e)
                  }
                )
              var d = function(e, t) {
                  return i._request(e, t)
                },
                h = function(e, t) {
                  return function() {
                    var n = Array.prototype.slice.call(arguments, 0)
                    return t(e, n)
                  }
                }
              return i
            }
            return (
              f(t, e),
              (t.prototype.getProxyObject = function() {
                return new r.ShallowCancelThenPromise(this._lazyProxy)
              }),
              (t.prototype.getLastRequestTimestamp = function() {
                return this._lastRequestTimestamp
              }),
              (t.prototype._request = function(e, t) {
                var n = this
                return new o.TPromise(
                  function(i, o, r) {
                    n._onModuleLoaded.then(function() {
                      ;(n._lastRequestTimestamp = Date.now()),
                        n._protocol.sendMessage(e, t).then(i, o)
                    }, o)
                  },
                  function() {}
                )
              }),
              (t.prototype._onError = function(e, t) {
                console.error(e), console.info(t)
              }),
              t
            )
          })(i.Disposable)
        t.SimpleWorkerClient = c
        var d = (function() {
          function t(e) {
            var t = this
            this._protocol = new l({
              sendMessage: function(t) {
                e(t)
              },
              handleMessage: function(e, n) {
                return t._handleMessage(e, n)
              }
            })
          }
          return (
            (t.prototype.onmessage = function(e) {
              this._protocol.handleMessage(e)
            }),
            (t.prototype._handleMessage = function(e, t) {
              if (e === a) return this.initialize(t[0], t[1], t[2])
              if (
                !this._requestHandler ||
                'function' != typeof this._requestHandler[e]
              )
                return o.TPromise.wrapError(
                  new Error('Missing requestHandler or method: ' + e)
                )
              try {
                return o.TPromise.as(
                  this._requestHandler[e].apply(this._requestHandler, t)
                )
              } catch (e) {
                return o.TPromise.wrapError(e)
              }
            }),
            (t.prototype.initialize = function(t, n, i) {
              var r = this
              if ((this._protocol.setWorkerId(t), i)) {
                void 0 !== i.baseUrl && delete i.baseUrl,
                  void 0 !== i.paths &&
                    void 0 !== i.paths.vs &&
                    delete i.paths.vs
                var s = i['vs/nls']
                s &&
                  s.pseudo &&
                  e(['vs/nls'], function(e) {
                    e.setPseudoTranslation(s.pseudo)
                  }),
                  (i.catchError = !0),
                  self.require.config(i)
              }
              var a,
                u,
                l = new o.TPromise(function(e, t, n) {
                  ;(a = e), (u = t)
                })
              return (
                self.require(
                  [n],
                  function() {
                    for (var e = [], t = 0; t < arguments.length; t++)
                      e[t] = arguments[t]
                    var n = e[0]
                    r._requestHandler = n.create()
                    var i = []
                    for (var o in r._requestHandler)
                      'function' == typeof r._requestHandler[o] && i.push(o)
                    a(i)
                  },
                  u
                ),
                l
              )
            }),
            t
          )
        })()
        ;(t.SimpleWorkerServer = d),
          (t.create = function(e) {
            return new d(e)
          })
      }),
      define(d[462], h([0, 1, 8, 29]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = (function() {
          function e(e) {
            this.modelProvider = i.isFunction(e.getModel)
              ? e
              : {
                  getModel: function() {
                    return e
                  }
                }
          }
          return (
            (e.prototype.getId = function(e, t) {
              if (!t) return null
              var n = this.modelProvider.getModel()
              return n === t ? '__root__' : n.dataSource.getId(t)
            }),
            (e.prototype.hasChildren = function(e, t) {
              var n = this.modelProvider.getModel()
              return n && n === t && n.entries.length > 0
            }),
            (e.prototype.getChildren = function(e, t) {
              var i = this.modelProvider.getModel()
              return n.TPromise.as(i === t ? i.entries : [])
            }),
            (e.prototype.getParent = function(e, t) {
              return n.TPromise.as(null)
            }),
            e
          )
        })()
        t.DataSource = o
        var r = (function() {
          function e(e) {
            this.modelProvider = e
          }
          return (
            (e.prototype.getAriaLabel = function(e, t) {
              var n = this.modelProvider.getModel()
              return (
                n.accessibilityProvider &&
                n.accessibilityProvider.getAriaLabel(t)
              )
            }),
            (e.prototype.getPosInSet = function(e, t) {
              var n = this.modelProvider.getModel()
              return String(n.entries.indexOf(t) + 1)
            }),
            (e.prototype.getSetSize = function() {
              var e = this.modelProvider.getModel()
              return String(e.entries.length)
            }),
            e
          )
        })()
        t.AccessibilityProvider = r
        var s = (function() {
          function e(e) {
            this.modelProvider = e
          }
          return (
            (e.prototype.isVisible = function(e, t) {
              var n = this.modelProvider.getModel()
              return !n.filter || n.filter.isVisible(t)
            }),
            e
          )
        })()
        t.Filter = s
        var a = (function() {
          function e(e, t) {
            ;(this.modelProvider = e), (this.styles = t)
          }
          return (
            (e.prototype.updateStyles = function(e) {
              this.styles = e
            }),
            (e.prototype.getHeight = function(e, t) {
              return this.modelProvider.getModel().renderer.getHeight(t)
            }),
            (e.prototype.getTemplateId = function(e, t) {
              return this.modelProvider.getModel().renderer.getTemplateId(t)
            }),
            (e.prototype.renderTemplate = function(e, t, n) {
              return this.modelProvider
                .getModel()
                .renderer.renderTemplate(t, n, this.styles)
            }),
            (e.prototype.renderElement = function(e, t, n, i) {
              this.modelProvider
                .getModel()
                .renderer.renderElement(t, n, i, this.styles)
            }),
            (e.prototype.disposeTemplate = function(e, t, n) {
              this.modelProvider.getModel().renderer.disposeTemplate(t, n)
            }),
            e
          )
        })()
        t.Renderer = a
      }),
      define(d[93], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        !(function(e) {
          ;(e[(e.PREVIEW = 0)] = 'PREVIEW'),
            (e[(e.OPEN = 1)] = 'OPEN'),
            (e[(e.OPEN_IN_BACKGROUND = 2)] = 'OPEN_IN_BACKGROUND')
        })(t.Mode || (t.Mode = {}))
      }),
      define(d[456], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var n = (function() {
          function e(e, t, n) {
            ;(this._posx = e), (this._posy = t), (this._target = n)
          }
          return (
            (e.prototype.preventDefault = function() {}),
            (e.prototype.stopPropagation = function() {}),
            Object.defineProperty(e.prototype, 'posx', {
              get: function() {
                return this._posx
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'posy', {
              get: function() {
                return this._posy
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'target', {
              get: function() {
                return this._target
              },
              enumerable: !0,
              configurable: !0
            }),
            e
          )
        })()
        t.ContextMenuEvent = n
        var i = (function(e) {
          function t(t) {
            var n = e.call(this, t.posx, t.posy, t.target) || this
            return (n.originalEvent = t), n
          }
          return (
            f(t, e),
            (t.prototype.preventDefault = function() {
              this.originalEvent.preventDefault()
            }),
            (t.prototype.stopPropagation = function() {
              this.originalEvent.stopPropagation()
            }),
            t
          )
        })(n)
        t.MouseContextMenuEvent = i
        var o = (function(e) {
          function t(t, n, i) {
            var o = e.call(this, t, n, i.target) || this
            return (o.originalEvent = i), o
          }
          return (
            f(t, e),
            (t.prototype.preventDefault = function() {
              this.originalEvent.preventDefault()
            }),
            (t.prototype.stopPropagation = function() {
              this.originalEvent.stopPropagation()
            }),
            t
          )
        })(n)
        t.KeyboardContextMenuEvent = o
        var r
        !(function(e) {
          ;(e[(e.COPY = 0)] = 'COPY'), (e[(e.MOVE = 1)] = 'MOVE')
        })((r = t.DragOverEffect || (t.DragOverEffect = {})))
        var s
        !(function(e) {
          ;(e[(e.BUBBLE_DOWN = 0)] = 'BUBBLE_DOWN'),
            (e[(e.BUBBLE_UP = 1)] = 'BUBBLE_UP')
        })((s = t.DragOverBubble || (t.DragOverBubble = {}))),
          (t.DRAG_OVER_REJECT = { accept: !1 }),
          (t.DRAG_OVER_ACCEPT = { accept: !0 }),
          (t.DRAG_OVER_ACCEPT_BUBBLE_UP = { accept: !0, bubble: s.BUBBLE_UP }),
          (t.DRAG_OVER_ACCEPT_BUBBLE_DOWN = function(e) {
            return (
              void 0 === e && (e = !1),
              { accept: !0, bubble: s.BUBBLE_DOWN, autoExpand: e }
            )
          }),
          (t.DRAG_OVER_ACCEPT_BUBBLE_UP_COPY = {
            accept: !0,
            bubble: s.BUBBLE_UP,
            effect: r.COPY
          }),
          (t.DRAG_OVER_ACCEPT_BUBBLE_DOWN_COPY = function(e) {
            return (
              void 0 === e && (e = !1),
              {
                accept: !0,
                bubble: s.BUBBLE_DOWN,
                effect: r.COPY,
                autoExpand: e
              }
            )
          })
      }),
      define(d[451], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var n = (function() {
          function e(e) {
            this.elements = e
          }
          return (
            (e.prototype.update = function(e) {}),
            (e.prototype.getData = function() {
              return this.elements
            }),
            e
          )
        })()
        t.ElementsDragAndDropData = n
        var i = (function() {
          function e(e) {
            this.elements = e
          }
          return (
            (e.prototype.update = function(e) {}),
            (e.prototype.getData = function() {
              return this.elements
            }),
            e
          )
        })()
        t.ExternalElementsDragAndDropData = i
        var o = (function() {
          function e() {
            ;(this.types = []), (this.files = [])
          }
          return (
            (e.prototype.update = function(e) {
              e.dataTransfer.types &&
                ((this.types = []),
                Array.prototype.push.apply(this.types, e.dataTransfer.types)),
                e.dataTransfer.files &&
                  ((this.files = []),
                  Array.prototype.push.apply(this.files, e.dataTransfer.files),
                  (this.files = this.files.filter(function(e) {
                    return e.size || e.type
                  })))
            }),
            (e.prototype.getData = function() {
              return { types: this.types, files: this.files }
            }),
            e
          )
        })()
        t.DesktopDragAndDropData = o
      }),
      define(d[447], h([0, 1, 76, 10, 3, 27, 38, 8]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a
      ) {
        'use strict'
        function u(e, t) {
          for (
            var n = e.getHierarchy(),
              i = t.getHierarchy(),
              o = n[r.commonPrefixLength(n, i) - 1],
              s = o.getNavigator(),
              a = null,
              u = null,
              l = 0,
              c = [];
            o && (null === a || null === u);

          )
            c.push(o),
              o === e && (a = l),
              o === t && (u = l),
              l++,
              (o = s.next())
          if (null === a || null === u) return []
          var d = Math.min(a, u),
            h = Math.max(a, u)
          return c.slice(d, h + 1)
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var l = (function(e) {
          function t(t) {
            var n = e.call(this) || this
            return (n._item = t), n
          }
          return (
            f(t, e),
            Object.defineProperty(t.prototype, 'item', {
              get: function() {
                return this._item
              },
              enumerable: !0,
              configurable: !0
            }),
            (t.prototype.dispose = function() {
              this.emit('unlock'), e.prototype.dispose.call(this)
            }),
            t
          )
        })(s.EventEmitter)
        t.LockData = l
        var c = (function() {
          function e() {
            this.locks = Object.create({})
          }
          return (
            (e.prototype.isLocked = function(e) {
              return !!this.locks[e.id]
            }),
            (e.prototype.run = function(e, t) {
              var n = this,
                i = this.getLock(e)
              if (i) {
                var o
                return new a.Promise(
                  function(r, s) {
                    o = i.addOneTimeListener('unlock', function() {
                      return n.run(e, t).then(r, s)
                    })
                  },
                  function() {
                    o.dispose()
                  }
                )
              }
              var r
              return new a.Promise(
                function(i, o) {
                  if (e.isDisposed()) return o(new Error('Item is disposed.'))
                  var s = (n.locks[e.id] = new l(e))
                  return (r = t()
                    .then(function(t) {
                      return delete n.locks[e.id], s.dispose(), t
                    })
                    .then(i, o))
                },
                function() {
                  return r.cancel()
                }
              )
            }),
            (e.prototype.getLock = function(e) {
              var t
              for (t in this.locks) {
                var n = this.locks[t]
                if (e.intersects(n.item)) return n
              }
              return null
            }),
            e
          )
        })()
        t.Lock = c
        var d = (function(e) {
          function t() {
            var t = e.call(this) || this
            return (t._isDisposed = !1), (t.items = {}), t
          }
          return (
            f(t, e),
            (t.prototype.register = function(e) {
              n.ok(
                !this.isRegistered(e.id),
                'item already registered: ' + e.id
              ),
                (this.items[e.id] = { item: e, disposable: this.addEmitter(e) })
            }),
            (t.prototype.deregister = function(e) {
              n.ok(this.isRegistered(e.id), 'item not registered: ' + e.id),
                this.items[e.id].disposable.dispose(),
                delete this.items[e.id]
            }),
            (t.prototype.isRegistered = function(e) {
              return this.items.hasOwnProperty(e)
            }),
            (t.prototype.getItem = function(e) {
              var t = this.items[e]
              return t ? t.item : null
            }),
            (t.prototype.dispose = function() {
              e.prototype.dispose.call(this),
                (this.items = null),
                (this._isDisposed = !0)
            }),
            (t.prototype.isDisposed = function() {
              return this._isDisposed
            }),
            t
          )
        })(s.EventEmitter)
        t.ItemRegistry = d
        var h = (function(e) {
          function t(t, n, i, o, r) {
            var s = e.call(this) || this
            return (
              (s.registry = n),
              (s.context = i),
              (s.lock = o),
              (s.element = r),
              (s.id = t),
              s.registry.register(s),
              (s.doesHaveChildren = s.context.dataSource.hasChildren(
                s.context.tree,
                s.element
              )),
              (s.needsChildrenRefresh = !0),
              (s.parent = null),
              (s.previous = null),
              (s.next = null),
              (s.firstChild = null),
              (s.lastChild = null),
              (s.userContent = null),
              (s.traits = {}),
              (s.depth = 0),
              (s.expanded =
                s.context.dataSource.shouldAutoexpand &&
                s.context.dataSource.shouldAutoexpand(s.context.tree, r)),
              s.emit('item:create', { item: s }),
              (s.visible = s._isVisible()),
              (s.height = s._getHeight()),
              (s._isDisposed = !1),
              s
            )
          }
          return (
            f(t, e),
            (t.prototype.getElement = function() {
              return this.element
            }),
            (t.prototype.hasChildren = function() {
              return this.doesHaveChildren
            }),
            (t.prototype.getDepth = function() {
              return this.depth
            }),
            (t.prototype.isVisible = function() {
              return this.visible
            }),
            (t.prototype.setVisible = function(e) {
              this.visible = e
            }),
            (t.prototype.isExpanded = function() {
              return this.expanded
            }),
            (t.prototype._setExpanded = function(e) {
              this.expanded = e
            }),
            (t.prototype.reveal = function(e) {
              void 0 === e && (e = null)
              var t = { item: this, relativeTop: e }
              this.emit('item:reveal', t)
            }),
            (t.prototype.expand = function() {
              var e = this
              return this.isExpanded() ||
                !this.doesHaveChildren ||
                this.lock.isLocked(this)
                ? a.TPromise.as(!1)
                : this.lock
                    .run(this, function() {
                      var t = { item: e }
                      return (
                        e.emit('item:expanding', t),
                        (e.needsChildrenRefresh
                          ? e.refreshChildren(!1, !0, !0)
                          : a.TPromise.as(null)
                        ).then(function() {
                          return (
                            e._setExpanded(!0), e.emit('item:expanded', t), !0
                          )
                        })
                      )
                    })
                    .then(function(t) {
                      return (
                        !e.isDisposed() &&
                        (e.context.options.autoExpandSingleChildren &&
                        t &&
                        null !== e.firstChild &&
                        e.firstChild === e.lastChild &&
                        e.firstChild.isVisible()
                          ? e.firstChild.expand().then(function() {
                              return !0
                            })
                          : t)
                      )
                    })
            }),
            (t.prototype.collapse = function(e) {
              var t = this
              if ((void 0 === e && (e = !1), e)) {
                var n = a.TPromise.as(null)
                return (
                  this.forEachChild(function(e) {
                    n = n.then(function() {
                      return e.collapse(!0)
                    })
                  }),
                  n.then(function() {
                    return t.collapse(!1)
                  })
                )
              }
              return !this.isExpanded() || this.lock.isLocked(this)
                ? a.TPromise.as(!1)
                : this.lock.run(this, function() {
                    var e = { item: t }
                    return (
                      t.emit('item:collapsing', e),
                      t._setExpanded(!1),
                      t.emit('item:collapsed', e),
                      a.TPromise.as(!0)
                    )
                  })
            }),
            (t.prototype.addTrait = function(e) {
              var t = { item: this, trait: e }
              ;(this.traits[e] = !0), this.emit('item:addTrait', t)
            }),
            (t.prototype.removeTrait = function(e) {
              var t = { item: this, trait: e }
              delete this.traits[e], this.emit('item:removeTrait', t)
            }),
            (t.prototype.hasTrait = function(e) {
              return this.traits[e] || !1
            }),
            (t.prototype.getAllTraits = function() {
              var e,
                t = []
              for (e in this.traits)
                this.traits.hasOwnProperty(e) && this.traits[e] && t.push(e)
              return t
            }),
            (t.prototype.getHeight = function() {
              return this.height
            }),
            (t.prototype.refreshChildren = function(e, n, o) {
              var r = this
              if (
                (void 0 === n && (n = !1),
                void 0 === o && (o = !1),
                !o && !this.isExpanded())
              )
                return (this.needsChildrenRefresh = !0), a.TPromise.as(this)
              this.needsChildrenRefresh = !1
              var s = function() {
                var o = { item: r, isNested: n }
                r.emit('item:childrenRefreshing', o)
                return (r.doesHaveChildren
                  ? r.context.dataSource.getChildren(r.context.tree, r.element)
                  : a.TPromise.as([])
                )
                  .then(function(n) {
                    if (r.isDisposed() || r.registry.isDisposed())
                      return a.TPromise.as(null)
                    ;(n = n ? n.slice(0) : []), (n = r.sort(n))
                    for (var i = {}; null !== r.firstChild; )
                      (i[r.firstChild.id] = r.firstChild),
                        r.removeChild(r.firstChild)
                    for (var o = 0, s = n.length; o < s; o++) {
                      var u = n[o],
                        l = r.context.dataSource.getId(r.context.tree, u),
                        c = i[l] || new t(l, r.registry, r.context, r.lock, u)
                      ;(c.element = u),
                        e && (c.needsChildrenRefresh = e),
                        delete i[l],
                        r.addChild(c)
                    }
                    for (var d in i) i.hasOwnProperty(d) && i[d].dispose()
                    return e
                      ? a.Promise.join(
                          r.mapEachChild(function(t) {
                            return t.doRefresh(e, !0)
                          })
                        )
                      : a.TPromise.as(null)
                  })
                  .then(null, i.onUnexpectedError)
                  .then(function() {
                    return r.emit('item:childrenRefreshed', o)
                  })
              }
              return n ? s() : this.lock.run(this, s)
            }),
            (t.prototype.doRefresh = function(e, t) {
              void 0 === t && (t = !1)
              var n = { item: this }
              return (
                (this.doesHaveChildren = this.context.dataSource.hasChildren(
                  this.context.tree,
                  this.element
                )),
                (this.height = this._getHeight()),
                this.setVisible(this._isVisible()),
                this.emit('item:refresh', n),
                this.refreshChildren(e, t)
              )
            }),
            (t.prototype.refresh = function(e) {
              return this.doRefresh(e)
            }),
            (t.prototype.getNavigator = function() {
              return new g(this)
            }),
            (t.prototype.intersects = function(e) {
              return this.isAncestorOf(e) || e.isAncestorOf(this)
            }),
            (t.prototype.getHierarchy = function() {
              var e = [],
                t = this
              do {
                e.push(t), (t = t.parent)
              } while (t)
              return e.reverse(), e
            }),
            (t.prototype.isAncestorOf = function(e) {
              for (; e; ) {
                if (e.id === this.id) return !0
                e = e.parent
              }
              return !1
            }),
            (t.prototype.addChild = function(e, t) {
              void 0 === t && (t = this.lastChild)
              var n = null === this.firstChild,
                i = null === t,
                o = t === this.lastChild
              n
                ? ((this.firstChild = this.lastChild = e),
                  (e.next = e.previous = null))
                : i
                  ? ((this.firstChild.previous = e),
                    (e.next = this.firstChild),
                    (e.previous = null),
                    (this.firstChild = e))
                  : o
                    ? ((this.lastChild.next = e),
                      (e.next = null),
                      (e.previous = this.lastChild),
                      (this.lastChild = e))
                    : ((e.previous = t),
                      (e.next = t.next),
                      (t.next.previous = e),
                      (t.next = e)),
                (e.parent = this),
                (e.depth = this.depth + 1)
            }),
            (t.prototype.removeChild = function(e) {
              var t = this.firstChild === e,
                n = this.lastChild === e
              t && n
                ? (this.firstChild = this.lastChild = null)
                : t
                  ? ((e.next.previous = null), (this.firstChild = e.next))
                  : n
                    ? ((e.previous.next = null), (this.lastChild = e.previous))
                    : ((e.next.previous = e.previous),
                      (e.previous.next = e.next)),
                (e.parent = null),
                (e.depth = null)
            }),
            (t.prototype.forEachChild = function(e) {
              for (var t, n = this.firstChild; n; ) (t = n.next), e(n), (n = t)
            }),
            (t.prototype.mapEachChild = function(e) {
              var t = []
              return (
                this.forEachChild(function(n) {
                  t.push(e(n))
                }),
                t
              )
            }),
            (t.prototype.sort = function(e) {
              var t = this
              return this.context.sorter
                ? e.sort(function(e, n) {
                    return t.context.sorter.compare(t.context.tree, e, n)
                  })
                : e
            }),
            (t.prototype._getHeight = function() {
              return this.context.renderer.getHeight(
                this.context.tree,
                this.element
              )
            }),
            (t.prototype._isVisible = function() {
              return this.context.filter.isVisible(
                this.context.tree,
                this.element
              )
            }),
            (t.prototype.isDisposed = function() {
              return this._isDisposed
            }),
            (t.prototype.dispose = function() {
              this.forEachChild(function(e) {
                return e.dispose()
              }),
                (this.parent = null),
                (this.previous = null),
                (this.next = null),
                (this.firstChild = null),
                (this.lastChild = null)
              var t = { item: this }
              this.emit('item:dispose', t),
                this.registry.deregister(this),
                e.prototype.dispose.call(this),
                (this._isDisposed = !0)
            }),
            t
          )
        })(s.EventEmitter)
        t.Item = h
        var p = (function(e) {
            function t(t, n, i, o, r) {
              return e.call(this, t, n, i, o, r) || this
            }
            return (
              f(t, e),
              (t.prototype.isVisible = function() {
                return !1
              }),
              (t.prototype.setVisible = function(e) {}),
              (t.prototype.isExpanded = function() {
                return !0
              }),
              (t.prototype._setExpanded = function(e) {}),
              (t.prototype.render = function() {}),
              (t.prototype._getHeight = function() {
                return 0
              }),
              (t.prototype._isVisible = function() {
                return !1
              }),
              t
            )
          })(h),
          g = (function() {
            function e(e, t) {
              void 0 === t && (t = !0),
                (this.item = e),
                (this.start = t ? e : null)
            }
            return (
              (e.lastDescendantOf = function(t) {
                return t
                  ? t instanceof p ||
                    (t.isVisible() && t.isExpanded() && null !== t.lastChild)
                    ? e.lastDescendantOf(t.lastChild)
                    : t
                  : null
              }),
              (e.prototype.current = function() {
                return this.item || null
              }),
              (e.prototype.next = function() {
                if (this.item)
                  do {
                    if (
                      (this.item instanceof p ||
                        (this.item.isVisible() && this.item.isExpanded())) &&
                      this.item.firstChild
                    )
                      this.item = this.item.firstChild
                    else if (this.item === this.start) this.item = null
                    else {
                      for (
                        ;
                        this.item &&
                        this.item !== this.start &&
                        !this.item.next;

                      )
                        this.item = this.item.parent
                      this.item === this.start && (this.item = null),
                        (this.item = this.item ? this.item.next : null)
                    }
                  } while (this.item && !this.item.isVisible())
                return this.item || null
              }),
              (e.prototype.previous = function() {
                if (this.item)
                  do {
                    var t = e.lastDescendantOf(this.item.previous)
                    t
                      ? (this.item = t)
                      : this.item.parent &&
                        this.item.parent !== this.start &&
                        this.item.parent.isVisible()
                        ? (this.item = this.item.parent)
                        : (this.item = null)
                  } while (this.item && !this.item.isVisible())
                return this.item || null
              }),
              (e.prototype.parent = function() {
                if (this.item) {
                  var e = this.item.parent
                  e && e !== this.start && e.isVisible()
                    ? (this.item = e)
                    : (this.item = null)
                }
                return this.item || null
              }),
              (e.prototype.first = function() {
                return (this.item = this.start), this.next(), this.item || null
              }),
              (e.prototype.last = function() {
                return e.lastDescendantOf(this.start)
              }),
              e
            )
          })()
        t.TreeNavigator = g
        var m = (function(e) {
          function t(t) {
            var n = e.call(this) || this
            return (n.context = t), (n.input = null), (n.traitsToItems = {}), n
          }
          return (
            f(t, e),
            (t.prototype.setInput = function(e) {
              var t = this,
                n = { item: this.input }
              this.emit('clearingInput', n),
                this.setSelection([]),
                this.setFocus(),
                this.setHighlight(),
                (this.lock = new c()),
                this.input && this.input.dispose(),
                this.registry &&
                  (this.registry.dispose(), this.registryDisposable.dispose()),
                (this.registry = new d()),
                (this.registryDisposable = o.combinedDisposable([
                  this.addEmitter(this.registry),
                  this.registry.addListener('item:dispose', function(e) {
                    e.item.getAllTraits().forEach(function(n) {
                      return delete t.traitsToItems[n][e.item.id]
                    })
                  })
                ]))
              var i = this.context.dataSource.getId(this.context.tree, e)
              return (
                (this.input = new p(
                  i,
                  this.registry,
                  this.context,
                  this.lock,
                  e
                )),
                (n = { item: this.input }),
                this.emit('setInput', n),
                this.refresh(this.input)
              )
            }),
            (t.prototype.getInput = function() {
              return this.input ? this.input.getElement() : null
            }),
            (t.prototype.refresh = function(e, t) {
              var n = this
              void 0 === e && (e = null), void 0 === t && (t = !0)
              var i = this.getItem(e)
              if (!i) return a.TPromise.as(null)
              var o = { item: i, recursive: t }
              return (
                this.emit('refreshing', o),
                i.refresh(t).then(function() {
                  n.emit('refreshed', o)
                })
              )
            }),
            (t.prototype.expand = function(e) {
              var t = this.getItem(e)
              return t ? t.expand() : a.TPromise.as(!1)
            }),
            (t.prototype.expandAll = function(e) {
              if (!e) {
                e = []
                for (var t, n = this.getNavigator(); (t = n.next()); ) e.push(t)
              }
              for (var i = [], o = 0, r = e.length; o < r; o++)
                i.push(this.expand(e[o]))
              return a.Promise.join(i)
            }),
            (t.prototype.collapse = function(e, t) {
              void 0 === t && (t = !1)
              var n = this.getItem(e)
              return n ? n.collapse(t) : a.TPromise.as(!1)
            }),
            (t.prototype.collapseAll = function(e, t) {
              void 0 === e && (e = null),
                void 0 === t && (t = !1),
                e || ((e = [this.input]), (t = !0))
              for (var n = [], i = 0, o = e.length; i < o; i++)
                n.push(this.collapse(e[i], t))
              return a.Promise.join(n)
            }),
            (t.prototype.toggleExpansion = function(e) {
              return this.isExpanded(e) ? this.collapse(e) : this.expand(e)
            }),
            (t.prototype.toggleExpansionAll = function(e) {
              for (var t = [], n = 0, i = e.length; n < i; n++)
                t.push(this.toggleExpansion(e[n]))
              return a.Promise.join(t)
            }),
            (t.prototype.isExpanded = function(e) {
              var t = this.getItem(e)
              return !!t && t.isExpanded()
            }),
            (t.prototype.getExpandedElements = function() {
              for (var e, t = [], n = this.getNavigator(); (e = n.next()); )
                e.isExpanded() && t.push(e.getElement())
              return t
            }),
            (t.prototype.reveal = function(e, t) {
              var n = this
              return (
                void 0 === t && (t = null),
                this.resolveUnknownParentChain(e)
                  .then(function(e) {
                    var t = a.TPromise.as(null)
                    return (
                      e.forEach(function(e) {
                        t = t.then(function() {
                          return n.expand(e)
                        })
                      }),
                      t
                    )
                  })
                  .then(function() {
                    var i = n.getItem(e)
                    if (i) return i.reveal(t)
                  })
              )
            }),
            (t.prototype.resolveUnknownParentChain = function(e) {
              var t = this
              return this.context.dataSource
                .getParent(this.context.tree, e)
                .then(function(e) {
                  return e
                    ? t.resolveUnknownParentChain(e).then(function(t) {
                        return t.push(e), t
                      })
                    : a.TPromise.as([])
                })
            }),
            (t.prototype.setHighlight = function(e, t) {
              this.setTraits('highlighted', e ? [e] : [])
              var n = { highlight: this.getHighlight(), payload: t }
              this.emit('highlight', n)
            }),
            (t.prototype.getHighlight = function(e) {
              var t = this.getElementsWithTrait('highlighted', e)
              return 0 === t.length ? null : t[0]
            }),
            (t.prototype.isHighlighted = function(e) {
              var t = this.getItem(e)
              return !!t && t.hasTrait('highlighted')
            }),
            (t.prototype.select = function(e, t) {
              this.selectAll([e], t)
            }),
            (t.prototype.selectRange = function(e, t, n) {
              var i = this.getItem(e),
                o = this.getItem(t)
              i && o && this.selectAll(u(i, o), n)
            }),
            (t.prototype.deselectRange = function(e, t, n) {
              var i = this.getItem(e),
                o = this.getItem(t)
              i && o && this.deselectAll(u(i, o), n)
            }),
            (t.prototype.selectAll = function(e, t) {
              this.addTraits('selected', e)
              var n = { selection: this.getSelection(), payload: t }
              this.emit('selection', n)
            }),
            (t.prototype.deselect = function(e, t) {
              this.deselectAll([e], t)
            }),
            (t.prototype.deselectAll = function(e, t) {
              this.removeTraits('selected', e)
              var n = { selection: this.getSelection(), payload: t }
              this.emit('selection', n)
            }),
            (t.prototype.setSelection = function(e, t) {
              this.setTraits('selected', e)
              var n = { selection: this.getSelection(), payload: t }
              this.emit('selection', n)
            }),
            (t.prototype.toggleSelection = function(e, t) {
              this.toggleTrait('selected', e)
              var n = { selection: this.getSelection(), payload: t }
              this.emit('selection', n)
            }),
            (t.prototype.isSelected = function(e) {
              var t = this.getItem(e)
              return !!t && t.hasTrait('selected')
            }),
            (t.prototype.getSelection = function(e) {
              return this.getElementsWithTrait('selected', e)
            }),
            (t.prototype.selectNext = function(e, t, n) {
              void 0 === e && (e = 1), void 0 === t && (t = !0)
              for (
                var i,
                  o = this.getSelection(),
                  r = o.length > 0 ? o[0] : this.input,
                  s = this.getNavigator(r, !1),
                  a = 0;
                a < e && (i = s.next());
                a++
              )
                r = i
              t ? this.setSelection([r], n) : this.select(r, n)
            }),
            (t.prototype.selectPrevious = function(e, t, n) {
              void 0 === e && (e = 1), void 0 === t && (t = !0)
              var i = this.getSelection(),
                o = null,
                r = null
              if (0 === i.length) {
                for (s = this.getNavigator(this.input); (o = s.next()); ) r = o
                o = r
              } else {
                o = i[0]
                for (
                  var s = this.getNavigator(o, !1), a = 0;
                  a < e && (r = s.previous());
                  a++
                )
                  o = r
              }
              t ? this.setSelection([o], n) : this.select(o, n)
            }),
            (t.prototype.selectParent = function(e, t) {
              void 0 === t && (t = !0)
              var n = this.getSelection(),
                i = n.length > 0 ? n[0] : this.input,
                o = this.getNavigator(i, !1).parent()
              o && (t ? this.setSelection([o], e) : this.select(o, e))
            }),
            (t.prototype.setFocus = function(e, t) {
              this.setTraits('focused', e ? [e] : [])
              var n = { focus: this.getFocus(), payload: t }
              this.emit('focus', n)
            }),
            (t.prototype.isFocused = function(e) {
              var t = this.getItem(e)
              return !!t && t.hasTrait('focused')
            }),
            (t.prototype.getFocus = function(e) {
              var t = this.getElementsWithTrait('focused', e)
              return 0 === t.length ? null : t[0]
            }),
            (t.prototype.focusNext = function(e, t) {
              void 0 === e && (e = 1)
              for (
                var n,
                  i = this.getFocus() || this.input,
                  o = this.getNavigator(i, !1),
                  r = 0;
                r < e && (n = o.next());
                r++
              )
                i = n
              this.setFocus(i, t)
            }),
            (t.prototype.focusPrevious = function(e, t) {
              void 0 === e && (e = 1)
              for (
                var n,
                  i = this.getFocus() || this.input,
                  o = this.getNavigator(i, !1),
                  r = 0;
                r < e && (n = o.previous());
                r++
              )
                i = n
              this.setFocus(i, t)
            }),
            (t.prototype.focusParent = function(e) {
              var t = this.getFocus() || this.input,
                n = this.getNavigator(t, !1).parent()
              n && this.setFocus(n, e)
            }),
            (t.prototype.focusFirstChild = function(e) {
              var t = this.getItem(this.getFocus() || this.input),
                n = this.getNavigator(t, !1),
                i = n.next()
              n.parent() === t && this.setFocus(i, e)
            }),
            (t.prototype.focusFirst = function(e, t) {
              this.focusNth(0, e, t)
            }),
            (t.prototype.focusNth = function(e, t, n) {
              for (
                var i = this.getParent(n),
                  o = this.getNavigator(i),
                  r = o.first(),
                  s = 0;
                s < e;
                s++
              )
                r = o.next()
              r && this.setFocus(r, t)
            }),
            (t.prototype.focusLast = function(e, t) {
              var n,
                i = this.getParent(t)
              ;(n = t ? i.lastChild : this.getNavigator(i).last()) &&
                this.setFocus(n, e)
            }),
            (t.prototype.getParent = function(e) {
              if (e) {
                var t = this.getItem(e)
                if (t && t.parent) return t.parent
              }
              return this.getItem(this.input)
            }),
            (t.prototype.getNavigator = function(e, t) {
              return (
                void 0 === e && (e = null),
                void 0 === t && (t = !0),
                new g(this.getItem(e), t)
              )
            }),
            (t.prototype.getItem = function(e) {
              return (
                void 0 === e && (e = null),
                null === e
                  ? this.input
                  : e instanceof h
                    ? e
                    : 'string' == typeof e
                      ? this.registry.getItem(e)
                      : this.registry.getItem(
                          this.context.dataSource.getId(this.context.tree, e)
                        )
              )
            }),
            (t.prototype.addTraits = function(e, t) {
              for (
                var n, i = this.traitsToItems[e] || {}, o = 0, r = t.length;
                o < r;
                o++
              )
                (n = this.getItem(t[o])) && (n.addTrait(e), (i[n.id] = n))
              this.traitsToItems[e] = i
            }),
            (t.prototype.removeTraits = function(e, t) {
              var n,
                i,
                o = this.traitsToItems[e] || {}
              if (0 === t.length) {
                for (i in o) o.hasOwnProperty(i) && (n = o[i]).removeTrait(e)
                delete this.traitsToItems[e]
              } else
                for (var r = 0, s = t.length; r < s; r++)
                  (n = this.getItem(t[r])) && (n.removeTrait(e), delete o[n.id])
            }),
            (t.prototype.hasTrait = function(e, t) {
              var n = this.getItem(t)
              return n && n.hasTrait(e)
            }),
            (t.prototype.toggleTrait = function(e, t) {
              var n = this.getItem(t)
              n &&
                (n.hasTrait(e)
                  ? this.removeTraits(e, [t])
                  : this.addTraits(e, [t]))
            }),
            (t.prototype.setTraits = function(e, t) {
              if (0 === t.length) this.removeTraits(e, t)
              else {
                for (var n, i = {}, o = 0, r = t.length; o < r; o++)
                  (n = this.getItem(t[o])) && (i[n.id] = n)
                var s,
                  a = this.traitsToItems[e] || {},
                  u = []
                for (s in a)
                  a.hasOwnProperty(s) &&
                    (i.hasOwnProperty(s) ? delete i[s] : u.push(a[s]))
                for (var o = 0, r = u.length; o < r; o++)
                  (n = u[o]).removeTrait(e), delete a[n.id]
                for (s in i)
                  i.hasOwnProperty(s) && ((n = i[s]).addTrait(e), (a[s] = n))
                this.traitsToItems[e] = a
              }
            }),
            (t.prototype.getElementsWithTrait = function(e, t) {
              var n,
                i = [],
                o = this.traitsToItems[e] || {}
              for (n in o)
                o.hasOwnProperty(n) &&
                  (o[n].isVisible() || t) &&
                  i.push(o[n].getElement())
              return i
            }),
            (t.prototype.dispose = function() {
              this.registry &&
                (this.registry.dispose(), (this.registry = null)),
                e.prototype.dispose.call(this)
            }),
            t
          )
        })(s.EventEmitter)
        t.TreeModel = m
      }),
      define(d[438], h([0, 1, 38, 107]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = (function(e) {
          function t() {
            var t = e.call(this) || this
            return (t.heightMap = []), (t.indexes = {}), t
          }
          return (
            f(t, e),
            (t.prototype.getTotalHeight = function() {
              var e = this.heightMap[this.heightMap.length - 1]
              return e ? e.top + e.height : 0
            }),
            (t.prototype.onInsertItems = function(e, t) {
              void 0 === t && (t = null)
              var n,
                i,
                o,
                r,
                s,
                a = 0
              if (null === t) (o = 0), (s = 0)
              else {
                if (((o = this.indexes[t] + 1), !(i = this.heightMap[o - 1])))
                  return void console.error('view item doesnt exist')
                s = i.top + i.height
              }
              for (
                var u = this.heightMap.splice.bind(this.heightMap, o, 0),
                  l = [];
                (n = e.next());

              )
                ((i = this.createViewItem(n)).top = s + a),
                  this.emit('viewItem:create', { item: i.model }),
                  (this.indexes[n.id] = o++),
                  l.push(i),
                  (a += i.height)
              for (
                u.apply(this.heightMap, l), r = o;
                r < this.heightMap.length;
                r++
              )
                ((i = this.heightMap[r]).top += a),
                  (this.indexes[i.model.id] = r)
              for (r = l.length - 1; r >= 0; r--) this.onInsertItem(l[r])
              for (r = this.heightMap.length - 1; r >= o; r--)
                this.onRefreshItem(this.heightMap[r])
              return a
            }),
            (t.prototype.onInsertItem = function(e) {}),
            (t.prototype.onRemoveItems = function(e) {
              for (var t, n, i, o = null, r = 0; (t = e.next()); ) {
                if (((i = this.indexes[t]), !(n = this.heightMap[i])))
                  return void console.error('view item doesnt exist')
                ;(r -= n.height),
                  delete this.indexes[t],
                  this.onRemoveItem(n),
                  null === o && (o = i)
              }
              if (0 !== r)
                for (
                  this.heightMap.splice(o, i - o + 1), i = o;
                  i < this.heightMap.length;
                  i++
                )
                  ((n = this.heightMap[i]).top += r),
                    (this.indexes[n.model.id] = i),
                    this.onRefreshItem(n)
            }),
            (t.prototype.onRemoveItem = function(e) {}),
            (t.prototype.onRefreshItemSet = function(e) {
              var t = this,
                n = e.sort(function(e, n) {
                  return t.indexes[e.id] - t.indexes[n.id]
                })
              this.onRefreshItems(new i.ArrayIterator(n))
            }),
            (t.prototype.onRefreshItems = function(e) {
              for (var t, n, i, o, r = null, s = 0; (t = e.next()); ) {
                for (
                  o = this.indexes[t.id];
                  0 !== s && null !== r && r < o;
                  r++
                )
                  ((n = this.heightMap[r]).top += s), this.onRefreshItem(n)
                ;(n = this.heightMap[o]),
                  (i = t.getHeight()),
                  (n.top += s),
                  (s += i - n.height),
                  (n.height = i),
                  this.onRefreshItem(n, !0),
                  (r = o + 1)
              }
              if (0 !== s && null !== r)
                for (; r < this.heightMap.length; r++)
                  ((n = this.heightMap[r]).top += s), this.onRefreshItem(n)
            }),
            (t.prototype.onRefreshItem = function(e, t) {
              void 0 === t && (t = !1)
            }),
            (t.prototype.itemsCount = function() {
              return this.heightMap.length
            }),
            (t.prototype.itemAt = function(e) {
              return this.heightMap[this.indexAt(e)].model.id
            }),
            (t.prototype.withItemsInRange = function(e, t, n) {
              ;(e = this.indexAt(e)), (t = this.indexAt(t))
              for (var i = e; i <= t; i++) n(this.heightMap[i].model.id)
            }),
            (t.prototype.indexAt = function(e) {
              for (var t, n, i = 0, o = this.heightMap.length; i < o; )
                if (
                  ((t = Math.floor((i + o) / 2)),
                  (n = this.heightMap[t]),
                  e < n.top)
                )
                  o = t
                else {
                  if (!(e >= n.top + n.height)) return t
                  if (i === t) break
                  i = t
                }
              return this.heightMap.length
            }),
            (t.prototype.indexAfter = function(e) {
              return Math.min(this.indexAt(e) + 1, this.heightMap.length)
            }),
            (t.prototype.itemAtIndex = function(e) {
              return this.heightMap[e]
            }),
            (t.prototype.itemAfter = function(e) {
              return this.heightMap[this.indexes[e.model.id] + 1] || null
            }),
            (t.prototype.createViewItem = function(e) {
              throw new Error('not implemented')
            }),
            (t.prototype.dispose = function() {
              ;(this.heightMap = null), (this.indexes = null)
            }),
            t
          )
        })(n.EventEmitter)
        t.HeightMap = o
      }),
      define(d[436], h([0, 1, 15, 192]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o =
            (function(e, t) {
              return (
                void 0 === t && (t = !1),
                n.globals.MonacoEnvironment &&
                n.globals.MonacoEnvironment.hasOwnProperty(e)
                  ? n.globals.MonacoEnvironment[e]
                  : t
              )
            })('getWorkerUrl', null) ||
            function(t, n) {
              return e.toUrl('./' + t) + '#' + n
            },
          r = (function() {
            function e(e, t, n, i, r) {
              ;(this.id = t),
                (this.worker = new Worker(o('workerMain.js', n))),
                this.postMessage(e),
                (this.worker.onmessage = function(e) {
                  i(e.data)
                }),
                'function' == typeof this.worker.addEventListener &&
                  this.worker.addEventListener('error', r)
            }
            return (
              (e.prototype.getId = function() {
                return this.id
              }),
              (e.prototype.postMessage = function(e) {
                this.worker && this.worker.postMessage(e)
              }),
              (e.prototype.dispose = function() {
                this.worker.terminate(), (this.worker = null)
              }),
              e
            )
          })(),
          s = (function() {
            function e(e) {
              ;(this._label = e), (this._webWorkerFailedBeforeError = !1)
            }
            return (
              (e.prototype.create = function(t, n, o) {
                var s = this,
                  a = ++e.LAST_WORKER_ID
                if (this._webWorkerFailedBeforeError)
                  throw this._webWorkerFailedBeforeError
                return new r(t, a, this._label || 'anonymous' + a, n, function(
                  e
                ) {
                  i.logOnceWebWorkerWarning(e),
                    (s._webWorkerFailedBeforeError = e),
                    o(e)
                })
              }),
              e
            )
          })()
        ;(s.LAST_WORKER_ID = 0), (t.DefaultWorkerFactory = s)
      }),
      define(d[435], h([4]), {}),
      define(d[50], h([0, 1, 8, 29, 3, 9, 76, 6, 435]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a
      ) {
        'use strict'
        function u(e, t) {
          s.ok(i.isString(e), 'Expected String as parameter')
          var n = document.getElementById(e)
          return n ? new x(n, t) : null
        }
        function l(e) {
          return e[C] || (e[C] = {}), e[C]
        }
        function c(e) {
          return !!e[C]
        }
        function d(e, t) {
          return e instanceof N ? new N(e) : new x(e.getHTMLElement(), t)
        }
        function h(e, t) {
          return new x(e, t)
        }
        function p() {
          return new x(null, !0)
        }
        function g(e, t, n) {
          l(e)[t] = n
        }
        function m(e, t, n) {
          if (c(e)) {
            var o = l(e)[t]
            if (!i.isUndefined(o)) return o
          }
          return n
        }
        function v(e, t) {
          c(e) && delete l(e)[t]
        }
        function _(e, t) {
          g(e, w, t)
        }
        function y(e) {
          v(e, w)
        }
        function b(e) {
          return m(e, w)
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.withElementById = u),
          (t.Build = { withElementById: u })
        var C = '_msDataKey',
          w = '__$binding',
          S = (function() {
            return function(e, t) {
              ;(this.x = e), (this.y = t)
            }
          })()
        t.Position = S
        var E = (function() {
          return function(e, t, n, i) {
            ;(this.top = e),
              (this.right = t),
              (this.bottom = n),
              (this.left = i)
          }
        })()
        t.Box = E
        var L = (function() {
          function e(e, t) {
            ;(this.width = e), (this.height = t)
          }
          return (
            (e.prototype.substract = function(t) {
              return new e(
                this.width - t.left - t.right,
                this.height - t.top - t.bottom
              )
            }),
            e
          )
        })()
        t.Dimension = L
        var x = (function() {
          function e(e, t) {
            ;(this.offdom = t),
              (this.container = e),
              (this.currentElement = e),
              (this.createdElements = []),
              (this.toUnbind = {}),
              (this.captureToUnbind = {})
          }
          return (
            (e.prototype.asContainer = function() {
              return d(this, this.offdom)
            }),
            (e.prototype.clone = function() {
              var t = new e(this.container, this.offdom)
              return (
                (t.currentElement = this.currentElement),
                (t.createdElements = this.createdElements),
                (t.captureToUnbind = this.captureToUnbind),
                (t.toUnbind = this.toUnbind),
                t
              )
            }),
            (e.prototype.and = function(t) {
              t instanceof e || t instanceof N || (t = new e(t, this.offdom))
              var n = [this]
              if (t instanceof N)
                for (var i = 0; i < t.length; i++) n.push(t.item(i))
              else n.push(t)
              return new N(n)
            }),
            (e.prototype.build = function(t, n) {
              s.ok(
                this.offdom,
                'This builder was not created off-dom, so build() can not be called.'
              ),
                t
                  ? t instanceof e && (t = t.getHTMLElement())
                  : (t = this.container),
                s.ok(
                  t,
                  'Builder can only be build() with a container provided.'
                ),
                s.ok(
                  a.isHTMLElement(t),
                  'The container must either be a HTMLElement or a Builder.'
                )
              var o,
                r,
                u = t,
                l = u.childNodes
              if (i.isNumber(n) && n < l.length)
                for (o = 0, r = this.createdElements.length; o < r; o++)
                  u.insertBefore(this.createdElements[o], l[n++])
              else
                for (o = 0, r = this.createdElements.length; o < r; o++)
                  u.appendChild(this.createdElements[o])
              return this
            }),
            (e.prototype.appendTo = function(t, n) {
              t
                ? t instanceof e && (t = t.getHTMLElement())
                : (t = this.container),
                s.ok(
                  t,
                  'Builder can only be build() with a container provided.'
                ),
                s.ok(
                  a.isHTMLElement(t),
                  'The container must either be a HTMLElement or a Builder.'
                )
              var o = t
              this.currentElement.parentNode &&
                this.currentElement.parentNode.removeChild(this.currentElement)
              var r = o.childNodes
              return (
                i.isNumber(n) && n < r.length
                  ? o.insertBefore(this.currentElement, r[n])
                  : o.appendChild(this.currentElement),
                this
              )
            }),
            (e.prototype.append = function(t, n) {
              return (
                s.ok(t, 'Need a child to append'),
                a.isHTMLElement(t) && (t = h(t)),
                s.ok(
                  t instanceof e || t instanceof N,
                  'Need a child to append'
                ),
                t.appendTo(this, n),
                this
              )
            }),
            (e.prototype.offDOM = function() {
              return (
                this.currentElement.parentNode &&
                  this.currentElement.parentNode.removeChild(
                    this.currentElement
                  ),
                this
              )
            }),
            (e.prototype.getHTMLElement = function() {
              return this.currentElement
            }),
            (e.prototype.getContainer = function() {
              return this.container
            }),
            (e.prototype.div = function(e, t) {
              return this.doElement('div', e, t)
            }),
            (e.prototype.p = function(e, t) {
              return this.doElement('p', e, t)
            }),
            (e.prototype.ul = function(e, t) {
              return this.doElement('ul', e, t)
            }),
            (e.prototype.ol = function(e, t) {
              return this.doElement('ol', e, t)
            }),
            (e.prototype.li = function(e, t) {
              return this.doElement('li', e, t)
            }),
            (e.prototype.span = function(e, t) {
              return this.doElement('span', e, t)
            }),
            (e.prototype.img = function(e, t) {
              return this.doElement('img', e, t)
            }),
            (e.prototype.a = function(e, t) {
              return this.doElement('a', e, t)
            }),
            (e.prototype.header = function(e, t) {
              return this.doElement('header', e, t)
            }),
            (e.prototype.section = function(e, t) {
              return this.doElement('section', e, t)
            }),
            (e.prototype.footer = function(e, t) {
              return this.doElement('footer', e, t)
            }),
            (e.prototype.element = function(e, t, n) {
              return this.doElement(e, t, n)
            }),
            (e.prototype.doElement = function(t, n, o) {
              var r = document.createElement(t)
              if (
                ((this.currentElement = r),
                this.offdom && this.createdElements.push(r),
                i.isObject(n) && this.attr(n),
                i.isFunction(n) && (o = n),
                i.isFunction(o))
              ) {
                var s = new e(r)
                o.call(s, s)
              }
              return this.offdom || this.container.appendChild(r), this
            }),
            (e.prototype.domFocus = function() {
              return this.currentElement.focus(), this
            }),
            (e.prototype.hasFocus = function() {
              return document.activeElement === this.currentElement
            }),
            (e.prototype.domSelect = function(e) {
              void 0 === e && (e = null)
              var t = this.currentElement
              return t.select(), e && t.setSelectionRange(e.start, e.end), this
            }),
            (e.prototype.domBlur = function() {
              return this.currentElement.blur(), this
            }),
            (e.prototype.domClick = function() {
              return this.currentElement.click(), this
            }),
            (e.prototype.on = function(e, t, n, o) {
              var r = this
              if (i.isArray(e))
                e.forEach(function(e) {
                  r.on(e, t, n, o)
                })
              else {
                var s = e,
                  u = a.addDisposableListener(
                    this.currentElement,
                    s,
                    function(e) {
                      t(e, r, u)
                    },
                    o || !1
                  )
                o
                  ? (this.captureToUnbind[s] || (this.captureToUnbind[s] = []),
                    this.captureToUnbind[s].push(u))
                  : (this.toUnbind[s] || (this.toUnbind[s] = []),
                    this.toUnbind[s].push(u))
                var l = this.getProperty('__$listeners', [])
                l.push(u),
                  this.setProperty('__$listeners', l),
                  n && i.isArray(n) && n.push(u)
              }
              return this
            }),
            (e.prototype.off = function(e, t) {
              var n = this
              if (i.isArray(e))
                e.forEach(function(e) {
                  n.off(e)
                })
              else {
                var r = e
                t
                  ? this.captureToUnbind[r] &&
                    (this.captureToUnbind[r] = o.dispose(
                      this.captureToUnbind[r]
                    ))
                  : this.toUnbind[r] &&
                    (this.toUnbind[r] = o.dispose(this.toUnbind[r]))
              }
              return this
            }),
            (e.prototype.once = function(e, t, n, o) {
              var r = this
              if (i.isArray(e))
                e.forEach(function(e) {
                  r.once(e, t)
                })
              else {
                var s = e,
                  u = a.addDisposableListener(
                    this.currentElement,
                    s,
                    function(e) {
                      t(e, r, u), u.dispose()
                    },
                    o || !1
                  )
                n && i.isArray(n) && n.push(u)
              }
              return this
            }),
            (e.prototype.preventDefault = function(e, t, n, i) {
              return this.on(
                e,
                function(e) {
                  e.preventDefault(),
                    t &&
                      (e.stopPropagation
                        ? e.stopPropagation()
                        : (e.cancelBubble = !0))
                },
                n,
                i
              )
            }),
            (e.prototype.attr = function(e, t) {
              if (i.isObject(e)) {
                for (var n in e)
                  if (e.hasOwnProperty(n)) {
                    var o = e[n]
                    this.doSetAttr(n, o)
                  }
                return this
              }
              return i.isString(e) && !i.isString(t)
                ? this.currentElement.getAttribute(e)
                : (i.isString(e) &&
                    (i.isString(t) || (t = String(t)), this.doSetAttr(e, t)),
                  this)
            }),
            (e.prototype.doSetAttr = function(e, t) {
              'class' === e && (e = 'addClass'),
                this[e]
                  ? i.isArray(t)
                    ? this[e].apply(this, t)
                    : this[e].call(this, t)
                  : this.currentElement.setAttribute(e, t)
            }),
            (e.prototype.removeAttribute = function(e) {
              this.currentElement.removeAttribute(e)
            }),
            (e.prototype.id = function(e) {
              return this.currentElement.setAttribute('id', e), this
            }),
            (e.prototype.src = function(e) {
              return this.currentElement.setAttribute('src', e), this
            }),
            (e.prototype.href = function(e) {
              return this.currentElement.setAttribute('href', e), this
            }),
            (e.prototype.title = function(e) {
              return this.currentElement.setAttribute('title', e), this
            }),
            (e.prototype.name = function(e) {
              return this.currentElement.setAttribute('name', e), this
            }),
            (e.prototype.type = function(e) {
              return this.currentElement.setAttribute('type', e), this
            }),
            (e.prototype.value = function(e) {
              return this.currentElement.setAttribute('value', e), this
            }),
            (e.prototype.alt = function(e) {
              return this.currentElement.setAttribute('alt', e), this
            }),
            (e.prototype.draggable = function(e) {
              return (
                this.currentElement.setAttribute(
                  'draggable',
                  e ? 'true' : 'false'
                ),
                this
              )
            }),
            (e.prototype.tabindex = function(e) {
              return (
                this.currentElement.setAttribute('tabindex', e.toString()), this
              )
            }),
            (e.prototype.style = function(e, t) {
              if (i.isObject(e)) {
                for (var n in e)
                  if (e.hasOwnProperty(n)) {
                    var o = e[n]
                    this.doSetStyle(n, o)
                  }
                return this
              }
              var r = i.isString(e)
              return r && i.isUndefined(t)
                ? this.currentElement.style[this.cssKeyToJavaScriptProperty(e)]
                : (r && this.doSetStyle(e, t), this)
            }),
            (e.prototype.doSetStyle = function(e, t) {
              if (e.indexOf('-') >= 0) {
                var n = e.split('-')
                e = n[0]
                for (var i = 1; i < n.length; i++) {
                  var o = n[i]
                  e = e + o.charAt(0).toUpperCase() + o.substr(1)
                }
              }
              this.currentElement.style[this.cssKeyToJavaScriptProperty(e)] = t
            }),
            (e.prototype.cssKeyToJavaScriptProperty = function(e) {
              if (e.indexOf('-') >= 0) {
                var t = e.split('-')
                e = t[0]
                for (var n = 1; n < t.length; n++) {
                  var i = t[n]
                  e = e + i.charAt(0).toUpperCase() + i.substr(1)
                }
              } else 'float' === e && (e = 'cssFloat')
              return e
            }),
            (e.prototype.getComputedStyle = function() {
              return a.getComputedStyle(this.currentElement)
            }),
            (e.prototype.addClass = function() {
              for (var e = this, t = [], n = 0; n < arguments.length; n++)
                t[n] = arguments[n]
              return (
                t.forEach(function(t) {
                  t.split(' ').forEach(function(t) {
                    a.addClass(e.currentElement, t)
                  })
                }),
                this
              )
            }),
            (e.prototype.setClass = function(e, t) {
              return (
                void 0 === t && (t = null),
                null === t
                  ? (this.currentElement.className = e)
                  : t
                    ? this.addClass(e)
                    : this.removeClass(e),
                this
              )
            }),
            (e.prototype.hasClass = function(e) {
              return a.hasClass(this.currentElement, e)
            }),
            (e.prototype.removeClass = function() {
              for (var e = this, t = [], n = 0; n < arguments.length; n++)
                t[n] = arguments[n]
              return (
                t.forEach(function(t) {
                  t.split(' ').forEach(function(t) {
                    a.removeClass(e.currentElement, t)
                  })
                }),
                this
              )
            }),
            (e.prototype.swapClass = function(e, t) {
              return (
                this.hasClass(e)
                  ? (this.removeClass(e), this.addClass(t))
                  : (this.removeClass(t), this.addClass(e)),
                this
              )
            }),
            (e.prototype.toggleClass = function(e) {
              return (
                this.hasClass(e) ? this.removeClass(e) : this.addClass(e), this
              )
            }),
            (e.prototype.color = function(e) {
              return (this.currentElement.style.color = e), this
            }),
            (e.prototype.background = function(e) {
              return (this.currentElement.style.backgroundColor = e), this
            }),
            (e.prototype.padding = function(e, t, n, o) {
              return i.isString(e) && e.indexOf(' ') >= 0
                ? this.padding.apply(this, e.split(' '))
                : (i.isUndefinedOrNull(e) ||
                    (this.currentElement.style.paddingTop = this.toPixel(e)),
                  i.isUndefinedOrNull(t) ||
                    (this.currentElement.style.paddingRight = this.toPixel(t)),
                  i.isUndefinedOrNull(n) ||
                    (this.currentElement.style.paddingBottom = this.toPixel(n)),
                  i.isUndefinedOrNull(o) ||
                    (this.currentElement.style.paddingLeft = this.toPixel(o)),
                  this)
            }),
            (e.prototype.margin = function(e, t, n, o) {
              return i.isString(e) && e.indexOf(' ') >= 0
                ? this.margin.apply(this, e.split(' '))
                : (i.isUndefinedOrNull(e) ||
                    (this.currentElement.style.marginTop = this.toPixel(e)),
                  i.isUndefinedOrNull(t) ||
                    (this.currentElement.style.marginRight = this.toPixel(t)),
                  i.isUndefinedOrNull(n) ||
                    (this.currentElement.style.marginBottom = this.toPixel(n)),
                  i.isUndefinedOrNull(o) ||
                    (this.currentElement.style.marginLeft = this.toPixel(o)),
                  this)
            }),
            (e.prototype.position = function(e, t, n, o, r) {
              return i.isString(e) && e.indexOf(' ') >= 0
                ? this.position.apply(this, e.split(' '))
                : (i.isUndefinedOrNull(e) ||
                    (this.currentElement.style.top = this.toPixel(e)),
                  i.isUndefinedOrNull(t) ||
                    (this.currentElement.style.right = this.toPixel(t)),
                  i.isUndefinedOrNull(n) ||
                    (this.currentElement.style.bottom = this.toPixel(n)),
                  i.isUndefinedOrNull(o) ||
                    (this.currentElement.style.left = this.toPixel(o)),
                  r || (r = 'absolute'),
                  (this.currentElement.style.position = r),
                  this)
            }),
            (e.prototype.size = function(e, t) {
              return i.isString(e) && e.indexOf(' ') >= 0
                ? this.size.apply(this, e.split(' '))
                : (i.isUndefinedOrNull(e) ||
                    (this.currentElement.style.width = this.toPixel(e)),
                  i.isUndefinedOrNull(t) ||
                    (this.currentElement.style.height = this.toPixel(t)),
                  this)
            }),
            (e.prototype.minSize = function(e, t) {
              return i.isString(e) && e.indexOf(' ') >= 0
                ? this.minSize.apply(this, e.split(' '))
                : (i.isUndefinedOrNull(e) ||
                    (this.currentElement.style.minWidth = this.toPixel(e)),
                  i.isUndefinedOrNull(t) ||
                    (this.currentElement.style.minHeight = this.toPixel(t)),
                  this)
            }),
            (e.prototype.maxSize = function(e, t) {
              return i.isString(e) && e.indexOf(' ') >= 0
                ? this.maxSize.apply(this, e.split(' '))
                : (i.isUndefinedOrNull(e) ||
                    (this.currentElement.style.maxWidth = this.toPixel(e)),
                  i.isUndefinedOrNull(t) ||
                    (this.currentElement.style.maxHeight = this.toPixel(t)),
                  this)
            }),
            (e.prototype.float = function(e) {
              return (this.currentElement.style.cssFloat = e), this
            }),
            (e.prototype.clear = function(e) {
              return (this.currentElement.style.clear = e), this
            }),
            (e.prototype.normal = function() {
              return (
                (this.currentElement.style.fontStyle = 'normal'),
                (this.currentElement.style.fontWeight = 'normal'),
                (this.currentElement.style.textDecoration = 'none'),
                this
              )
            }),
            (e.prototype.italic = function() {
              return (this.currentElement.style.fontStyle = 'italic'), this
            }),
            (e.prototype.bold = function() {
              return (this.currentElement.style.fontWeight = 'bold'), this
            }),
            (e.prototype.underline = function() {
              return (
                (this.currentElement.style.textDecoration = 'underline'), this
              )
            }),
            (e.prototype.overflow = function(e) {
              return (this.currentElement.style.overflow = e), this
            }),
            (e.prototype.display = function(e) {
              return (this.currentElement.style.display = e), this
            }),
            (e.prototype.disable = function() {
              return (
                this.currentElement.setAttribute('disabled', 'disabled'), this
              )
            }),
            (e.prototype.enable = function() {
              return this.currentElement.removeAttribute('disabled'), this
            }),
            (e.prototype.show = function() {
              return (
                this.hasClass('builder-hidden') &&
                  this.removeClass('builder-hidden'),
                this.attr('aria-hidden', 'false'),
                this.cancelVisibilityPromise(),
                this
              )
            }),
            (e.prototype.showDelayed = function(e) {
              var t = this
              this.cancelVisibilityPromise()
              var i = n.TPromise.timeout(e)
              return (
                this.setProperty('__$visibility', i),
                i.done(function() {
                  t.removeProperty('__$visibility'), t.show()
                }),
                this
              )
            }),
            (e.prototype.hide = function() {
              return (
                this.hasClass('builder-hidden') ||
                  this.addClass('builder-hidden'),
                this.attr('aria-hidden', 'true'),
                this.cancelVisibilityPromise(),
                this
              )
            }),
            (e.prototype.isHidden = function() {
              return (
                this.hasClass('builder-hidden') ||
                'none' === this.currentElement.style.display
              )
            }),
            (e.prototype.toggleVisibility = function() {
              return (
                this.cancelVisibilityPromise(),
                this.swapClass('builder-visible', 'builder-hidden'),
                this.isHidden()
                  ? this.attr('aria-hidden', 'true')
                  : this.attr('aria-hidden', 'false'),
                this
              )
            }),
            (e.prototype.cancelVisibilityPromise = function() {
              var e = this.getProperty('__$visibility')
              e && (e.cancel(), this.removeProperty('__$visibility'))
            }),
            (e.prototype.border = function(e, t, n) {
              return i.isString(e) && e.indexOf(' ') >= 0
                ? this.border.apply(this, e.split(' '))
                : ((this.currentElement.style.borderWidth = this.toPixel(e)),
                  n && (this.currentElement.style.borderColor = n),
                  t && (this.currentElement.style.borderStyle = t),
                  this)
            }),
            (e.prototype.borderTop = function(e, t, n) {
              return i.isString(e) && e.indexOf(' ') >= 0
                ? this.borderTop.apply(this, e.split(' '))
                : ((this.currentElement.style.borderTopWidth = this.toPixel(e)),
                  n && (this.currentElement.style.borderTopColor = n),
                  t && (this.currentElement.style.borderTopStyle = t),
                  this)
            }),
            (e.prototype.borderBottom = function(e, t, n) {
              return i.isString(e) && e.indexOf(' ') >= 0
                ? this.borderBottom.apply(this, e.split(' '))
                : ((this.currentElement.style.borderBottomWidth = this.toPixel(
                    e
                  )),
                  n && (this.currentElement.style.borderBottomColor = n),
                  t && (this.currentElement.style.borderBottomStyle = t),
                  this)
            }),
            (e.prototype.borderLeft = function(e, t, n) {
              return i.isString(e) && e.indexOf(' ') >= 0
                ? this.borderLeft.apply(this, e.split(' '))
                : ((this.currentElement.style.borderLeftWidth = this.toPixel(
                    e
                  )),
                  n && (this.currentElement.style.borderLeftColor = n),
                  t && (this.currentElement.style.borderLeftStyle = t),
                  this)
            }),
            (e.prototype.borderRight = function(e, t, n) {
              return i.isString(e) && e.indexOf(' ') >= 0
                ? this.borderRight.apply(this, e.split(' '))
                : ((this.currentElement.style.borderRightWidth = this.toPixel(
                    e
                  )),
                  n && (this.currentElement.style.borderRightColor = n),
                  t && (this.currentElement.style.borderRightStyle = t),
                  this)
            }),
            (e.prototype.textAlign = function(e) {
              return (this.currentElement.style.textAlign = e), this
            }),
            (e.prototype.verticalAlign = function(e) {
              return (this.currentElement.style.verticalAlign = e), this
            }),
            (e.prototype.toPixel = function(e) {
              return -1 === e.toString().indexOf('px') ? e.toString() + 'px' : e
            }),
            (e.prototype.innerHtml = function(e, t) {
              return (
                t
                  ? (this.currentElement.innerHTML += e)
                  : (this.currentElement.innerHTML = e),
                this
              )
            }),
            (e.prototype.text = function(e, t) {
              return (
                t
                  ? 0 === this.currentElement.children.length
                    ? (this.currentElement.textContent += e)
                    : this.currentElement.appendChild(
                        document.createTextNode(e)
                      )
                  : (this.currentElement.textContent = e),
                this
              )
            }),
            (e.prototype.safeInnerHtml = function(e, t) {
              return this.innerHtml(r.escape(e), t)
            }),
            (e.prototype.bind = function(e) {
              return _(this.currentElement, e), this
            }),
            (e.prototype.unbind = function() {
              return y(this.currentElement), this
            }),
            (e.prototype.getBinding = function() {
              return b(this.currentElement)
            }),
            (e.prototype.setProperty = function(e, t) {
              return g(this.currentElement, e, t), this
            }),
            (e.prototype.getProperty = function(e, t) {
              return m(this.currentElement, e, t)
            }),
            (e.prototype.removeProperty = function(e) {
              return (
                c(this.currentElement) && delete l(this.currentElement)[e], this
              )
            }),
            (e.prototype.parent = function(e) {
              return (
                s.ok(
                  !this.offdom,
                  'Builder was created with offdom = true and thus has no parent set'
                ),
                h(this.currentElement.parentNode, e)
              )
            }),
            (e.prototype.children = function(e) {
              for (
                var t = this.currentElement.children, n = [], i = 0;
                i < t.length;
                i++
              )
                n.push(h(t.item(i), e))
              return new N(n)
            }),
            (e.prototype.child = function(e) {
              return (
                void 0 === e && (e = 0), h(this.currentElement.children.item(e))
              )
            }),
            (e.prototype.removeChild = function(e) {
              return (
                this.currentElement === e.parent().getHTMLElement() &&
                  this.currentElement.removeChild(e.getHTMLElement()),
                this
              )
            }),
            (e.prototype.select = function(e, t) {
              s.ok(i.isString(e), 'Expected String as parameter')
              for (
                var n = this.currentElement.querySelectorAll(e), o = [], r = 0;
                r < n.length;
                r++
              )
                o.push(h(n.item(r), t))
              return new N(o)
            }),
            (e.prototype.matches = function(e) {
              var t = this.currentElement,
                n =
                  t.webkitMatchesSelector ||
                  t.mozMatchesSelector ||
                  t.msMatchesSelector ||
                  t.oMatchesSelector
              return n && n.call(t, e)
            }),
            (e.prototype.isEmpty = function() {
              return (
                !this.currentElement.childNodes ||
                0 === this.currentElement.childNodes.length
              )
            }),
            (e.prototype.unbindDescendants = function(e) {
              if (e && e.children)
                for (var t = 0, n = e.children.length; t < n; t++) {
                  var o = e.children.item(t)
                  if (c(o)) {
                    var r = l(o).__$listeners
                    if (i.isArray(r)) for (; r.length; ) r.pop().dispose()
                    delete o[C]
                  }
                  this.unbindDescendants(o)
                }
            }),
            (e.prototype.empty = function() {
              return (
                this.unbindDescendants(this.currentElement),
                this.clearChildren(),
                this.offdom && (this.createdElements = []),
                this
              )
            }),
            (e.prototype.clearChildren = function() {
              return (
                this.currentElement && a.clearNode(this.currentElement), this
              )
            }),
            (e.prototype.destroy = function() {
              if (
                this.currentElement &&
                (this.currentElement.parentNode &&
                  this.currentElement.parentNode.removeChild(
                    this.currentElement
                  ),
                this.empty(),
                c(this.currentElement))
              ) {
                var e = l(this.currentElement).__$listeners
                if (i.isArray(e)) for (; e.length; ) e.pop().dispose()
                delete this.currentElement[C]
              }
              var t
              for (t in this.toUnbind)
                this.toUnbind.hasOwnProperty(t) &&
                  i.isArray(this.toUnbind[t]) &&
                  (this.toUnbind[t] = o.dispose(this.toUnbind[t]))
              for (t in this.captureToUnbind)
                this.captureToUnbind.hasOwnProperty(t) &&
                  i.isArray(this.captureToUnbind[t]) &&
                  (this.captureToUnbind[t] = o.dispose(this.captureToUnbind[t]))
              ;(this.currentElement = null),
                (this.container = null),
                (this.offdom = null),
                (this.createdElements = null),
                (this.captureToUnbind = null),
                (this.toUnbind = null)
            }),
            (e.prototype.dispose = function() {
              this.destroy()
            }),
            (e.prototype.getTotalSize = function() {
              var e = a.getTotalWidth(this.currentElement),
                t = a.getTotalHeight(this.currentElement)
              return new L(e, t)
            }),
            (e.prototype.getContentSize = function() {
              var e = a.getContentWidth(this.currentElement),
                t = a.getContentHeight(this.currentElement)
              return new L(e, t)
            }),
            (e.prototype.getClientArea = function() {
              if (this.currentElement !== document.body)
                return new L(
                  this.currentElement.clientWidth,
                  this.currentElement.clientHeight
                )
              if (window.innerWidth && window.innerHeight)
                return new L(window.innerWidth, window.innerHeight)
              if (
                document.body &&
                document.body.clientWidth &&
                document.body.clientWidth
              )
                return new L(
                  document.body.clientWidth,
                  document.body.clientHeight
                )
              if (
                document.documentElement &&
                document.documentElement.clientWidth &&
                document.documentElement.clientHeight
              )
                return new L(
                  document.documentElement.clientWidth,
                  document.documentElement.clientHeight
                )
              throw new Error('Unable to figure out browser width and height')
            }),
            e
          )
        })()
        t.Builder = x
        var N = (function(e) {
          function t(n) {
            var o = this
            if (
              (s.ok(
                i.isArray(n) || n instanceof t,
                'Expected Array or MultiBuilder as parameter'
              ),
              (o = e.call(this) || this),
              (o.length = 0),
              (o.builders = []),
              i.isArray(n))
            )
              for (r = 0; r < n.length; r++)
                n[r] instanceof HTMLElement ? o.push(h(n[r])) : o.push(n[r])
            else for (var r = 0; r < n.length; r++) o.push(n.item(r))
            var a = o
            for (var u in x.prototype)
              'clone' !== u &&
                'and' !== u &&
                x.prototype.hasOwnProperty(u) &&
                i.isFunction(x.prototype[u]) &&
                (function(e) {
                  a[e] = function() {
                    for (
                      var n,
                        o = Array.prototype.slice.call(arguments),
                        r = !1,
                        s = 0;
                      s < a.length;
                      s++
                    ) {
                      var u = a.item(s)[e].apply(a.item(s), o)
                      if (u instanceof t) {
                        n || (n = []), (r = !0)
                        for (var l = 0; l < u.length; l++) n.push(u.item(l))
                      } else
                        i.isUndefined(u) ||
                          u instanceof x ||
                          (n || (n = []), n.push(u))
                    }
                    return n && r ? new t(n) : n || a
                  }
                })(u)
            return o
          }
          return (
            f(t, e),
            (t.prototype.item = function(e) {
              return this.builders[e]
            }),
            (t.prototype.push = function() {
              for (var e = [], t = 0; t < arguments.length; t++)
                e[t] = arguments[t]
              for (var n = 0; n < e.length; n++) this.builders.push(e[n])
              this.length = this.builders.length
            }),
            (t.prototype.pop = function() {
              var e = this.builders.pop()
              return (this.length = this.builders.length), e
            }),
            (t.prototype.concat = function(e) {
              var t = this.builders.concat(e)
              return (this.length = this.builders.length), t
            }),
            (t.prototype.shift = function() {
              var e = this.builders.shift()
              return (this.length = this.builders.length), e
            }),
            (t.prototype.unshift = function(e) {
              var t = this.builders.unshift(e)
              return (this.length = this.builders.length), t
            }),
            (t.prototype.slice = function(e, t) {
              var n = this.builders.slice(e, t)
              return (this.length = this.builders.length), n
            }),
            (t.prototype.splice = function(e, t) {
              var n = this.builders.splice(e, t)
              return (this.length = this.builders.length), n
            }),
            (t.prototype.clone = function() {
              return new t(this)
            }),
            (t.prototype.and = function(e) {
              e instanceof x || e instanceof t || (e = new x(e))
              var n = []
              if (e instanceof t)
                for (var i = 0; i < e.length; i++) n.push(e.item(i))
              else n.push(e)
              return this.push.apply(this, n), this
            }),
            t
          )
        })(x)
        ;(t.MultiBuilder = N),
          (t.setPropertyOnElement = g),
          (t.getPropertyFromElement = m),
          (t.removePropertyFromElement = v),
          (t.bindElement = _),
          (t.unbindElement = y),
          (t.getBindingFromElement = b),
          (t.Binding = {
            setPropertyOnElement: g,
            getPropertyFromElement: m,
            removePropertyFromElement: v,
            bindElement: _,
            unbindElement: y,
            getBindingFromElement: b
          })
        var M = /([\w\-]+)?(#([\w\-]+))?((.([\w\-]+))*)/
        ;(t.$ = function(e) {
          if (i.isUndefined(e)) return p()
          if (!e) throw new Error('Bad use of $')
          if (a.isHTMLElement(e) || e === window) return h(e)
          if (i.isArray(e)) return new N(e)
          if (e instanceof x) return d(e)
          if (i.isString(e)) {
            if ('<' === e[0]) {
              var t = void 0,
                n = document.createElement('div')
              if (
                ((n.innerHTML = r.format.apply(r, arguments)),
                0 === n.children.length)
              )
                throw new Error('Bad use of $')
              if (1 === n.children.length)
                return (t = n.firstChild), n.removeChild(t), h(t)
              for (var o = []; n.firstChild; )
                (t = n.firstChild), n.removeChild(t), o.push(h(t))
              return new N(o)
            }
            if (1 === arguments.length) {
              var s = M.exec(e)
              if (!s) throw new Error('Bad use of $')
              var u = s[1] || 'div',
                l = s[3] || void 0,
                c = (s[4] || '').replace(/\./g, ' '),
                f = {}
              return l && (f.id = l), c && (f.class = c), p().element(u, f)
            }
            var g = p()
            return g.element.apply(g, arguments), g
          }
          throw new Error('Bad use of $')
        }),
          (t.$.Box = E),
          (t.$.Dimension = L),
          (t.$.Position = S),
          (t.$.Builder = x),
          (t.$.MultiBuilder = N),
          (t.$.Build = t.Build),
          (t.$.Binding = t.Binding)
      }),
      define(d[432], h([4]), {}),
      define(d[431], h([4]), {}),
      define(d[430], h([4]), {}),
      define(d[429], h([0, 1, 6, 28, 44, 34, 430]), function(e, t, n, i, o, r) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = { inputActiveOptionBorder: r.Color.fromHex('#007ACC') },
          a = (function(e) {
            function t(t) {
              var n = e.call(this) || this
              return (
                (n._opts = i.clone(t)),
                i.mixin(n._opts, s, !1),
                (n._checked = n._opts.isChecked),
                (n.domNode = document.createElement('div')),
                (n.domNode.title = n._opts.title),
                (n.domNode.className = n._className()),
                (n.domNode.tabIndex = 0),
                n.domNode.setAttribute('role', 'checkbox'),
                n.domNode.setAttribute('aria-checked', String(n._checked)),
                n.domNode.setAttribute('aria-label', n._opts.title),
                n.applyStyles(),
                n.onclick(n.domNode, function(e) {
                  ;(n.checked = !n._checked),
                    n._opts.onChange(!1),
                    e.preventDefault()
                }),
                n.onkeydown(n.domNode, function(e) {
                  if (10 === e.keyCode || 3 === e.keyCode)
                    return (
                      (n.checked = !n._checked),
                      n._opts.onChange(!0),
                      void e.preventDefault()
                    )
                  n._opts.onKeyDown && n._opts.onKeyDown(e)
                }),
                n
              )
            }
            return (
              f(t, e),
              (t.prototype.focus = function() {
                this.domNode.focus()
              }),
              Object.defineProperty(t.prototype, 'checked', {
                get: function() {
                  return this._checked
                },
                set: function(e) {
                  ;(this._checked = e),
                    this.domNode.setAttribute(
                      'aria-checked',
                      String(this._checked)
                    ),
                    (this.domNode.className = this._className()),
                    this.applyStyles()
                },
                enumerable: !0,
                configurable: !0
              }),
              (t.prototype._className = function() {
                return (
                  'custom-checkbox ' +
                  this._opts.actionClassName +
                  ' ' +
                  (this._checked ? 'checked' : 'unchecked')
                )
              }),
              (t.prototype.width = function() {
                return 22
              }),
              (t.prototype.style = function(e) {
                e.inputActiveOptionBorder &&
                  (this._opts.inputActiveOptionBorder =
                    e.inputActiveOptionBorder),
                  this.applyStyles()
              }),
              (t.prototype.applyStyles = function() {
                this.domNode &&
                  (this.domNode.style.borderColor =
                    this._checked && this._opts.inputActiveOptionBorder
                      ? this._opts.inputActiveOptionBorder.toString()
                      : null)
              }),
              (t.prototype.enable = function() {
                ;(this.domNode.tabIndex = 0),
                  this.domNode.setAttribute('aria-disabled', String(!1))
              }),
              (t.prototype.disable = function() {
                n.removeTabIndexAndUpdateFocus(this.domNode),
                  this.domNode.setAttribute('aria-disabled', String(!0))
              }),
              t
            )
          })(o.Widget)
        t.Checkbox = a
      }),
      define(d[425], h([4]), {}),
      define(d[166], h([0, 1, 50, 6, 3, 38, 425]), function(e, t, n, i, o, r) {
        'use strict'
        function s(e, t, n, i, o) {
          var r = function(e, t, n, i) {
              return t ? e : i ? n : e
            },
            s = function(e, t, n, i, o) {
              return o ? r(e, t, n, i) : r(n, i, e, t)
            }
          return {
            top: (function() {
              var o = t.top - e.height,
                r = t.top + t.height,
                a = o >= n.top && o + e.height <= n.top + n.height,
                l = r >= n.top && r + e.height <= n.top + n.height
              return s(o, a, r, l, i === u.ABOVE)
            })(),
            left: (function() {
              var i = t.left,
                r = t.left + t.width - e.width,
                u = i >= n.left && i + e.width <= n.left + n.width,
                l = r >= n.left && r + e.width <= n.left + n.width
              return s(i, u, r, l, o === a.LEFT)
            })()
          }
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a
        !(function(e) {
          ;(e[(e.LEFT = 0)] = 'LEFT'), (e[(e.RIGHT = 1)] = 'RIGHT')
        })((a = t.AnchorAlignment || (t.AnchorAlignment = {})))
        var u
        !(function(e) {
          ;(e[(e.BELOW = 0)] = 'BELOW'), (e[(e.ABOVE = 1)] = 'ABOVE')
        })((u = t.AnchorPosition || (t.AnchorPosition = {})))
        var l = (function(e) {
          function t(t) {
            var i = e.call(this) || this
            return (
              (i.$view = n.$('.context-view').hide()),
              i.setContainer(t),
              (i.toDispose = [
                {
                  dispose: function() {
                    i.setContainer(null)
                  }
                }
              ]),
              (i.toDisposeOnClean = null),
              i
            )
          }
          return (
            f(t, e),
            (t.prototype.setContainer = function(e) {
              var i = this
              this.$container &&
                (this.$container.off(t.BUBBLE_UP_EVENTS),
                this.$container.off(t.BUBBLE_DOWN_EVENTS, !0),
                (this.$container = null)),
                e &&
                  ((this.$container = n.$(e)),
                  this.$view.appendTo(this.$container),
                  this.$container.on(t.BUBBLE_UP_EVENTS, function(e) {
                    i.onDOMEvent(e, document.activeElement, !1)
                  }),
                  this.$container.on(
                    t.BUBBLE_DOWN_EVENTS,
                    function(e) {
                      i.onDOMEvent(e, document.activeElement, !0)
                    },
                    null,
                    !0
                  ))
            }),
            (t.prototype.show = function(e) {
              this.isVisible() && this.hide(),
                this.$view
                  .setClass('context-view')
                  .empty()
                  .style({ top: '0px', left: '0px' })
                  .show(),
                (this.toDisposeOnClean = e.render(this.$view.getHTMLElement())),
                (this.delegate = e),
                this.doLayout()
            }),
            (t.prototype.layout = function() {
              this.isVisible() &&
                (!1 !== this.delegate.canRelayout
                  ? (this.delegate.layout && this.delegate.layout(),
                    this.doLayout())
                  : this.hide())
            }),
            (t.prototype.doLayout = function() {
              var e,
                t = this.delegate.getAnchor()
              if (i.isHTMLElement(t)) {
                var n = i.getDomNodePagePosition(t)
                e = {
                  top: n.top,
                  left: n.left,
                  width: n.width,
                  height: n.height
                }
              } else {
                var o = t
                e = {
                  top: o.y,
                  left: o.x,
                  width: o.width || 0,
                  height: o.height || 0
                }
              }
              var r = {
                  top: i.StandardWindow.scrollY,
                  left: i.StandardWindow.scrollX,
                  height: window.innerHeight,
                  width: window.innerWidth
                },
                l = this.$view.getTotalSize(),
                c = { width: l.width, height: l.height },
                d = this.delegate.anchorPosition || u.BELOW,
                h = this.delegate.anchorAlignment || a.LEFT,
                p = s(c, e, r, d, h),
                f = i.getDomNodePagePosition(this.$container.getHTMLElement())
              ;(p.top -= f.top),
                (p.left -= f.left),
                this.$view.removeClass('top', 'bottom', 'left', 'right'),
                this.$view.addClass(d === u.BELOW ? 'bottom' : 'top'),
                this.$view.addClass(h === a.LEFT ? 'left' : 'right'),
                this.$view.style({
                  top: p.top + 'px',
                  left: p.left + 'px',
                  width: 'initial'
                })
            }),
            (t.prototype.hide = function(e) {
              this.delegate && this.delegate.onHide && this.delegate.onHide(e),
                (this.delegate = null),
                this.toDisposeOnClean &&
                  (this.toDisposeOnClean.dispose(),
                  (this.toDisposeOnClean = null)),
                this.$view.hide()
            }),
            (t.prototype.isVisible = function() {
              return !!this.delegate
            }),
            (t.prototype.onDOMEvent = function(e, t, n) {
              this.delegate &&
                (this.delegate.onDOMEvent
                  ? this.delegate.onDOMEvent(e, document.activeElement)
                  : n &&
                    !i.isAncestor(e.target, this.$container.getHTMLElement()) &&
                    this.hide())
            }),
            (t.prototype.dispose = function() {
              e.prototype.dispose.call(this),
                this.hide(),
                (this.toDispose = o.dispose(this.toDispose))
            }),
            t
          )
        })(r.EventEmitter)
        ;(l.BUBBLE_UP_EVENTS = ['click', 'keydown', 'focus', 'blur']),
          (l.BUBBLE_DOWN_EVENTS = ['click']),
          (t.ContextView = l)
      }),
      define(d[424], h([4]), {}),
      define(d[419], h([0, 1, 6, 9, 34, 28, 424]), function(e, t, n, i, o, r) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = {
            badgeBackground: o.Color.fromHex('#4D4D4D'),
            badgeForeground: o.Color.fromHex('#FFFFFF')
          },
          a = (function() {
            function e(e, t) {
              ;(this.options = t || Object.create(null)),
                r.mixin(this.options, s, !1),
                (this.badgeBackground = this.options.badgeBackground),
                (this.badgeForeground = this.options.badgeForeground),
                (this.badgeBorder = this.options.badgeBorder),
                (this.element = n.append(e, n.$('.monaco-count-badge'))),
                (this.titleFormat = this.options.titleFormat || ''),
                this.setCount(this.options.count || 0)
            }
            return (
              (e.prototype.setCount = function(e) {
                ;(this.count = e), this.render()
              }),
              (e.prototype.setTitleFormat = function(e) {
                ;(this.titleFormat = e), this.render()
              }),
              (e.prototype.render = function() {
                ;(this.element.textContent = '' + this.count),
                  (this.element.title = i.format(this.titleFormat, this.count)),
                  this.applyStyles()
              }),
              (e.prototype.style = function(e) {
                ;(this.badgeBackground = e.badgeBackground),
                  (this.badgeForeground = e.badgeForeground),
                  (this.badgeBorder = e.badgeBorder),
                  this.applyStyles()
              }),
              (e.prototype.applyStyles = function() {
                if (this.element) {
                  var e = this.badgeBackground
                      ? this.badgeBackground.toString()
                      : null,
                    t = this.badgeForeground
                      ? this.badgeForeground.toString()
                      : null,
                    n = this.badgeBorder ? this.badgeBorder.toString() : null
                  ;(this.element.style.backgroundColor = e),
                    (this.element.style.color = t),
                    (this.element.style.borderWidth = n ? '1px' : null),
                    (this.element.style.borderStyle = n ? 'solid' : null),
                    (this.element.style.borderColor = n)
                }
              }),
              e
            )
          })()
        t.CountBadge = a
      }),
      define(d[418], h([4]), {}),
      define(d[417], h([4]), {}),
      define(d[416], h([4]), {}),
      define(d[185], h([0, 1, 6, 124, 46, 152, 416]), function(
        e,
        t,
        n,
        i,
        o,
        r
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = (function() {
          function e(e, t) {
            ;(this.domNode = n.append(e, n.$('.monaco-icon-label'))),
              t && t.supportHighlights
                ? (this.labelNode = new i.HighlightedLabel(
                    n.append(this.domNode, n.$('a.label-name'))
                  ))
                : (this.labelNode = n.append(
                    this.domNode,
                    n.$('a.label-name')
                  )),
              (this.descriptionNode = n.append(
                this.domNode,
                n.$('span.label-description')
              ))
          }
          return (
            Object.defineProperty(e.prototype, 'element', {
              get: function() {
                return this.domNode
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'labelElement', {
              get: function() {
                var e = this.labelNode
                return e instanceof i.HighlightedLabel ? e.element : e
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'descriptionElement', {
              get: function() {
                return this.descriptionNode
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.setValue = function(e, t, o) {
              var r = this.labelNode
              r instanceof i.HighlightedLabel
                ? r.set(e || '', o ? o.matches : void 0)
                : (r.textContent = e || ''),
                (this.descriptionNode.textContent = t || ''),
                t
                  ? n.removeClass(this.descriptionNode, 'empty')
                  : n.addClass(this.descriptionNode, 'empty'),
                (this.domNode.title = o && o.title ? o.title : '')
              var s = ['monaco-icon-label']
              o &&
                (o.extraClasses && s.push.apply(s, o.extraClasses),
                o.italic && s.push('italic')),
                (this.domNode.className = s.join(' '))
            }),
            (e.prototype.dispose = function() {
              var e = this.labelNode
              e instanceof i.HighlightedLabel && e.dispose()
            }),
            e
          )
        })()
        t.IconLabel = s
        var a = (function(e) {
          function t(t, n, i, o) {
            var r = e.call(this, t) || this
            return r.setFile(n, i, o), r
          }
          return (
            f(t, e),
            (t.prototype.setFile = function(e, t, n) {
              var i = o.dirname(e.fsPath)
              this.setValue(
                o.basename(e.fsPath),
                i && '.' !== i ? r.getPathLabel(i, t, n) : '',
                { title: e.fsPath }
              )
            }),
            t
          )
        })(s)
        t.FileLabel = a
      }),
      define(d[414], h([4]), {}),
      define(d[412], h([4]), {}),
      define(d[411], h([4]), {}),
      define(d[406], h([4]), {}),
      define(d[405], h([4]), {}),
      define(d[402], h([0, 1, 8, 76, 50, 6, 3, 34, 28, 405]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var l = { progressBarBackground: a.Color.fromHex('#0E70C0') },
          c = (function() {
            function e(e, t) {
              ;(this.options = t || Object.create(null)),
                u.mixin(this.options, l, !1),
                (this.toUnbind = []),
                (this.workedVal = 0),
                (this.progressBarBackground = this.options.progressBarBackground),
                this.create(e)
            }
            return (
              (e.prototype.create = function(e) {
                var t = this
                e.div({ class: 'progress-container' }, function(e) {
                  ;(t.element = e.clone()),
                    e.div({ class: 'progress-bit' }).on(
                      [
                        r.EventType.ANIMATION_START,
                        r.EventType.ANIMATION_END,
                        r.EventType.ANIMATION_ITERATION
                      ],
                      function(e) {
                        switch (e.type) {
                          case r.EventType.ANIMATION_START:
                          case r.EventType.ANIMATION_END:
                            t.animationRunning =
                              e.type === r.EventType.ANIMATION_START
                            break
                          case r.EventType.ANIMATION_ITERATION:
                            t.animationStopToken && t.animationStopToken(null)
                        }
                      },
                      t.toUnbind
                    ),
                    (t.bit = e.getHTMLElement())
                }),
                  this.applyStyles()
              }),
              (e.prototype.off = function() {
                ;(this.bit.style.width = 'inherit'),
                  (this.bit.style.opacity = '1'),
                  this.element.removeClass('active'),
                  this.element.removeClass('infinite'),
                  this.element.removeClass('discrete'),
                  (this.workedVal = 0),
                  (this.totalWork = void 0)
              }),
              (e.prototype.done = function() {
                return this.doDone(!0)
              }),
              (e.prototype.stop = function() {
                return this.doDone(!1)
              }),
              (e.prototype.doDone = function(e) {
                var t = this
                return (
                  this.element.addClass('done'),
                  this.element.hasClass('infinite')
                    ? ((this.bit.style.opacity = '0'),
                      e
                        ? n.TPromise.timeout(200).then(function() {
                            return t.off()
                          })
                        : this.off())
                    : ((this.bit.style.width = 'inherit'),
                      e
                        ? n.TPromise.timeout(200).then(function() {
                            return t.off()
                          })
                        : this.off()),
                  this
                )
              }),
              (e.prototype.infinite = function() {
                return (
                  (this.bit.style.width = '2%'),
                  (this.bit.style.opacity = '1'),
                  this.element.removeClass('discrete'),
                  this.element.removeClass('done'),
                  this.element.addClass('active'),
                  this.element.addClass('infinite'),
                  this
                )
              }),
              (e.prototype.total = function(e) {
                return (this.workedVal = 0), (this.totalWork = e), this
              }),
              (e.prototype.hasTotal = function() {
                return !isNaN(this.totalWork)
              }),
              (e.prototype.worked = function(e) {
                return (
                  i.ok(!isNaN(this.totalWork), 'Total work not set'),
                  (e = Number(e)),
                  i.ok(!isNaN(e), 'Value is not a number'),
                  (e = Math.max(1, e)),
                  (this.workedVal += e),
                  (this.workedVal = Math.min(this.totalWork, this.workedVal)),
                  this.element.hasClass('infinite') &&
                    this.element.removeClass('infinite'),
                  this.element.hasClass('done') &&
                    this.element.removeClass('done'),
                  this.element.hasClass('active') ||
                    this.element.addClass('active'),
                  this.element.hasClass('discrete') ||
                    this.element.addClass('discrete'),
                  (this.bit.style.width =
                    (this.workedVal / this.totalWork) * 100 + '%'),
                  this
                )
              }),
              (e.prototype.getContainer = function() {
                return o.$(this.element)
              }),
              (e.prototype.style = function(e) {
                ;(this.progressBarBackground = e.progressBarBackground),
                  this.applyStyles()
              }),
              (e.prototype.applyStyles = function() {
                if (this.bit) {
                  var e = this.progressBarBackground
                    ? this.progressBarBackground.toString()
                    : null
                  this.bit.style.backgroundColor = e
                }
              }),
              (e.prototype.dispose = function() {
                this.toUnbind = s.dispose(this.toUnbind)
              }),
              e
            )
          })()
        t.ProgressBar = c
      }),
      define(d[400], h([4]), {}),
      define(d[99], h([
        0,
        1,
        3,
        50,
        30,
        15,
        29,
        6,
        75,
        38,
        45,
        11,
        400
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var h
        !(function(e) {
          ;(e[(e.VERTICAL = 0)] = 'VERTICAL'),
            (e[(e.HORIZONTAL = 1)] = 'HORIZONTAL')
        })((h = t.Orientation || (t.Orientation = {})))
        var p = (function(e) {
          function t(t, n, s) {
            void 0 === s && (s = {})
            var l = e.call(this) || this
            return (
              (l.$e = i.$('.monaco-sash').appendTo(t)),
              r.isMacintosh && l.$e.addClass('mac'),
              (l.gesture = new u.Gesture(l.$e.getHTMLElement())),
              l.$e.on(a.EventType.MOUSE_DOWN, function(e) {
                l.onMouseDown(e)
              }),
              l.$e.on(a.EventType.DBLCLICK, function(e) {
                l.emit('reset', e)
              }),
              l.$e.on(u.EventType.Start, function(e) {
                l.onTouchStart(e)
              }),
              (l.size = s.baseSize || 5),
              o.isIPad && ((l.size *= 4), l.$e.addClass('touch')),
              l.setOrientation(s.orientation || h.VERTICAL),
              (l.isDisabled = !1),
              (l.hidden = !1),
              (l.layoutProvider = n),
              l
            )
          }
          return (
            f(t, e),
            (t.prototype.getHTMLElement = function() {
              return this.$e.getHTMLElement()
            }),
            (t.prototype.setOrientation = function(e) {
              ;(this.orientation = e),
                this.$e.removeClass('horizontal', 'vertical'),
                this.$e.addClass(this.getOrientation()),
                this.orientation === h.HORIZONTAL
                  ? this.$e.size(null, this.size)
                  : this.$e.size(this.size),
                this.layoutProvider && this.layout()
            }),
            (t.prototype.getOrientation = function() {
              return this.orientation === h.HORIZONTAL
                ? 'horizontal'
                : 'vertical'
            }),
            (t.prototype.onMouseDown = function(e) {
              var t = this
              if ((a.EventHelper.stop(e, !1), !this.isDisabled)) {
                var n = i.$(a.getElementsByTagName('iframe'))
                n && n.style('pointer-events', 'none')
                var o = new c.StandardMouseEvent(e),
                  s = o.posx,
                  u = o.posy,
                  l = { startX: s, currentX: s, startY: u, currentY: u }
                this.$e.addClass('active'), this.emit('start', l)
                var d = i.$(window),
                  h =
                    this.getOrientation() +
                    '-cursor-container' +
                    (r.isMacintosh ? '-mac' : ''),
                  p = s,
                  f = u
                d
                  .on('mousemove', function(e) {
                    a.EventHelper.stop(e, !1)
                    var n = new c.StandardMouseEvent(e),
                      i = {
                        startX: s,
                        currentX: n.posx,
                        startY: u,
                        currentY: n.posy
                      }
                    ;(p = n.posx), (f = n.posy), t.emit('change', i)
                  })
                  .once('mouseup', function(e) {
                    a.EventHelper.stop(e, !1),
                      t.$e.removeClass('active'),
                      t.emit('end'),
                      d.off('mousemove'),
                      document.body.classList.remove(h)
                    var n = i.$(a.getElementsByTagName('iframe'))
                    n && n.style('pointer-events', 'auto')
                  }),
                  document.body.classList.add(h)
              }
            }),
            (t.prototype.onTouchStart = function(e) {
              var t = this
              a.EventHelper.stop(e)
              var i = [],
                o = e.pageX,
                r = e.pageY
              this.emit('start', {
                startX: o,
                currentX: o,
                startY: r,
                currentY: r
              })
              var l = o,
                c = r
              i.push(
                a.addDisposableListener(
                  this.$e.getHTMLElement(),
                  u.EventType.Change,
                  function(e) {
                    s.isNumber(e.pageX) &&
                      s.isNumber(e.pageY) &&
                      (t.emit('change', {
                        startX: o,
                        currentX: e.pageX,
                        startY: r,
                        currentY: e.pageY
                      }),
                      (l = e.pageX),
                      (c = e.pageY))
                  }
                )
              ),
                i.push(
                  a.addDisposableListener(
                    this.$e.getHTMLElement(),
                    u.EventType.End,
                    function(e) {
                      t.emit('end'), n.dispose(i)
                    }
                  )
                )
            }),
            (t.prototype.layout = function() {
              var e
              if (this.orientation === h.VERTICAL) {
                var t = this.layoutProvider
                ;(e = {
                  left: t.getVerticalSashLeft(this) - this.size / 2 + 'px'
                }),
                  t.getVerticalSashTop &&
                    (e.top = t.getVerticalSashTop(this) + 'px'),
                  t.getVerticalSashHeight &&
                    (e.height = t.getVerticalSashHeight(this) + 'px')
              } else {
                var n = this.layoutProvider
                ;(e = {
                  top: n.getHorizontalSashTop(this) - this.size / 2 + 'px'
                }),
                  n.getHorizontalSashLeft &&
                    (e.left = n.getHorizontalSashLeft(this) + 'px'),
                  n.getHorizontalSashWidth &&
                    (e.width = n.getHorizontalSashWidth(this) + 'px')
              }
              this.$e.style(e)
            }),
            (t.prototype.show = function() {
              ;(this.hidden = !1), this.$e.show()
            }),
            (t.prototype.hide = function() {
              ;(this.hidden = !0), this.$e.hide()
            }),
            (t.prototype.isHidden = function() {
              return this.hidden
            }),
            (t.prototype.enable = function() {
              this.$e.removeClass('disabled'), (this.isDisabled = !1)
            }),
            (t.prototype.disable = function() {
              this.$e.addClass('disabled'), (this.isDisabled = !0)
            }),
            (t.prototype.dispose = function() {
              this.$e && (this.$e.destroy(), (this.$e = null)),
                e.prototype.dispose.call(this)
            }),
            t
          )
        })(l.EventEmitter)
        t.Sash = p
        var g = (function(e) {
          function t(t, n) {
            var i = e.call(this) || this
            return (
              (i.minWidth = n),
              (i._onPositionChange = new d.Emitter()),
              (i.ratio = 0.5),
              (i.sash = new p(t, i)),
              i._register(
                i.sash.addListener('start', function() {
                  return i.onSashDragStart()
                })
              ),
              i._register(
                i.sash.addListener('change', function(e) {
                  return i.onSashDrag(e)
                })
              ),
              i._register(
                i.sash.addListener('end', function() {
                  return i.onSashDragEnd()
                })
              ),
              i._register(
                i.sash.addListener('reset', function() {
                  return i.onSashReset()
                })
              ),
              i
            )
          }
          return (
            f(t, e),
            Object.defineProperty(t.prototype, 'onPositionChange', {
              get: function() {
                return this._onPositionChange.event
              },
              enumerable: !0,
              configurable: !0
            }),
            (t.prototype.getVerticalSashTop = function() {
              return 0
            }),
            (t.prototype.getVerticalSashLeft = function() {
              return this.position
            }),
            (t.prototype.getVerticalSashHeight = function() {
              return this.dimension.height
            }),
            (t.prototype.setDimenesion = function(e) {
              ;(this.dimension = e), this.compute(this.ratio)
            }),
            (t.prototype.onSashDragStart = function() {
              this.startPosition = this.position
            }),
            (t.prototype.onSashDrag = function(e) {
              this.compute(
                (this.startPosition + (e.currentX - e.startX)) /
                  this.dimension.width
              )
            }),
            (t.prototype.compute = function(e) {
              this.computeSashPosition(e),
                (this.ratio = this.position / this.dimension.width),
                this._onPositionChange.fire(this.position)
            }),
            (t.prototype.onSashDragEnd = function() {
              this.sash.layout()
            }),
            (t.prototype.onSashReset = function() {
              ;(this.ratio = 0.5),
                this._onPositionChange.fire(this.position),
                this.sash.layout()
            }),
            (t.prototype.computeSashPosition = function(e) {
              void 0 === e && (e = this.ratio)
              var t = this.dimension.width,
                n = Math.floor((e || 0.5) * t),
                i = Math.floor(0.5 * t)
              t > 2 * this.minWidth
                ? (n < this.minWidth && (n = this.minWidth),
                  n > t - this.minWidth && (n = t - this.minWidth))
                : (n = i),
                this.position !== n && ((this.position = n), this.sash.layout())
            }),
            t
          )
        })(n.Disposable)
        t.VSash = g
      }),
      define(d[399], h([4]), {}),
      define(d[61], h([
        0,
        1,
        6,
        15,
        45,
        465,
        463,
        3,
        51,
        44,
        18,
        26,
        11,
        399
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h) {
        'use strict'
        function p(e) {
          var 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,
            arrowSize: void 0 !== e.arrowSize ? e.arrowSize : 11,
            listenOnDomNode:
              void 0 !== e.listenOnDomNode ? e.listenOnDomNode : null,
            horizontal:
              void 0 !== e.horizontal
                ? e.horizontal
                : u.ScrollbarVisibility.Auto,
            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 : u.ScrollbarVisibility.Auto,
            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),
            i.isMacintosh && (t.className += ' mac'),
            t
          )
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var g = (function(e) {
          function t(t, n, i) {
            var o = e.call(this) || this
            ;(o._onScroll = o._register(new h.Emitter())),
              (o.onScroll = o._onScroll.event),
              (t.style.overflow = 'hidden'),
              (o._options = p(n)),
              (o._scrollable =
                void 0 === i ? o._register(new u.Scrollable()) : i),
              o._register(
                o._scrollable.onScroll(function(e) {
                  o._onDidScroll(e), o._onScroll.fire(e)
                })
              )
            var a = {
              onMouseWheel: function(e) {
                return o._onMouseWheel(e)
              },
              onDragStart: function() {
                return o._onDragStart()
              },
              onDragEnd: function() {
                return o._onDragEnd()
              }
            }
            return (
              (o._verticalScrollbar = o._register(
                new s.VerticalScrollbar(o._scrollable, o._options, a)
              )),
              (o._horizontalScrollbar = o._register(
                new r.HorizontalScrollbar(o._scrollable, o._options, a)
              )),
              (o._domNode = document.createElement('div')),
              (o._domNode.className =
                'monaco-scrollable-element ' + o._options.className),
              o._domNode.setAttribute('role', 'presentation'),
              (o._domNode.style.position = 'relative'),
              (o._domNode.style.overflow = 'hidden'),
              o._domNode.appendChild(t),
              o._domNode.appendChild(o._horizontalScrollbar.domNode.domNode),
              o._domNode.appendChild(o._verticalScrollbar.domNode.domNode),
              o._options.useShadows &&
                ((o._leftShadowDomNode = d.createFastDomNode(
                  document.createElement('div')
                )),
                o._leftShadowDomNode.setClassName('shadow'),
                o._domNode.appendChild(o._leftShadowDomNode.domNode),
                (o._topShadowDomNode = d.createFastDomNode(
                  document.createElement('div')
                )),
                o._topShadowDomNode.setClassName('shadow'),
                o._domNode.appendChild(o._topShadowDomNode.domNode),
                (o._topLeftShadowDomNode = d.createFastDomNode(
                  document.createElement('div')
                )),
                o._topLeftShadowDomNode.setClassName('shadow top-left-corner'),
                o._domNode.appendChild(o._topLeftShadowDomNode.domNode)),
              (o._listenOnDomNode = o._options.listenOnDomNode || o._domNode),
              (o._mouseWheelToDispose = []),
              o._setListeningToMouseWheel(o._options.handleMouseWheel),
              o.onmouseover(o._listenOnDomNode, function(e) {
                return o._onMouseOver(e)
              }),
              o.onnonbubblingmouseout(o._listenOnDomNode, function(e) {
                return o._onMouseOut(e)
              }),
              (o._hideTimeout = o._register(new c.TimeoutTimer())),
              (o._isDragging = !1),
              (o._mouseIsOver = !1),
              (o._shouldRender = !0),
              o
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              ;(this._mouseWheelToDispose = a.dispose(
                this._mouseWheelToDispose
              )),
                e.prototype.dispose.call(this)
            }),
            (t.prototype.getDomNode = function() {
              return this._domNode
            }),
            (t.prototype.getOverviewRulerLayoutInfo = function() {
              return {
                parent: this._domNode,
                insertBefore: this._verticalScrollbar.domNode.domNode
              }
            }),
            (t.prototype.delegateVerticalScrollbarMouseDown = function(e) {
              this._verticalScrollbar.delegateMouseDown(e)
            }),
            (t.prototype.delegateSliderMouseDown = function(e, t) {
              this._verticalScrollbar.delegateSliderMouseDown(e, t)
            }),
            (t.prototype.updateState = function(e) {
              this._scrollable.updateState(e)
            }),
            (t.prototype.getScrollState = function() {
              return this._scrollable.getState()
            }),
            (t.prototype.updateClassName = function(e) {
              ;(this._options.className = e),
                i.isMacintosh && (this._options.className += ' mac'),
                (this._domNode.className =
                  'monaco-scrollable-element ' + this._options.className)
            }),
            (t.prototype.updateOptions = function(e) {
              var t = p(e)
              ;(this._options.handleMouseWheel = t.handleMouseWheel),
                (this._options.mouseWheelScrollSensitivity =
                  t.mouseWheelScrollSensitivity),
                this._setListeningToMouseWheel(this._options.handleMouseWheel),
                this._options.lazyRender || this._render()
            }),
            (t.prototype._setListeningToMouseWheel = function(e) {
              var t = this
              if (
                this._mouseWheelToDispose.length > 0 !== e &&
                ((this._mouseWheelToDispose = a.dispose(
                  this._mouseWheelToDispose
                )),
                e)
              ) {
                var i = function(e) {
                  var n = new o.StandardMouseWheelEvent(e)
                  t._onMouseWheel(n)
                }
                this._mouseWheelToDispose.push(
                  n.addDisposableListener(
                    this._listenOnDomNode,
                    'mousewheel',
                    i
                  )
                ),
                  this._mouseWheelToDispose.push(
                    n.addDisposableListener(
                      this._listenOnDomNode,
                      'DOMMouseScroll',
                      i
                    )
                  )
              }
            }),
            (t.prototype._onMouseWheel = function(e) {
              var t = -1,
                n = -1
              if (e.deltaY || e.deltaX) {
                var o = e.deltaY * this._options.mouseWheelScrollSensitivity,
                  r = e.deltaX * this._options.mouseWheelScrollSensitivity
                this._options.flipAxes && ((o = (c = [r, o])[0]), (r = c[1]))
                var s = !i.isMacintosh && e.browserEvent.shiftKey
                ;(!this._options.scrollYToX && !s) || r || ((r = o), (o = 0)),
                  i.isMacintosh &&
                    (o && Math.abs(r) < 0.2 && (r = 0),
                    Math.abs(o) > 0.5 * Math.abs(r) && (r = 0))
                var a = this._scrollable.getState()
                if (o) {
                  var u = a.scrollTop
                  ;(t = this._verticalScrollbar.validateScrollPosition(
                    (-1 !== t ? t : u) - 50 * o
                  )) === u && (t = -1)
                }
                if (r) {
                  var l = a.scrollLeft
                  ;(n = this._horizontalScrollbar.validateScrollPosition(
                    (-1 !== n ? n : l) - 50 * r
                  )) === l && (n = -1)
                }
                ;(-1 === t && -1 === n) ||
                  (-1 !== t &&
                    ((this._shouldRender =
                      this._verticalScrollbar.setDesiredScrollPosition(t) ||
                      this._shouldRender),
                    (t = -1)),
                  -1 !== n &&
                    ((this._shouldRender =
                      this._horizontalScrollbar.setDesiredScrollPosition(n) ||
                      this._shouldRender),
                    (n = -1)))
              }
              ;(this._options.alwaysConsumeMouseWheel || this._shouldRender) &&
                (e.preventDefault(), e.stopPropagation())
              var c
            }),
            (t.prototype._onDidScroll = function(e) {
              ;(this._shouldRender =
                this._horizontalScrollbar.onDidScroll(e) || this._shouldRender),
                (this._shouldRender =
                  this._verticalScrollbar.onDidScroll(e) || this._shouldRender),
                this._options.useShadows && (this._shouldRender = !0),
                this._reveal(),
                this._options.lazyRender || this._render()
            }),
            (t.prototype.renderNow = function() {
              if (!this._options.lazyRender)
                throw new Error(
                  'Please use `lazyRender` together with `renderNow`!'
                )
              this._render()
            }),
            (t.prototype._render = function() {
              if (
                this._shouldRender &&
                ((this._shouldRender = !1),
                this._horizontalScrollbar.render(),
                this._verticalScrollbar.render(),
                this._options.useShadows)
              ) {
                var e = this._scrollable.getState(),
                  t = e.scrollTop > 0,
                  n = e.scrollLeft > 0
                this._leftShadowDomNode.setClassName(
                  'shadow' + (n ? ' left' : '')
                ),
                  this._topShadowDomNode.setClassName(
                    'shadow' + (t ? ' top' : '')
                  ),
                  this._topLeftShadowDomNode.setClassName(
                    'shadow top-left-corner' +
                      (t ? ' top' : '') +
                      (n ? ' left' : '')
                  )
              }
            }),
            (t.prototype._onDragStart = function() {
              ;(this._isDragging = !0), this._reveal()
            }),
            (t.prototype._onDragEnd = function() {
              ;(this._isDragging = !1), this._hide()
            }),
            (t.prototype._onMouseOut = function(e) {
              ;(this._mouseIsOver = !1), this._hide()
            }),
            (t.prototype._onMouseOver = function(e) {
              ;(this._mouseIsOver = !0), this._reveal()
            }),
            (t.prototype._reveal = function() {
              this._verticalScrollbar.beginReveal(),
                this._horizontalScrollbar.beginReveal(),
                this._scheduleHide()
            }),
            (t.prototype._hide = function() {
              this._mouseIsOver ||
                this._isDragging ||
                (this._verticalScrollbar.beginHide(),
                this._horizontalScrollbar.beginHide())
            }),
            (t.prototype._scheduleHide = function() {
              var e = this
              this._mouseIsOver ||
                this._isDragging ||
                this._hideTimeout.cancelAndSet(function() {
                  return e._hide()
                }, 500)
            }),
            t
          )
        })(l.Widget)
        t.ScrollableElement = g
        var m = (function(e) {
          function t(t, n) {
            var i = e.call(this, t, n) || this
            return (
              (i._element = t),
              i.onScroll(function(e) {
                e.scrollTopChanged && (i._element.scrollTop = e.scrollTop),
                  e.scrollLeftChanged && (i._element.scrollLeft = e.scrollLeft)
              }),
              i.scanDomNode(),
              i
            )
          }
          return (
            f(t, e),
            (t.prototype.scanDomNode = function() {
              this.updateState({
                width: this._element.clientWidth,
                scrollWidth: this._element.scrollWidth,
                scrollLeft: this._element.scrollLeft,
                height: this._element.clientHeight,
                scrollHeight: this._element.scrollHeight,
                scrollTop: this._element.scrollTop
              })
            }),
            t
          )
        })(g)
        t.DomScrollableElement = m
      }),
      define(d[398], h([
        0,
        1,
        28,
        3,
        75,
        6,
        117,
        61,
        51,
        537,
        472,
        15,
        30
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var p = [
            'click',
            'dblclick',
            'mouseup',
            'mousedown',
            'mouseover',
            'mousemove',
            'mouseout',
            'contextmenu',
            'touchstart'
          ],
          f = { useShadows: !0 },
          g = (function() {
            function e(e, t, i, r) {
              void 0 === r && (r = f),
                (this.delegate = t),
                (this.items = []),
                (this.itemId = 0),
                (this.rangeMap = new l.RangeMap()),
                (this.renderers = n.toObject(i, function(e) {
                  return e.templateId
                })),
                (this.cache = new c.RowCache(this.renderers)),
                (this.lastRenderTop = 0),
                (this.lastRenderHeight = 0),
                (this._domNode = document.createElement('div')),
                (this._domNode.className = 'monaco-list'),
                (this.rowsContainer = document.createElement('div')),
                (this.rowsContainer.className = 'monaco-list-rows'),
                (this.gesture = new o.Gesture(this.rowsContainer)),
                (this.scrollableElement = new a.ScrollableElement(
                  this.rowsContainer,
                  {
                    alwaysConsumeMouseWheel: !0,
                    horizontal: u.ScrollbarVisibility.Hidden,
                    vertical: u.ScrollbarVisibility.Auto,
                    useShadows: n.getOrDefault(
                      r,
                      function(e) {
                        return e.useShadows
                      },
                      f.useShadows
                    )
                  }
                )),
                this._domNode.appendChild(this.scrollableElement.getDomNode()),
                e.appendChild(this._domNode),
                (this.disposables = [
                  this.rangeMap,
                  this.gesture,
                  this.scrollableElement
                ]),
                this.scrollableElement.onScroll(
                  this.onScroll,
                  this,
                  this.disposables
                ),
                s.domEvent(this.rowsContainer, o.EventType.Change)(
                  this.onTouchChange,
                  this,
                  this.disposables
                ),
                this.layout()
            }
            return (
              Object.defineProperty(e.prototype, 'domNode', {
                get: function() {
                  return this._domNode
                },
                enumerable: !0,
                configurable: !0
              }),
              (e.prototype.splice = function(e, t, n) {
                var i = this
                void 0 === n && (n = [])
                var o = this.getRenderRange(
                  this.lastRenderTop,
                  this.lastRenderHeight
                )
                l.each(o, function(e) {
                  return i.removeItemFromDOM(i.items[e])
                })
                var r = n.map(function(e) {
                  return {
                    id: String(i.itemId++),
                    element: e,
                    size: i.delegate.getHeight(e),
                    templateId: i.delegate.getTemplateId(e),
                    row: null
                  }
                })
                ;(c = this.rangeMap).splice.apply(c, [e, t].concat(r))
                var s = (d = this.items).splice.apply(d, [e, t].concat(r)),
                  a = this.getRenderRange(
                    this.lastRenderTop,
                    this.lastRenderHeight
                  )
                l.each(a, function(e) {
                  return i.insertItemInDOM(i.items[e], e)
                })
                var u = this.getContentHeight()
                return (
                  (this.rowsContainer.style.height = u + 'px'),
                  this.scrollableElement.updateState({ scrollHeight: u }),
                  s.map(function(e) {
                    return e.element
                  })
                )
                var c, d
              }),
              Object.defineProperty(e.prototype, 'length', {
                get: function() {
                  return this.items.length
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(e.prototype, 'renderHeight', {
                get: function() {
                  return this.scrollableElement.getScrollState().height
                },
                enumerable: !0,
                configurable: !0
              }),
              (e.prototype.element = function(e) {
                return this.items[e].element
              }),
              (e.prototype.domElement = function(e) {
                var t = this.items[e].row
                return t && t.domNode
              }),
              (e.prototype.elementHeight = function(e) {
                return this.items[e].size
              }),
              (e.prototype.elementTop = function(e) {
                return this.rangeMap.positionAt(e)
              }),
              (e.prototype.indexAt = function(e) {
                return this.rangeMap.indexAt(e)
              }),
              (e.prototype.indexAfter = function(e) {
                return this.rangeMap.indexAfter(e)
              }),
              (e.prototype.layout = function(e) {
                this.scrollableElement.updateState({
                  height: e || r.getContentHeight(this._domNode)
                })
              }),
              (e.prototype.render = function(e, t) {
                var n = this,
                  i = this.getRenderRange(
                    this.lastRenderTop,
                    this.lastRenderHeight
                  ),
                  o = this.getRenderRange(e, t),
                  r = l.relativeComplement(o, i),
                  s = l.relativeComplement(i, o)
                if (
                  (r.forEach(function(e) {
                    return l.each(e, function(e) {
                      return n.insertItemInDOM(n.items[e], e)
                    })
                  }),
                  s.forEach(function(e) {
                    return l.each(e, function(e) {
                      return n.removeItemFromDOM(n.items[e])
                    })
                  }),
                  h.canUseTranslate3d() && !d.isWindows)
                ) {
                  var a = 'translate3d(0px, -' + e + 'px, 0px)'
                  ;(this.rowsContainer.style.transform = a),
                    (this.rowsContainer.style.webkitTransform = a)
                } else this.rowsContainer.style.top = '-' + e + 'px'
                ;(this.lastRenderTop = e), (this.lastRenderHeight = t)
              }),
              (e.prototype.insertItemInDOM = function(e, t) {
                e.row || (e.row = this.cache.alloc(e.templateId)),
                  e.row.domNode.parentElement ||
                    this.rowsContainer.appendChild(e.row.domNode)
                var n = this.renderers[e.templateId]
                ;(e.row.domNode.style.top = this.elementTop(t) + 'px'),
                  (e.row.domNode.style.height = e.size + 'px'),
                  e.row.domNode.setAttribute('data-index', '' + t),
                  n.renderElement(e.element, t, e.row.templateData)
              }),
              (e.prototype.removeItemFromDOM = function(e) {
                this.cache.release(e.row), (e.row = null)
              }),
              (e.prototype.getContentHeight = function() {
                return this.rangeMap.size
              }),
              (e.prototype.getScrollTop = function() {
                return this.scrollableElement.getScrollState().scrollTop
              }),
              (e.prototype.setScrollTop = function(e) {
                this.scrollableElement.updateState({ scrollTop: e })
              }),
              Object.defineProperty(e.prototype, 'scrollTop', {
                get: function() {
                  return this.getScrollTop()
                },
                set: function(e) {
                  this.setScrollTop(e)
                },
                enumerable: !0,
                configurable: !0
              }),
              (e.prototype.addListener = function(e, t, n) {
                var i = this,
                  s = t,
                  a = this.domNode
                return (
                  p.indexOf(e) > -1
                    ? (t = function(e) {
                        return i.fireScopedEvent(
                          e,
                          s,
                          i.getItemIndexFromMouseEvent(e)
                        )
                      })
                    : e === o.EventType.Tap &&
                      ((a = this.rowsContainer),
                      (t = function(e) {
                        return i.fireScopedEvent(
                          e,
                          s,
                          i.getItemIndexFromGestureEvent(e)
                        )
                      })),
                  r.addDisposableListener(a, e, t, n)
                )
              }),
              (e.prototype.fireScopedEvent = function(e, t, i) {
                if (!(i < 0)) {
                  var o = this.items[i].element
                  t(n.assign(e, { element: o, index: i }))
                }
              }),
              (e.prototype.onScroll = function(e) {
                this.render(e.scrollTop, e.height)
              }),
              (e.prototype.onTouchChange = function(e) {
                e.preventDefault(),
                  e.stopPropagation(),
                  (this.scrollTop -= e.translationY)
              }),
              (e.prototype.getItemIndexFromMouseEvent = function(e) {
                return this.getItemIndexFromEventTarget(e.target)
              }),
              (e.prototype.getItemIndexFromGestureEvent = function(e) {
                return this.getItemIndexFromEventTarget(e.initialTarget)
              }),
              (e.prototype.getItemIndexFromEventTarget = function(e) {
                for (; e instanceof HTMLElement && e !== this.rowsContainer; ) {
                  var t = e,
                    n = t.getAttribute('data-index')
                  if (n) {
                    var i = Number(n)
                    if (!isNaN(i)) return i
                  }
                  e = t.parentElement
                }
                return -1
              }),
              (e.prototype.getRenderRange = function(e, t) {
                return {
                  start: this.rangeMap.indexAt(e),
                  end: this.rangeMap.indexAfter(e + t - 1)
                }
              }),
              (e.prototype.dispose = function() {
                ;(this.items = null),
                  this._domNode &&
                    this._domNode.parentElement &&
                    (this._domNode.parentNode.removeChild(this._domNode),
                    (this._domNode = null)),
                  (this.disposables = i.dispose(this.disposables))
              }),
              e
            )
          })()
        t.ListView = g
      })
    var v =
      (this && this.__decorate) ||
      function(e, t, n, i) {
        var o,
          r = arguments.length,
          s =
            r < 3
              ? t
              : null === i
                ? (i = Object.getOwnPropertyDescriptor(t, n))
                : i
        if ('object' == typeof Reflect && 'function' == typeof Reflect.decorate)
          s = Reflect.decorate(e, t, n, i)
        else
          for (var a = e.length - 1; a >= 0; a--)
            (o = e[a]) &&
              (s = (r < 3 ? o(s) : r > 3 ? o(t, n, s) : o(t, n)) || s)
        return r > 3 && s && Object.defineProperty(t, n, s), s
      }
    define(d[395], h([
      0,
      1,
      3,
      29,
      27,
      129,
      533,
      6,
      15,
      75,
      64,
      11,
      117,
      398,
      34,
      28,
      411
    ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g, m) {
      'use strict'
      function _(e) {
        return u.isMacintosh ? e.metaKey : e.ctrlKey
      }
      function y(e) {
        return e.shiftKey
      }
      function b(e) {
        return _(e) || y(e)
      }
      function C(e, t) {
        var n = e.indexOf(t)
        if (-1 === n) return []
        for (var i = [], o = n - 1; o >= 0 && e[o] === t - (n - o); )
          i.push(e[o--])
        for (i.reverse(), o = n; o < e.length && e[o] === t + (o - n); )
          i.push(e[o++])
        return i
      }
      function w(e, t) {
        for (var n = [], i = 0, o = 0; i < e.length || o < t.length; )
          if (i >= e.length) n.push(t[o++])
          else if (o >= t.length) n.push(e[i++])
          else {
            if (e[i] === t[o]) {
              n.push(e[i]), i++, o++
              continue
            }
            e[i] < t[o] ? n.push(e[i++]) : n.push(t[o++])
          }
        return n
      }
      function S(e, t) {
        for (var n = [], i = 0, o = 0; i < e.length || o < t.length; )
          if (i >= e.length) n.push(t[o++])
          else if (o >= t.length) n.push(e[i++])
          else {
            if (e[i] === t[o]) {
              i++, o++
              continue
            }
            e[i] < t[o] ? n.push(e[i++]) : o++
          }
        return n
      }
      Object.defineProperty(t, '__esModule', { value: !0 })
      var E = (function() {
          function e(e) {
            this.spliceables = e
          }
          return (
            (e.prototype.splice = function(e, t, n) {
              this.spliceables.forEach(function(i) {
                return i.splice(e, t, n)
              })
            }),
            e
          )
        })(),
        L = (function() {
          function e(e) {
            ;(this.trait = e), (this.rendered = [])
          }
          return (
            Object.defineProperty(e.prototype, 'templateId', {
              get: function() {
                return 'template:' + this.trait.trait
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.renderTemplate = function(e) {
              return { container: e, elementDisposable: n.empty }
            }),
            (e.prototype.renderElement = function(e, t, i) {
              var o = this
              i.elementDisposable.dispose()
              var s = { index: t, templateData: i }
              this.rendered.push(s),
                (i.elementDisposable = n.toDisposable(
                  r.once(function() {
                    return o.rendered.splice(o.rendered.indexOf(s), 1)
                  })
                )),
                this.trait.renderIndex(t, i.container)
            }),
            (e.prototype.renderIndexes = function(e) {
              var t = this
              this.rendered
                .filter(function(t) {
                  var n = t.index
                  return e.indexOf(n) > -1
                })
                .forEach(function(e) {
                  var n = e.index,
                    i = e.templateData
                  return t.trait.renderIndex(n, i.container)
                })
            }),
            (e.prototype.splice = function(e, t) {
              for (var n = 0; n < t; n++) {
                var i = 'key_' + (e + n),
                  o = this.rendered[i]
                o && o.elementDisposable.dispose()
              }
            }),
            (e.prototype.disposeTemplate = function(e) {
              e.elementDisposable.dispose()
            }),
            e
          )
        })(),
        x = (function() {
          function e(e) {
            ;(this._trait = e),
              (this._onChange = new d.Emitter()),
              (this.indexes = [])
          }
          return (
            Object.defineProperty(e.prototype, 'onChange', {
              get: function() {
                return this._onChange.event
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'trait', {
              get: function() {
                return this._trait
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'renderer', {
              get: function() {
                return new L(this)
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.splice = function(e, t, n) {
              var i = n.length - t,
                o = e + t,
                r = this.indexes
                  .filter(function(t) {
                    return t < e
                  })
                  .concat(
                    n.reduce(function(t, n, i) {
                      return n ? t.concat([i + e]) : t
                    }, []),
                    this.indexes
                      .filter(function(e) {
                        return e >= o
                      })
                      .map(function(e) {
                        return e + i
                      })
                  )
              this.renderer.splice(e, t), this.set(r)
            }),
            (e.prototype.renderIndex = function(e, t) {
              a.toggleClass(t, this._trait, this.contains(e))
            }),
            (e.prototype.set = function(e) {
              var t = this.indexes
              this.indexes = e
              var n = w(t, e)
              return (
                this.renderer.renderIndexes(n),
                this._onChange.fire({ indexes: e }),
                t
              )
            }),
            (e.prototype.get = function() {
              return this.indexes
            }),
            (e.prototype.contains = function(e) {
              return this.indexes.some(function(t) {
                return t === e
              })
            }),
            (e.prototype.dispose = function() {
              ;(this.indexes = null),
                (this._onChange = n.dispose(this._onChange))
            }),
            e
          )
        })()
      v([s.memoize], x.prototype, 'renderer', null)
      var N = (function(e) {
          function t(t) {
            var n = e.call(this, 'focused') || this
            return (n.getDomId = t), n
          }
          return (
            f(t, e),
            (t.prototype.renderIndex = function(t, n) {
              e.prototype.renderIndex.call(this, t, n),
                n.setAttribute('role', 'treeitem'),
                n.setAttribute('id', this.getDomId(t))
            }),
            t
          )
        })(x),
        M = (function() {
          function e() {
            this.length = 0
          }
          return (
            Object.defineProperty(e.prototype, 'templateId', {
              get: function() {
                return 'aria'
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.splice = function(e, t, n) {
              this.length += n.length - t
            }),
            (e.prototype.renderTemplate = function(e) {
              return e
            }),
            (e.prototype.renderElement = function(e, t, n) {
              n.setAttribute('aria-setsize', '' + this.length),
                n.setAttribute('aria-posinset', '' + (t + 1))
            }),
            (e.prototype.disposeTemplate = function(e) {}),
            e
          )
        })(),
        T = (function() {
          function e(e, t, n) {
            ;(this.trait = e), (this.view = t), (this.getId = n)
          }
          return (
            (e.prototype.splice = function(e, t, n) {
              var i = this
              if (!this.getId)
                return this.trait.splice(
                  e,
                  t,
                  n.map(function(e) {
                    return !1
                  })
                )
              var o = this.trait.get().map(function(e) {
                  return i.getId(i.view.element(e))
                }),
                r = n.map(function(e) {
                  return o.indexOf(i.getId(e)) > -1
                })
              this.trait.splice(e, t, r)
            }),
            e
          )
        })(),
        k = (function() {
          function e(e, t) {
            ;(this.list = e), (this.view = t), (this.disposables = [])
            var n = d.chain(h.domEvent(t.domNode, 'keydown')).map(function(e) {
              return new c.StandardKeyboardEvent(e)
            })
            n
              .filter(function(e) {
                return 3 === e.keyCode
              })
              .on(this.onEnter, this, this.disposables),
              n
                .filter(function(e) {
                  return 16 === e.keyCode
                })
                .on(this.onUpArrow, this, this.disposables),
              n
                .filter(function(e) {
                  return 18 === e.keyCode
                })
                .on(this.onDownArrow, this, this.disposables),
              n
                .filter(function(e) {
                  return 11 === e.keyCode
                })
                .on(this.onPageUpArrow, this, this.disposables),
              n
                .filter(function(e) {
                  return 12 === e.keyCode
                })
                .on(this.onPageDownArrow, this, this.disposables)
          }
          return (
            (e.prototype.onEnter = function(e) {
              e.preventDefault(),
                e.stopPropagation(),
                this.list.setSelection(this.list.getFocus()),
                this.list.open(this.list.getFocus())
            }),
            (e.prototype.onUpArrow = function(e) {
              e.preventDefault(),
                e.stopPropagation(),
                this.list.focusPrevious(),
                this.list.reveal(this.list.getFocus()[0]),
                this.view.domNode.focus()
            }),
            (e.prototype.onDownArrow = function(e) {
              e.preventDefault(),
                e.stopPropagation(),
                this.list.focusNext(),
                this.list.reveal(this.list.getFocus()[0]),
                this.view.domNode.focus()
            }),
            (e.prototype.onPageUpArrow = function(e) {
              e.preventDefault(),
                e.stopPropagation(),
                this.list.focusPreviousPage(),
                this.list.reveal(this.list.getFocus()[0]),
                this.view.domNode.focus()
            }),
            (e.prototype.onPageDownArrow = function(e) {
              e.preventDefault(),
                e.stopPropagation(),
                this.list.focusNextPage(),
                this.list.reveal(this.list.getFocus()[0]),
                this.view.domNode.focus()
            }),
            (e.prototype.dispose = function() {
              this.disposables = n.dispose(this.disposables)
            }),
            e
          )
        })(),
        I = (function() {
          function e(e, t, n) {
            void 0 === n && (n = {})
            var i = this
            ;(this.list = e),
              (this.view = t),
              (this.options = n),
              (this.disposables = []),
              this.disposables.push(
                t.addListener('mousedown', function(e) {
                  return i.onMouseDown(e)
                })
              ),
              this.disposables.push(
                t.addListener('click', function(e) {
                  return i.onPointer(e)
                })
              ),
              this.disposables.push(
                t.addListener('dblclick', function(e) {
                  return i.onDoubleClick(e)
                })
              ),
              this.disposables.push(
                t.addListener('touchstart', function(e) {
                  return i.onMouseDown(e)
                })
              ),
              this.disposables.push(
                t.addListener(l.EventType.Tap, function(e) {
                  return i.onPointer(e)
                })
              )
          }
          return (
            Object.defineProperty(e.prototype, 'onContextMenu', {
              get: function() {
                var e = this,
                  t = d
                    .chain(h.domEvent(this.view.domNode, 'keydown'))
                    .map(function(e) {
                      return new c.StandardKeyboardEvent(e)
                    })
                    .filter(function(t) {
                      return e.list.getFocus().length > 0
                    })
                    .filter(function(e) {
                      return (
                        58 === e.keyCode || (e.shiftKey && 68 === e.keyCode)
                      )
                    })
                    .map(function(t) {
                      var n = e.list.getFocus()[0]
                      return {
                        index: n,
                        element: e.view.element(n),
                        anchor: e.view.domElement(n)
                      }
                    })
                    .filter(function(e) {
                      return !!e.anchor
                    }).event,
                  n = d
                    .chain(
                      d.fromCallback(function(t) {
                        return e.view.addListener('contextmenu', t)
                      })
                    )
                    .map(function(e) {
                      return {
                        element: e.element,
                        index: e.index,
                        anchor: { x: e.clientX + 1, y: e.clientY }
                      }
                    }).event
                return d.any(t, n)
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.onMouseDown = function(e) {
              e.preventDefault(), e.stopPropagation(), this.view.domNode.focus()
              var t = this.list.getFocus()[0]
              if (((t = void 0 === t ? this.list.getSelection()[0] : t), y(e)))
                return this.changeSelection(e, t)
              var n = e.index
              if ((this.list.setFocus([n]), b(e)))
                return this.changeSelection(e, t)
              this.options.selectOnMouseDown &&
                (this.list.setSelection([n]), this.list.open([n]))
            }),
            (e.prototype.onPointer = function(e) {
              if ((e.preventDefault(), e.stopPropagation(), !b(e))) {
                var t = this.list.getFocus()
                this.list.setSelection(t), this.list.open(t)
              }
            }),
            (e.prototype.onDoubleClick = function(e) {
              if ((e.preventDefault(), e.stopPropagation(), !b(e))) {
                var t = this.list.getFocus()
                this.list.setSelection(t), this.list.pin(t)
              }
            }),
            (e.prototype.changeSelection = function(e, t) {
              var n = e.index
              if (y(e) && void 0 !== t) {
                var i = Math.min(t, n),
                  r = Math.max(t, n),
                  s = o.range(r + 1, i),
                  a = C(w((u = this.list.getSelection()), [t]), t)
                if (0 === a.length) return
                l = w(s, S(u, a))
                this.list.setSelection(l)
              } else if (_(e)) {
                var u = this.list.getSelection(),
                  l = u.filter(function(e) {
                    return e !== n
                  })
                u.length === l.length
                  ? this.list.setSelection(l.concat([n]))
                  : this.list.setSelection(l)
              }
            }),
            (e.prototype.dispose = function() {
              this.disposables = n.dispose(this.disposables)
            }),
            e
          )
        })()
      v([s.memoize], I.prototype, 'onContextMenu', null)
      var D = {
          listFocusBackground: g.Color.fromHex('#073655'),
          listActiveSelectionBackground: g.Color.fromHex('#0E639C'),
          listActiveSelectionForeground: g.Color.fromHex('#FFFFFF'),
          listFocusAndSelectionBackground: g.Color.fromHex('#094771'),
          listFocusAndSelectionForeground: g.Color.fromHex('#FFFFFF'),
          listInactiveSelectionBackground: g.Color.fromHex('#3F3F46'),
          listHoverBackground: g.Color.fromHex('#2A2D2E'),
          listDropBackground: g.Color.fromHex('#383B3D')
        },
        O = { keyboardSupport: !0, mouseSupport: !0 },
        R = function(e, t) {
          return e - t
        },
        P = (function() {
          function e(e, t) {
            ;(this._templateId = e), (this.renderers = t)
          }
          return (
            Object.defineProperty(e.prototype, 'templateId', {
              get: function() {
                return this._templateId
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.renderTemplate = function(e) {
              return this.renderers.map(function(t) {
                return t.renderTemplate(e)
              })
            }),
            (e.prototype.renderElement = function(e, t, n) {
              this.renderers.forEach(function(i, o) {
                return i.renderElement(e, t, n[o])
              })
            }),
            (e.prototype.disposeTemplate = function(e) {
              this.renderers.forEach(function(t, n) {
                return t.disposeTemplate(e[n])
              })
            }),
            e
          )
        })(),
        A = (function() {
          function e(t, n, i, o) {
            void 0 === o && (o = O)
            var r = this
            ;(this.idPrefix = 'list_id_' + ++e.InstanceCount),
              (this._onContextMenu = d.default.None),
              (this._onOpen = new d.Emitter()),
              (this._onPin = new d.Emitter()),
              (this._onDOMFocus = new d.Emitter()),
              (this._onDOMBlur = new d.Emitter()),
              (this._onDispose = new d.Emitter())
            var s = new M()
            ;(this.focus = new N(function(e) {
              return r.getElementDomId(e)
            })),
              (this.selection = new x('selected')),
              (this.eventBufferer = new d.EventBufferer()),
              m.mixin(o, D, !1),
              (i = i.map(function(e) {
                return new P(e.templateId, [
                  s,
                  r.focus.renderer,
                  r.selection.renderer,
                  e
                ])
              })),
              (this.view = new p.ListView(t, n, i, o)),
              this.view.domNode.setAttribute('role', 'tree'),
              a.addClass(this.view.domNode, this.idPrefix),
              (this.view.domNode.tabIndex = 0),
              (this.styleElement = a.createStyleSheet(this.view.domNode)),
              (this.spliceable = new E([
                s,
                new T(this.focus, this.view, o.identityProvider),
                new T(this.selection, this.view, o.identityProvider),
                this.view
              ])),
              (this.disposables = [
                this.focus,
                this.selection,
                this.view,
                this._onDispose
              ])
            var u = a.trackFocus(this.view.domNode)
            if (
              (this.disposables.push(
                u.addFocusListener(function() {
                  return r._onDOMFocus.fire()
                })
              ),
              this.disposables.push(
                u.addBlurListener(function() {
                  return r._onDOMBlur.fire()
                })
              ),
              'boolean' != typeof o.keyboardSupport || o.keyboardSupport)
            ) {
              l = new k(this, this.view)
              this.disposables.push(l)
            }
            if ('boolean' != typeof o.mouseSupport || o.mouseSupport) {
              var l = new I(this, this.view, o)
              this.disposables.push(l), (this._onContextMenu = l.onContextMenu)
            }
            this.onFocusChange(this._onFocusChange, this, this.disposables),
              this.onSelectionChange(
                this._onSelectionChange,
                this,
                this.disposables
              ),
              o.ariaLabel &&
                this.view.domNode.setAttribute('aria-label', o.ariaLabel),
              this.style(o)
          }
          return (
            Object.defineProperty(e.prototype, 'onFocusChange', {
              get: function() {
                var e = this
                return d.mapEvent(
                  this.eventBufferer.wrapEvent(this.focus.onChange),
                  function(t) {
                    return e.toListEvent(t)
                  }
                )
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'onSelectionChange', {
              get: function() {
                var e = this
                return d.mapEvent(
                  this.eventBufferer.wrapEvent(this.selection.onChange),
                  function(t) {
                    return e.toListEvent(t)
                  }
                )
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'onContextMenu', {
              get: function() {
                return this._onContextMenu
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'onOpen', {
              get: function() {
                var e = this
                return d.mapEvent(this._onOpen.event, function(t) {
                  return e.toListEvent({ indexes: t })
                })
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'onPin', {
              get: function() {
                var e = this
                return d.mapEvent(this._onPin.event, function(t) {
                  return e.toListEvent({ indexes: t })
                })
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'onDOMFocus', {
              get: function() {
                return this._onDOMFocus.event
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'onDOMBlur', {
              get: function() {
                return this._onDOMBlur.event
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'onDispose', {
              get: function() {
                return this._onDispose.event
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.splice = function(e, t, n) {
              var i = this
              void 0 === n && (n = []),
                this.eventBufferer.bufferEvents(function() {
                  return i.spliceable.splice(e, t, n)
                })
            }),
            Object.defineProperty(e.prototype, 'length', {
              get: function() {
                return this.view.length
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'contentHeight', {
              get: function() {
                return this.view.getContentHeight()
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'scrollTop', {
              get: function() {
                return this.view.getScrollTop()
              },
              set: function(e) {
                this.view.setScrollTop(e)
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.layout = function(e) {
              this.view.layout(e)
            }),
            (e.prototype.setSelection = function(e) {
              ;(e = e.sort(R)), this.selection.set(e)
            }),
            (e.prototype.selectNext = function(e, t) {
              if (
                (void 0 === e && (e = 1),
                void 0 === t && (t = !1),
                0 !== this.length)
              ) {
                var n = this.selection.get(),
                  i = n.length > 0 ? n[0] + e : 0
                this.setSelection(
                  t ? [i % this.length] : [Math.min(i, this.length - 1)]
                )
              }
            }),
            (e.prototype.selectPrevious = function(e, t) {
              if (
                (void 0 === e && (e = 1),
                void 0 === t && (t = !1),
                0 !== this.length)
              ) {
                var n = this.selection.get(),
                  i = n.length > 0 ? n[0] - e : 0
                t && i < 0 && (i = this.length + (i % this.length)),
                  this.setSelection([Math.max(i, 0)])
              }
            }),
            (e.prototype.getSelection = function() {
              return this.selection.get()
            }),
            (e.prototype.getSelectedElements = function() {
              var e = this
              return this.getSelection().map(function(t) {
                return e.view.element(t)
              })
            }),
            (e.prototype.setFocus = function(e) {
              ;(e = e.sort(R)), this.focus.set(e)
            }),
            (e.prototype.focusNext = function(e, t) {
              if (
                (void 0 === e && (e = 1),
                void 0 === t && (t = !1),
                0 !== this.length)
              ) {
                var n = this.focus.get(),
                  i = n.length > 0 ? n[0] + e : 0
                this.setFocus(
                  t ? [i % this.length] : [Math.min(i, this.length - 1)]
                )
              }
            }),
            (e.prototype.focusPrevious = function(e, t) {
              if (
                (void 0 === e && (e = 1),
                void 0 === t && (t = !1),
                0 !== this.length)
              ) {
                var n = this.focus.get(),
                  i = n.length > 0 ? n[0] - e : 0
                t &&
                  i < 0 &&
                  (i = (this.length + (i % this.length)) % this.length),
                  this.setFocus([Math.max(i, 0)])
              }
            }),
            (e.prototype.focusNextPage = function() {
              var e = this,
                t = this.view.indexAt(
                  this.view.getScrollTop() + this.view.renderHeight
                )
              t = 0 === t ? 0 : t - 1
              var n = this.view.element(t)
              if (this.getFocusedElements()[0] !== n) this.setFocus([t])
              else {
                var i = this.view.getScrollTop()
                this.view.setScrollTop(
                  i + this.view.renderHeight - this.view.elementHeight(t)
                ),
                  this.view.getScrollTop() !== i &&
                    setTimeout(function() {
                      return e.focusNextPage()
                    }, 0)
              }
            }),
            (e.prototype.focusPreviousPage = function() {
              var e,
                t = this,
                n = this.view.getScrollTop()
              e = 0 === n ? this.view.indexAt(n) : this.view.indexAfter(n - 1)
              var i = this.view.element(e)
              if (this.getFocusedElements()[0] !== i) this.setFocus([e])
              else {
                var o = n
                this.view.setScrollTop(n - this.view.renderHeight),
                  this.view.getScrollTop() !== o &&
                    setTimeout(function() {
                      return t.focusPreviousPage()
                    }, 0)
              }
            }),
            (e.prototype.focusLast = function() {
              0 !== this.length && this.setFocus([this.length - 1])
            }),
            (e.prototype.focusFirst = function() {
              0 !== this.length && this.setFocus([0])
            }),
            (e.prototype.getFocus = function() {
              return this.focus.get()
            }),
            (e.prototype.getFocusedElements = function() {
              var e = this
              return this.getFocus().map(function(t) {
                return e.view.element(t)
              })
            }),
            (e.prototype.reveal = function(e, t) {
              var n = this.view.getScrollTop(),
                o = this.view.elementTop(e),
                r = this.view.elementHeight(e)
              if (i.isNumber(t)) {
                t = (t = t < 0 ? 0 : t) > 1 ? 1 : t
                var s = r - this.view.renderHeight
                this.view.setScrollTop(s * t + o)
              } else {
                var a = o + r,
                  u = n + this.view.renderHeight
                o < n
                  ? this.view.setScrollTop(o)
                  : a >= u && this.view.setScrollTop(a - this.view.renderHeight)
              }
            }),
            (e.prototype.getElementDomId = function(e) {
              return this.idPrefix + '_' + e
            }),
            (e.prototype.isDOMFocused = function() {
              return this.view.domNode === document.activeElement
            }),
            (e.prototype.getHTMLElement = function() {
              return this.view.domNode
            }),
            (e.prototype.open = function(e) {
              this._onOpen.fire(e)
            }),
            (e.prototype.pin = function(e) {
              this._onPin.fire(e)
            }),
            (e.prototype.style = function(e) {
              var t = []
              e.listFocusBackground &&
                t.push(
                  '.monaco-list.' +
                    this.idPrefix +
                    ':focus .monaco-list-row.focused { background-color: ' +
                    e.listFocusBackground +
                    '; }'
                ),
                e.listFocusForeground &&
                  t.push(
                    '.monaco-list.' +
                      this.idPrefix +
                      ':focus .monaco-list-row.focused { color: ' +
                      e.listFocusForeground +
                      '; }'
                  ),
                e.listActiveSelectionBackground &&
                  (t.push(
                    '.monaco-list.' +
                      this.idPrefix +
                      ':focus .monaco-list-row.selected { background-color: ' +
                      e.listActiveSelectionBackground +
                      '; }'
                  ),
                  t.push(
                    '.monaco-list.' +
                      this.idPrefix +
                      ':focus .monaco-list-row.selected:hover { background-color: ' +
                      e.listActiveSelectionBackground +
                      '; }'
                  )),
                e.listActiveSelectionForeground &&
                  t.push(
                    '.monaco-list.' +
                      this.idPrefix +
                      ':focus .monaco-list-row.selected { color: ' +
                      e.listActiveSelectionForeground +
                      '; }'
                  ),
                e.listFocusAndSelectionBackground &&
                  t.push(
                    '.monaco-list.' +
                      this.idPrefix +
                      ':focus .monaco-list-row.selected.focused { background-color: ' +
                      e.listFocusAndSelectionBackground +
                      '; }'
                  ),
                e.listFocusAndSelectionForeground &&
                  t.push(
                    '.monaco-list.' +
                      this.idPrefix +
                      ':focus .monaco-list-row.selected.focused { color: ' +
                      e.listFocusAndSelectionForeground +
                      '; }'
                  ),
                e.listInactiveFocusBackground &&
                  (t.push(
                    '.monaco-list.' +
                      this.idPrefix +
                      ' .monaco-list-row.focused { background-color:  ' +
                      e.listInactiveFocusBackground +
                      '; }'
                  ),
                  t.push(
                    '.monaco-list.' +
                      this.idPrefix +
                      ' .monaco-list-row.focused:hover { background-color:  ' +
                      e.listInactiveFocusBackground +
                      '; }'
                  )),
                e.listInactiveSelectionBackground &&
                  (t.push(
                    '.monaco-list.' +
                      this.idPrefix +
                      ' .monaco-list-row.selected { background-color:  ' +
                      e.listInactiveSelectionBackground +
                      '; }'
                  ),
                  t.push(
                    '.monaco-list.' +
                      this.idPrefix +
                      ' .monaco-list-row.selected:hover { background-color:  ' +
                      e.listInactiveSelectionBackground +
                      '; }'
                  )),
                e.listInactiveSelectionForeground &&
                  t.push(
                    '.monaco-list.' +
                      this.idPrefix +
                      ' .monaco-list-row.selected { color: ' +
                      e.listInactiveSelectionForeground +
                      '; }'
                  ),
                e.listHoverBackground &&
                  t.push(
                    '.monaco-list.' +
                      this.idPrefix +
                      ' .monaco-list-row:hover { background-color:  ' +
                      e.listHoverBackground +
                      '; }'
                  ),
                e.listHoverForeground &&
                  t.push(
                    '.monaco-list.' +
                      this.idPrefix +
                      ' .monaco-list-row:hover { color:  ' +
                      e.listHoverForeground +
                      '; }'
                  ),
                e.listSelectionOutline &&
                  t.push(
                    '.monaco-list.' +
                      this.idPrefix +
                      ' .monaco-list-row.selected { outline: 1px dotted ' +
                      e.listSelectionOutline +
                      '; outline-offset: -1px; }'
                  ),
                e.listFocusOutline &&
                  t.push(
                    '.monaco-list.' +
                      this.idPrefix +
                      ':focus .monaco-list-row.focused { outline: 1px solid ' +
                      e.listFocusOutline +
                      '; outline-offset: -1px; }'
                  ),
                e.listInactiveFocusOutline &&
                  t.push(
                    '.monaco-list.' +
                      this.idPrefix +
                      ' .monaco-list-row.focused { outline: 1px dotted ' +
                      e.listInactiveFocusOutline +
                      '; outline-offset: -1px; }'
                  ),
                e.listHoverOutline &&
                  t.push(
                    '.monaco-list.' +
                      this.idPrefix +
                      ' .monaco-list-row:hover { outline: 1px dashed ' +
                      e.listHoverOutline +
                      '; outline-offset: -1px; }'
                  ),
                (this.styleElement.innerHTML = t.join('\n'))
            }),
            (e.prototype.toListEvent = function(e) {
              var t = this,
                n = e.indexes
              return {
                indexes: n,
                elements: n.map(function(e) {
                  return t.view.element(e)
                })
              }
            }),
            (e.prototype._onFocusChange = function() {
              var e = this.focus.get()
              e.length > 0
                ? this.view.domNode.setAttribute(
                    'aria-activedescendant',
                    this.getElementDomId(e[0])
                  )
                : this.view.domNode.removeAttribute('aria-activedescendant'),
                this.view.domNode.setAttribute('role', 'tree'),
                a.toggleClass(
                  this.view.domNode,
                  'element-focused',
                  e.length > 0
                )
            }),
            (e.prototype._onSelectionChange = function() {
              var e = this.selection.get()
              a.toggleClass(
                this.view.domNode,
                'selection-none',
                0 === e.length
              ),
                a.toggleClass(
                  this.view.domNode,
                  'selection-single',
                  1 === e.length
                ),
                a.toggleClass(
                  this.view.domNode,
                  'selection-multiple',
                  e.length > 1
                )
            }),
            (e.prototype.dispose = function() {
              this._onDispose.fire(),
                (this.disposables = n.dispose(this.disposables))
            }),
            e
          )
        })()
      ;(A.InstanceCount = 0),
        v([s.memoize], A.prototype, 'onFocusChange', null),
        v([s.memoize], A.prototype, 'onSelectionChange', null),
        v([s.memoize], A.prototype, 'onOpen', null),
        v([s.memoize], A.prototype, 'onPin', null),
        (t.List = A)
    }),
      define(d[394], h([
        0,
        1,
        15,
        30,
        8,
        3,
        6,
        139,
        75,
        9,
        45,
        64,
        451,
        107,
        61,
        51,
        438,
        456,
        11
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g, m, v, _, y) {
        'use strict'
        function b(e) {
          try {
            e.parentElement.removeChild(e)
          } catch (e) {}
        }
        function C(e, t) {
          return (
            (!e && !t) ||
            (!(!e || !t) &&
              (e.accept === t.accept &&
                (e.bubble === t.bubble && e.effect === t.effect)))
          )
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var w = (function() {
          function e(e) {
            ;(this.context = e), (this._cache = { '': [] })
          }
          return (
            (e.prototype.alloc = function(e) {
              var t = this.cache(e).pop()
              if (!t) {
                var n = document.createElement('div')
                n.className = 'content'
                var i = document.createElement('div')
                i.appendChild(n),
                  (t = {
                    element: i,
                    templateId: e,
                    templateData: this.context.renderer.renderTemplate(
                      this.context.tree,
                      e,
                      n
                    )
                  })
              }
              return t
            }),
            (e.prototype.release = function(e, t) {
              b(t.element), this.cache(e).push(t)
            }),
            (e.prototype.cache = function(e) {
              return this._cache[e] || (this._cache[e] = [])
            }),
            (e.prototype.garbageCollect = function() {
              var e = this
              this._cache &&
                Object.keys(this._cache).forEach(function(t) {
                  e._cache[t].forEach(function(n) {
                    e.context.renderer.disposeTemplate(
                      e.context.tree,
                      t,
                      n.templateData
                    ),
                      (n.element = null),
                      (n.templateData = null)
                  }),
                    delete e._cache[t]
                })
            }),
            (e.prototype.dispose = function() {
              this.garbageCollect(), (this._cache = null), (this.context = null)
            }),
            e
          )
        })()
        t.RowCache = w
        var S = (function() {
          function e(e, t) {
            var n = this
            ;(this.context = e),
              (this.model = t),
              (this.id = this.model.id),
              (this.row = null),
              (this.top = 0),
              (this.height = t.getHeight()),
              (this._styles = {}),
              t.getAllTraits().forEach(function(e) {
                return (n._styles[e] = !0)
              }),
              t.isExpanded() && this.addClass('expanded')
          }
          return (
            Object.defineProperty(e.prototype, 'expanded', {
              set: function(e) {
                e ? this.addClass('expanded') : this.removeClass('expanded')
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'loading', {
              set: function(e) {
                e ? this.addClass('loading') : this.removeClass('loading')
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'draggable', {
              get: function() {
                return this._draggable
              },
              set: function(e) {
                ;(this._draggable = e), this.render(!0)
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'dropTarget', {
              set: function(e) {
                e
                  ? this.addClass('drop-target')
                  : this.removeClass('drop-target')
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'element', {
              get: function() {
                return this.row && this.row.element
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'templateId', {
              get: function() {
                return (
                  this._templateId ||
                  (this._templateId =
                    this.context.renderer.getTemplateId &&
                    this.context.renderer.getTemplateId(
                      this.context.tree,
                      this.model.getElement()
                    ))
                )
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.addClass = function(e) {
              ;(this._styles[e] = !0), this.render(!0)
            }),
            (e.prototype.removeClass = function(e) {
              delete this._styles[e], this.render(!0)
            }),
            (e.prototype.render = function(e) {
              var t = this
              if ((void 0 === e && (e = !1), this.model && this.element)) {
                var n = ['monaco-tree-row']
                n.push.apply(n, Object.keys(this._styles)),
                  this.model.hasChildren() && n.push('has-children'),
                  (this.element.className = n.join(' ')),
                  (this.element.draggable = this.draggable),
                  (this.element.style.height = this.height + 'px'),
                  this.element.setAttribute('role', 'treeitem')
                var i = this.context.accessibilityProvider,
                  o = i.getAriaLabel(this.context.tree, this.model.getElement())
                if (
                  (o && this.element.setAttribute('aria-label', o),
                  i.getPosInSet &&
                    i.getSetSize &&
                    (this.element.setAttribute('aria-setsize', i.getSetSize()),
                    this.element.setAttribute(
                      'aria-posinset',
                      i.getPosInSet(this.context.tree, this.model.getElement())
                    )),
                  this.model.hasTrait('focused'))
                ) {
                  var r = l.safeBtoa(this.model.id)
                  this.element.setAttribute('aria-selected', 'true'),
                    this.element.setAttribute('id', r)
                } else
                  this.element.setAttribute('aria-selected', 'false'),
                    this.element.removeAttribute('id')
                this.model.hasChildren()
                  ? this.element.setAttribute(
                      'aria-expanded',
                      String(!!this.model.isExpanded())
                    )
                  : this.element.removeAttribute('aria-expanded'),
                  this.element.setAttribute(
                    'aria-level',
                    String(this.model.getDepth())
                  ),
                  this.context.options.paddingOnRow
                    ? (this.element.style.paddingLeft =
                        this.context.options.twistiePixels +
                        (this.model.getDepth() - 1) *
                          this.context.options.indentPixels +
                        'px')
                    : ((this.element.style.paddingLeft =
                        (this.model.getDepth() - 1) *
                          this.context.options.indentPixels +
                        'px'),
                      (this.row.element.firstElementChild.style.paddingLeft =
                        this.context.options.twistiePixels + 'px'))
                var a = this.context.dnd.getDragURI(
                  this.context.tree,
                  this.model.getElement()
                )
                a !== this.uri &&
                  (this.unbindDragStart &&
                    (this.unbindDragStart.dispose(),
                    (this.unbindDragStart = null)),
                  a
                    ? ((this.uri = a),
                      (this.draggable = !0),
                      (this.unbindDragStart = s.addDisposableListener(
                        this.element,
                        'dragstart',
                        function(e) {
                          t.onDragStart(e)
                        }
                      )))
                    : (this.uri = null)),
                  e ||
                    this.context.renderer.renderElement(
                      this.context.tree,
                      this.model.getElement(),
                      this.templateId,
                      this.row.templateData
                    )
              }
            }),
            (e.prototype.insertInDOM = function(e, t) {
              if (
                (this.row ||
                  ((this.row = this.context.cache.alloc(this.templateId)),
                  (this.element[L.BINDING] = this)),
                !this.element.parentElement)
              ) {
                if (null === t) e.appendChild(this.element)
                else
                  try {
                    e.insertBefore(this.element, t)
                  } catch (t) {
                    console.warn('Failed to locate previous tree element'),
                      e.appendChild(this.element)
                  }
                this.render()
              }
            }),
            (e.prototype.removeFromDOM = function() {
              this.row &&
                (this.unbindDragStart &&
                  (this.unbindDragStart.dispose(),
                  (this.unbindDragStart = null)),
                (this.uri = null),
                (this.element[L.BINDING] = null),
                this.context.cache.release(this.templateId, this.row),
                (this.row = null))
            }),
            (e.prototype.dispose = function() {
              ;(this.row = null), (this.model = null)
            }),
            e
          )
        })()
        t.ViewItem = S
        var E = (function(e) {
            function t(t, n, i) {
              var o = e.call(this, t, n) || this
              return (
                (o.row = { element: i, templateData: null, templateId: null }),
                o
              )
            }
            return (
              f(t, e),
              (t.prototype.render = function() {
                if (this.model && this.element) {
                  var e = ['monaco-tree-wrapper']
                  e.push.apply(e, Object.keys(this._styles)),
                    this.model.hasChildren() && e.push('has-children'),
                    (this.element.className = e.join(' '))
                }
              }),
              (t.prototype.insertInDOM = function(e, t) {}),
              (t.prototype.removeFromDOM = function() {}),
              t
            )
          })(S),
          L = (function(e) {
            function t(n, o) {
              var r = e.call(this) || this
              ;(r.lastClickTimeStamp = 0),
                (r.isRefreshing = !1),
                (r.refreshingPreviousChildrenIds = {}),
                (r._onDOMFocus = new y.Emitter()),
                (r._onDOMBlur = new y.Emitter()),
                t.counter++,
                (r.instance = t.counter),
                (r.context = {
                  dataSource: n.dataSource,
                  renderer: n.renderer,
                  controller: n.controller,
                  dnd: n.dnd,
                  filter: n.filter,
                  sorter: n.sorter,
                  tree: n.tree,
                  accessibilityProvider: n.accessibilityProvider,
                  options: n.options,
                  cache: new w(n)
                }),
                (r.modelListeners = []),
                (r.viewListeners = []),
                (r.dragAndDropListeners = []),
                (r.model = null),
                (r.items = {}),
                (r.domNode = document.createElement('div')),
                (r.domNode.className =
                  'monaco-tree no-focused-item monaco-tree-instance-' +
                  r.instance),
                (r.domNode.tabIndex = 0),
                (r.styleElement = s.createStyleSheet(r.domNode)),
                r.domNode.setAttribute('role', 'tree'),
                r.context.options.ariaLabel &&
                  r.domNode.setAttribute(
                    'aria-label',
                    r.context.options.ariaLabel
                  ),
                r.context.options.alwaysFocused &&
                  s.addClass(r.domNode, 'focused'),
                r.context.options.paddingOnRow ||
                  s.addClass(r.domNode, 'no-row-padding'),
                (r.wrapper = document.createElement('div')),
                (r.wrapper.className = 'monaco-tree-wrapper'),
                (r.scrollableElement = new g.ScrollableElement(r.wrapper, {
                  alwaysConsumeMouseWheel: !0,
                  horizontal: m.ScrollbarVisibility.Hidden,
                  vertical:
                    void 0 !== n.options.verticalScrollMode
                      ? n.options.verticalScrollMode
                      : m.ScrollbarVisibility.Auto,
                  useShadows: n.options.useShadows
                })),
                r.scrollableElement.onScroll(function(e) {
                  r.render(e.scrollTop, e.height), r.emit('scroll', e)
                }),
                i.isIE
                  ? ((r.wrapper.style.msTouchAction = 'none'),
                    (r.wrapper.style.msContentZooming = 'none'))
                  : (r.wrapperGesture = new u.Gesture(r.wrapper)),
                (r.rowsContainer = document.createElement('div')),
                (r.rowsContainer.className = 'monaco-tree-rows'),
                n.options.showTwistie &&
                  (r.rowsContainer.className += ' show-twisties')
              var a = s.trackFocus(r.domNode)
              return (
                a.addFocusListener(function() {
                  return r.onFocus()
                }),
                a.addBlurListener(function() {
                  return r.onBlur()
                }),
                r.viewListeners.push(a),
                r.viewListeners.push(
                  s.addDisposableListener(r.domNode, 'keydown', function(e) {
                    return r.onKeyDown(e)
                  })
                ),
                r.viewListeners.push(
                  s.addDisposableListener(r.domNode, 'keyup', function(e) {
                    return r.onKeyUp(e)
                  })
                ),
                r.viewListeners.push(
                  s.addDisposableListener(r.domNode, 'mousedown', function(e) {
                    return r.onMouseDown(e)
                  })
                ),
                r.viewListeners.push(
                  s.addDisposableListener(r.domNode, 'mouseup', function(e) {
                    return r.onMouseUp(e)
                  })
                ),
                r.viewListeners.push(
                  s.addDisposableListener(r.wrapper, 'click', function(e) {
                    return r.onClick(e)
                  })
                ),
                r.viewListeners.push(
                  s.addDisposableListener(r.wrapper, 'auxclick', function(e) {
                    return r.onClick(e)
                  })
                ),
                r.viewListeners.push(
                  s.addDisposableListener(r.domNode, 'contextmenu', function(
                    e
                  ) {
                    return r.onContextMenu(e)
                  })
                ),
                r.viewListeners.push(
                  s.addDisposableListener(r.wrapper, u.EventType.Tap, function(
                    e
                  ) {
                    return r.onTap(e)
                  })
                ),
                r.viewListeners.push(
                  s.addDisposableListener(
                    r.wrapper,
                    u.EventType.Change,
                    function(e) {
                      return r.onTouchChange(e)
                    }
                  )
                ),
                i.isIE &&
                  (r.viewListeners.push(
                    s.addDisposableListener(
                      r.wrapper,
                      'MSPointerDown',
                      function(e) {
                        return r.onMsPointerDown(e)
                      }
                    )
                  ),
                  r.viewListeners.push(
                    s.addDisposableListener(r.wrapper, 'MSGestureTap', function(
                      e
                    ) {
                      return r.onMsGestureTap(e)
                    })
                  ),
                  r.viewListeners.push(
                    s.addDisposableThrottledListener(
                      r.wrapper,
                      'MSGestureChange',
                      function(e) {
                        return r.onThrottledMsGestureChange(e)
                      },
                      function(e, t) {
                        t.stopPropagation(), t.preventDefault()
                        var n = {
                          translationY: t.translationY,
                          translationX: t.translationX
                        }
                        return (
                          e &&
                            ((n.translationY += e.translationY),
                            (n.translationX += e.translationX)),
                          n
                        )
                      }
                    )
                  )),
                r.viewListeners.push(
                  s.addDisposableListener(window, 'dragover', function(e) {
                    return r.onDragOver(e)
                  })
                ),
                r.viewListeners.push(
                  s.addDisposableListener(window, 'drop', function(e) {
                    return r.onDrop(e)
                  })
                ),
                r.viewListeners.push(
                  s.addDisposableListener(window, 'dragend', function(e) {
                    return r.onDragEnd(e)
                  })
                ),
                r.viewListeners.push(
                  s.addDisposableListener(window, 'dragleave', function(e) {
                    return r.onDragOver(e)
                  })
                ),
                r.wrapper.appendChild(r.rowsContainer),
                r.domNode.appendChild(r.scrollableElement.getDomNode()),
                o.appendChild(r.domNode),
                (r.lastRenderTop = 0),
                (r.lastRenderHeight = 0),
                (r.didJustPressContextMenuKey = !1),
                (r.currentDropTarget = null),
                (r.currentDropTargets = []),
                (r.shouldInvalidateDropReaction = !1),
                (r.dragAndDropScrollInterval = null),
                (r.dragAndDropScrollTimeout = null),
                (r.onHiddenScrollTop = null),
                r.onRowsChanged(),
                r.layout(),
                r.setupMSGesture(),
                r.applyStyles(n.options),
                r
              )
            }
            return (
              f(t, e),
              Object.defineProperty(t.prototype, 'onDOMFocus', {
                get: function() {
                  return this._onDOMFocus.event
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(t.prototype, 'onDOMBlur', {
                get: function() {
                  return this._onDOMBlur.event
                },
                enumerable: !0,
                configurable: !0
              }),
              (t.prototype.applyStyles = function(e) {
                var t = []
                e.listFocusBackground &&
                  t.push(
                    '.monaco-tree.monaco-tree-instance-' +
                      this.instance +
                      '.focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) { background-color: ' +
                      e.listFocusBackground +
                      '; }'
                  ),
                  e.listFocusForeground &&
                    t.push(
                      '.monaco-tree.monaco-tree-instance-' +
                        this.instance +
                        '.focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) { color: ' +
                        e.listFocusForeground +
                        '; }'
                    ),
                  e.listActiveSelectionBackground &&
                    t.push(
                      '.monaco-tree.monaco-tree-instance-' +
                        this.instance +
                        '.focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: ' +
                        e.listActiveSelectionBackground +
                        '; }'
                    ),
                  e.listActiveSelectionForeground &&
                    t.push(
                      '.monaco-tree.monaco-tree-instance-' +
                        this.instance +
                        '.focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: ' +
                        e.listActiveSelectionForeground +
                        '; }'
                    ),
                  e.listFocusAndSelectionBackground &&
                    t.push(
                      '\n\t\t\t\t.monaco-tree-drag-image,\n\t\t\t\t.monaco-tree.monaco-tree-instance-' +
                        this.instance +
                        '.focused .monaco-tree-rows > .monaco-tree-row.focused.selected:not(.highlighted) { background-color: ' +
                        e.listFocusAndSelectionBackground +
                        '; }\n\t\t\t'
                    ),
                  e.listFocusAndSelectionForeground &&
                    t.push(
                      '\n\t\t\t\t.monaco-tree-drag-image,\n\t\t\t\t.monaco-tree.monaco-tree-instance-' +
                        this.instance +
                        '.focused .monaco-tree-rows > .monaco-tree-row.focused.selected:not(.highlighted) { color: ' +
                        e.listFocusAndSelectionForeground +
                        '; }\n\t\t\t'
                    ),
                  e.listInactiveSelectionBackground &&
                    t.push(
                      '.monaco-tree.monaco-tree-instance-' +
                        this.instance +
                        ' .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: ' +
                        e.listInactiveSelectionBackground +
                        '; }'
                    ),
                  e.listInactiveSelectionForeground &&
                    t.push(
                      '.monaco-tree.monaco-tree-instance-' +
                        this.instance +
                        ' .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: ' +
                        e.listInactiveSelectionForeground +
                        '; }'
                    ),
                  e.listHoverBackground &&
                    t.push(
                      '.monaco-tree.monaco-tree-instance-' +
                        this.instance +
                        ' .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) { background-color: ' +
                        e.listHoverBackground +
                        '; }'
                    ),
                  e.listHoverForeground &&
                    t.push(
                      '.monaco-tree.monaco-tree-instance-' +
                        this.instance +
                        ' .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused) { color: ' +
                        e.listHoverForeground +
                        '; }'
                    ),
                  e.listDropBackground &&
                    t.push(
                      '\n\t\t\t\t.monaco-tree.monaco-tree-instance-' +
                        this.instance +
                        ' .monaco-tree-wrapper.drop-target,\n\t\t\t\t.monaco-tree.monaco-tree-instance-' +
                        this.instance +
                        ' .monaco-tree-rows > .monaco-tree-row.drop-target { background-color: ' +
                        e.listDropBackground +
                        ' !important; color: inherit !important; }\n\t\t\t'
                    ),
                  e.listFocusOutline &&
                    t.push(
                      '\n\t\t\t\t.monaco-tree-drag-image\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ border: 1px solid ' +
                        e.listFocusOutline +
                        '; background: #000; }\n\t\t\t\t.monaco-tree.monaco-tree-instance-' +
                        this.instance +
                        ' .monaco-tree-rows > .monaco-tree-row \t\t\t\t\t\t\t\t\t\t\t\t\t\t{ border: 1px solid transparent; }\n\t\t\t\t.monaco-tree.monaco-tree-instance-' +
                        this.instance +
                        '.focused .monaco-tree-rows > .monaco-tree-row.focused:not(.highlighted) \t\t\t\t\t\t{ border: 1px dotted ' +
                        e.listFocusOutline +
                        '; }\n\t\t\t\t.monaco-tree.monaco-tree-instance-' +
                        this.instance +
                        '.focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) \t\t\t\t\t\t{ border: 1px solid ' +
                        e.listFocusOutline +
                        '; }\n\t\t\t\t.monaco-tree.monaco-tree-instance-' +
                        this.instance +
                        ' .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted)  \t\t\t\t\t\t\t{ border: 1px solid ' +
                        e.listFocusOutline +
                        '; }\n\t\t\t\t.monaco-tree.monaco-tree-instance-' +
                        this.instance +
                        ' .monaco-tree-rows > .monaco-tree-row:hover:not(.highlighted):not(.selected):not(.focused)  \t{ border: 1px dashed ' +
                        e.listFocusOutline +
                        '; }\n\t\t\t\t.monaco-tree.monaco-tree-instance-' +
                        this.instance +
                        ' .monaco-tree-wrapper.drop-target,\n\t\t\t\t.monaco-tree.monaco-tree-instance-' +
                        this.instance +
                        ' .monaco-tree-rows > .monaco-tree-row.drop-target\t\t\t\t\t\t\t\t\t\t\t\t{ border: 1px dashed ' +
                        e.listFocusOutline +
                        '; }\n\t\t\t'
                    ),
                  (this.styleElement.innerHTML = t.join('\n'))
              }),
              (t.prototype.createViewItem = function(e) {
                return new S(this.context, e)
              }),
              (t.prototype.getHTMLElement = function() {
                return this.domNode
              }),
              (t.prototype.focus = function() {
                this.domNode.focus()
              }),
              (t.prototype.isFocused = function() {
                return document.activeElement === this.domNode
              }),
              (t.prototype.blur = function() {
                this.domNode.blur()
              }),
              (t.prototype.onVisible = function() {
                ;(this.scrollTop = this.onHiddenScrollTop),
                  (this.onHiddenScrollTop = null),
                  this.setupMSGesture()
              }),
              (t.prototype.setupMSGesture = function() {
                var e = this
                window.MSGesture &&
                  ((this.msGesture = new MSGesture()),
                  setTimeout(function() {
                    return (e.msGesture.target = e.wrapper)
                  }, 100))
              }),
              (t.prototype.onHidden = function() {
                this.onHiddenScrollTop = this.scrollTop
              }),
              (t.prototype.isTreeVisible = function() {
                return null === this.onHiddenScrollTop
              }),
              (t.prototype.layout = function(e) {
                this.isTreeVisible() &&
                  (this.viewHeight = e || s.getContentHeight(this.wrapper))
              }),
              (t.prototype.render = function(e, t) {
                var n,
                  i,
                  o = e,
                  r = e + t,
                  s = this.lastRenderTop + this.lastRenderHeight
                for (
                  n = this.indexAfter(r) - 1, i = this.indexAt(Math.max(s, o));
                  n >= i;
                  n--
                )
                  this.insertItemInDOM(this.itemAtIndex(n))
                for (
                  n =
                    Math.min(
                      this.indexAt(this.lastRenderTop),
                      this.indexAfter(r)
                    ) - 1,
                    i = this.indexAt(o);
                  n >= i;
                  n--
                )
                  this.insertItemInDOM(this.itemAtIndex(n))
                for (
                  n = this.indexAt(this.lastRenderTop),
                    i = Math.min(this.indexAt(o), this.indexAfter(s));
                  n < i;
                  n++
                )
                  this.removeItemFromDOM(this.itemAtIndex(n))
                for (
                  n = Math.max(
                    this.indexAfter(r),
                    this.indexAt(this.lastRenderTop)
                  ),
                    i = this.indexAfter(s);
                  n < i;
                  n++
                )
                  this.removeItemFromDOM(this.itemAtIndex(n))
                var a = this.itemAtIndex(this.indexAt(o))
                a && (this.rowsContainer.style.top = a.top - o + 'px'),
                  (this.lastRenderTop = o),
                  (this.lastRenderHeight = r - o)
              }),
              (t.prototype.setModel = function(e) {
                var t = this
                this.releaseModel(),
                  (this.model = e),
                  this.modelListeners.push(
                    this.model.addBulkListener(function(e) {
                      return t.onModelEvents(e)
                    })
                  )
              }),
              (t.prototype.onModelEvents = function(e) {
                for (var t = [], n = 0, i = e.length; n < i; n++) {
                  var o = e[n],
                    r = o.data
                  switch (o.type) {
                    case 'refreshing':
                      this.onRefreshing()
                      break
                    case 'refreshed':
                      this.onRefreshed()
                      break
                    case 'clearingInput':
                      this.onClearingInput(r)
                      break
                    case 'setInput':
                      this.onSetInput(r)
                      break
                    case 'item:childrenRefreshing':
                      this.onItemChildrenRefreshing(r)
                      break
                    case 'item:childrenRefreshed':
                      this.onItemChildrenRefreshed(r)
                      break
                    case 'item:refresh':
                      t.push(r.item)
                      break
                    case 'item:expanding':
                      this.onItemExpanding(r)
                      break
                    case 'item:expanded':
                      this.onItemExpanded(r)
                      break
                    case 'item:collapsing':
                      this.onItemCollapsing(r)
                      break
                    case 'item:reveal':
                      this.onItemReveal(r)
                      break
                    case 'item:addTrait':
                      this.onItemAddTrait(r)
                      break
                    case 'item:removeTrait':
                      this.onItemRemoveTrait(r)
                      break
                    case 'focus':
                      this.onModelFocusChange()
                  }
                }
                t.length > 0 && this.onItemsRefresh(t)
              }),
              (t.prototype.onRefreshing = function() {
                this.isRefreshing = !0
              }),
              (t.prototype.onRefreshed = function() {
                ;(this.isRefreshing = !1), this.onRowsChanged()
              }),
              (t.prototype.onRowsChanged = function(e) {
                void 0 === e && (e = this.scrollTop),
                  this.isRefreshing || (this.scrollTop = e)
              }),
              (t.prototype.focusNextPage = function(e) {
                var t = this,
                  n = this.indexAt(this.scrollTop + this.viewHeight)
                n = 0 === n ? 0 : n - 1
                var i = this.itemAtIndex(n).model.getElement()
                if (this.model.getFocus() !== i) this.model.setFocus(i, e)
                else {
                  var o = this.scrollTop
                  ;(this.scrollTop += this.viewHeight),
                    this.scrollTop !== o &&
                      setTimeout(function() {
                        t.focusNextPage(e)
                      }, 0)
                }
              }),
              (t.prototype.focusPreviousPage = function(e) {
                var t,
                  n = this
                t =
                  0 === this.scrollTop
                    ? this.indexAt(this.scrollTop)
                    : this.indexAfter(this.scrollTop - 1)
                var i = this.itemAtIndex(t).model.getElement()
                if (this.model.getFocus() !== i) this.model.setFocus(i, e)
                else {
                  var o = this.scrollTop
                  ;(this.scrollTop -= this.viewHeight),
                    this.scrollTop !== o &&
                      setTimeout(function() {
                        n.focusPreviousPage(e)
                      }, 0)
                }
              }),
              Object.defineProperty(t.prototype, 'viewHeight', {
                get: function() {
                  return this.scrollableElement.getScrollState().height
                },
                set: function(e) {
                  this.scrollableElement.updateState({
                    height: e,
                    scrollHeight: this.getTotalHeight()
                  })
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(t.prototype, 'scrollTop', {
                get: function() {
                  return this.scrollableElement.getScrollState().scrollTop
                },
                set: function(e) {
                  this.scrollableElement.updateState({
                    scrollTop: e,
                    scrollHeight: this.getTotalHeight()
                  })
                },
                enumerable: !0,
                configurable: !0
              }),
              (t.prototype.getScrollPosition = function() {
                var e = this.getTotalHeight() - this.viewHeight
                return e <= 0 ? 0 : this.scrollTop / e
              }),
              (t.prototype.setScrollPosition = function(e) {
                var t = this.getTotalHeight() - this.viewHeight
                this.scrollTop = t * e
              }),
              (t.prototype.onClearingInput = function(e) {
                var t = e.item
                t &&
                  (this.onRemoveItems(
                    new p.MappedIterator(t.getNavigator(), function(e) {
                      return e && e.id
                    })
                  ),
                  this.onRowsChanged())
              }),
              (t.prototype.onSetInput = function(e) {
                this.context.cache.garbageCollect(),
                  (this.inputItem = new E(this.context, e.item, this.wrapper)),
                  this.emit('viewItem:create', { item: this.inputItem.model })
              }),
              (t.prototype.onItemChildrenRefreshing = function(e) {
                var n = e.item,
                  i = this.items[n.id]
                if (
                  (i &&
                    (i.loadingTimer = setTimeout(function() {
                      ;(i.loadingTimer = 0), (i.loading = !0)
                    }, t.LOADING_DECORATION_DELAY)),
                  !e.isNested)
                ) {
                  for (var o, r = [], s = n.getNavigator(); (o = s.next()); )
                    r.push(o.id)
                  this.refreshingPreviousChildrenIds[n.id] = r
                }
              }),
              (t.prototype.onItemChildrenRefreshed = function(e) {
                var t = this,
                  n = e.item,
                  i = this.items[n.id]
                if (
                  (i &&
                    (i.loadingTimer &&
                      (clearTimeout(i.loadingTimer), (i.loadingTimer = 0)),
                    (i.loading = !1)),
                  !e.isNested)
                ) {
                  for (
                    var o,
                      r = this.refreshingPreviousChildrenIds[n.id],
                      s = [],
                      u = n.getNavigator();
                    (o = u.next());

                  )
                    s.push(o)
                  var l = Math.abs(r.length - s.length) > 1e3,
                    c = void 0,
                    d = void 0
                  if (
                    (l ||
                      (d = (c = new a.LcsDiff(
                        {
                          getLength: function() {
                            return r.length
                          },
                          getElementHash: function(e) {
                            return r[e]
                          }
                        },
                        {
                          getLength: function() {
                            return s.length
                          },
                          getElementHash: function(e) {
                            return s[e].id
                          }
                        },
                        null
                      ).ComputeDiff()).some(function(e) {
                        if (e.modifiedLength > 0)
                          for (
                            var n = e.modifiedStart,
                              i = e.modifiedStart + e.modifiedLength;
                            n < i;
                            n++
                          )
                            if (t.items.hasOwnProperty(s[n].id)) return !0
                        return !1
                      })),
                    !l && !d && c.length < 50)
                  )
                    for (var h = 0, f = c.length; h < f; h++) {
                      var g = c[h]
                      if (
                        (g.originalLength > 0 &&
                          this.onRemoveItems(
                            new p.ArrayIterator(
                              r,
                              g.originalStart,
                              g.originalStart + g.originalLength
                            )
                          ),
                        g.modifiedLength > 0)
                      ) {
                        var m = s[g.modifiedStart - 1] || n
                        ;(m = m.getDepth() > 0 ? m : null),
                          this.onInsertItems(
                            new p.ArrayIterator(
                              s,
                              g.modifiedStart,
                              g.modifiedStart + g.modifiedLength
                            ),
                            m ? m.id : null
                          )
                      }
                    }
                  else
                    (l || c.length) &&
                      (this.onRemoveItems(new p.ArrayIterator(r)),
                      this.onInsertItems(
                        new p.ArrayIterator(s),
                        n.getDepth() > 0 ? n.id : null
                      ))
                  ;(l || c.length) && this.onRowsChanged()
                }
              }),
              (t.prototype.onItemsRefresh = function(e) {
                var t = this
                this.onRefreshItemSet(
                  e.filter(function(e) {
                    return t.items.hasOwnProperty(e.id)
                  })
                ),
                  this.onRowsChanged()
              }),
              (t.prototype.onItemExpanding = function(e) {
                var t = this.items[e.item.id]
                t && (t.expanded = !0)
              }),
              (t.prototype.onItemExpanded = function(e) {
                var t = e.item,
                  n = this.items[t.id]
                if (n) {
                  n.expanded = !0
                  var i = this.onInsertItems(t.getNavigator(), t.id),
                    o = this.scrollTop
                  n.top + n.height <= this.scrollTop && (o += i),
                    this.onRowsChanged(o)
                }
              }),
              (t.prototype.onItemCollapsing = function(e) {
                var t = e.item,
                  n = this.items[t.id]
                n &&
                  ((n.expanded = !1),
                  this.onRemoveItems(
                    new p.MappedIterator(t.getNavigator(), function(e) {
                      return e && e.id
                    })
                  ),
                  this.onRowsChanged())
              }),
              (t.prototype.getRelativeTop = function(e) {
                if (e && e.isVisible()) {
                  var t = this.items[e.id]
                  if (t)
                    return (
                      (t.top - this.scrollTop) / (this.viewHeight - t.height)
                    )
                }
                return -1
              }),
              (t.prototype.onItemReveal = function(e) {
                var t = e.item,
                  n = e.relativeTop,
                  i = this.items[t.id]
                if (i)
                  if (null !== n) {
                    n = (n = n < 0 ? 0 : n) > 1 ? 1 : n
                    var o = i.height - this.viewHeight
                    this.scrollTop = o * n + i.top
                  } else {
                    var r = i.top + i.height,
                      s = this.scrollTop + this.viewHeight
                    i.top < this.scrollTop
                      ? (this.scrollTop = i.top)
                      : r >= s && (this.scrollTop = r - this.viewHeight)
                  }
              }),
              (t.prototype.onItemAddTrait = function(e) {
                var t = e.item,
                  n = e.trait,
                  i = this.items[t.id]
                i && i.addClass(n),
                  'highlighted' === n &&
                    (s.addClass(this.domNode, n),
                    i &&
                      ((this.highlightedItemWasDraggable = !!i.draggable),
                      i.draggable && (i.draggable = !1)))
              }),
              (t.prototype.onItemRemoveTrait = function(e) {
                var t = e.item,
                  n = e.trait,
                  i = this.items[t.id]
                i && i.removeClass(n),
                  'highlighted' === n &&
                    (s.removeClass(this.domNode, n),
                    this.highlightedItemWasDraggable && (i.draggable = !0),
                    (this.highlightedItemWasDraggable = !1))
              }),
              (t.prototype.onModelFocusChange = function() {
                var e = this.model && this.model.getFocus()
                s.toggleClass(this.domNode, 'no-focused-item', !e),
                  e
                    ? this.domNode.setAttribute(
                        'aria-activedescendant',
                        l.safeBtoa(
                          this.context.dataSource.getId(this.context.tree, e)
                        )
                      )
                    : this.domNode.removeAttribute('aria-activedescendant')
              }),
              (t.prototype.onInsertItem = function(e) {
                var t = this
                ;(e.onDragStart = function(n) {
                  t.onDragStart(e, n)
                }),
                  (e.needsRender = !0),
                  this.refreshViewItem(e),
                  (this.items[e.id] = e)
              }),
              (t.prototype.onRefreshItem = function(e, t) {
                void 0 === t && (t = !1),
                  (e.needsRender = e.needsRender || t),
                  this.refreshViewItem(e)
              }),
              (t.prototype.onRemoveItem = function(e) {
                this.removeItemFromDOM(e),
                  e.dispose(),
                  this.emit('viewItem:dispose', { item: this.inputItem.model }),
                  delete this.items[e.id]
              }),
              (t.prototype.refreshViewItem = function(e) {
                e.render(),
                  this.shouldBeRendered(e)
                    ? this.insertItemInDOM(e)
                    : this.removeItemFromDOM(e)
              }),
              (t.prototype.onClick = function(e) {
                if (!this.lastPointerType || 'mouse' === this.lastPointerType) {
                  var t = new c.StandardMouseEvent(e),
                    n = this.getItemAround(t.target)
                  n &&
                    (i.isIE &&
                      Date.now() - this.lastClickTimeStamp < 300 &&
                      (t.detail = 2),
                    (this.lastClickTimeStamp = Date.now()),
                    this.context.controller.onClick(
                      this.context.tree,
                      n.model.getElement(),
                      t
                    ))
                }
              }),
              (t.prototype.onMouseDown = function(e) {
                if (
                  ((this.didJustPressContextMenuKey = !1),
                  this.context.controller.onMouseDown &&
                    (!this.lastPointerType || 'mouse' === this.lastPointerType))
                ) {
                  var t = new c.StandardMouseEvent(e)
                  if (!(t.ctrlKey && n.isNative && n.isMacintosh)) {
                    var i = this.getItemAround(t.target)
                    i &&
                      this.context.controller.onMouseDown(
                        this.context.tree,
                        i.model.getElement(),
                        t
                      )
                  }
                }
              }),
              (t.prototype.onMouseUp = function(e) {
                if (
                  this.context.controller.onMouseUp &&
                  (!this.lastPointerType || 'mouse' === this.lastPointerType)
                ) {
                  var t = new c.StandardMouseEvent(e)
                  if (!(t.ctrlKey && n.isNative && n.isMacintosh)) {
                    var i = this.getItemAround(t.target)
                    i &&
                      this.context.controller.onMouseUp(
                        this.context.tree,
                        i.model.getElement(),
                        t
                      )
                  }
                }
              }),
              (t.prototype.onTap = function(e) {
                var t = this.getItemAround(e.initialTarget)
                t &&
                  this.context.controller.onTap(
                    this.context.tree,
                    t.model.getElement(),
                    e
                  )
              }),
              (t.prototype.onTouchChange = function(e) {
                e.preventDefault(),
                  e.stopPropagation(),
                  (this.scrollTop -= e.translationY)
              }),
              (t.prototype.onContextMenu = function(e) {
                var t, n
                if (
                  e instanceof KeyboardEvent ||
                  this.didJustPressContextMenuKey
                ) {
                  this.didJustPressContextMenuKey = !1
                  var i = new d.StandardKeyboardEvent(e)
                  if (!(n = this.model.getFocus())) return
                  var o = this.context.dataSource.getId(this.context.tree, n),
                    r = this.items[o],
                    a = s.getDomNodePagePosition(r.element)
                  t = new _.KeyboardContextMenuEvent(a.left + a.width, a.top, i)
                } else {
                  var u = new c.StandardMouseEvent(e),
                    l = this.getItemAround(u.target)
                  if (!l) return
                  ;(n = l.model.getElement()),
                    (t = new _.MouseContextMenuEvent(u))
                }
                this.context.controller.onContextMenu(this.context.tree, n, t)
              }),
              (t.prototype.onKeyDown = function(e) {
                var t = new d.StandardKeyboardEvent(e)
                ;(this.didJustPressContextMenuKey =
                  58 === t.keyCode || (t.shiftKey && 68 === t.keyCode)),
                  this.didJustPressContextMenuKey &&
                    (t.preventDefault(), t.stopPropagation()),
                  (t.target &&
                    t.target.tagName &&
                    'input' === t.target.tagName.toLowerCase()) ||
                    this.context.controller.onKeyDown(this.context.tree, t)
              }),
              (t.prototype.onKeyUp = function(e) {
                this.didJustPressContextMenuKey && this.onContextMenu(e),
                  (this.didJustPressContextMenuKey = !1),
                  this.context.controller.onKeyUp(
                    this.context.tree,
                    new d.StandardKeyboardEvent(e)
                  )
              }),
              (t.prototype.onDragStart = function(e, n) {
                if (!this.model.getHighlight()) {
                  var i,
                    o = e.model.getElement(),
                    r = this.model.getSelection()
                  if (
                    ((i = r.indexOf(o) > -1 ? r : [o]),
                    (n.dataTransfer.effectAllowed = 'copyMove'),
                    n.dataTransfer.setData('URL', e.uri),
                    n.dataTransfer.setDragImage)
                  ) {
                    var s = void 0
                    s = this.context.dnd.getDragLabel
                      ? this.context.dnd.getDragLabel(this.context.tree, i)
                      : String(i.length)
                    var a = document.createElement('div')
                    ;(a.className = 'monaco-tree-drag-image'),
                      (a.textContent = s),
                      document.body.appendChild(a),
                      n.dataTransfer.setDragImage(a, -10, -10),
                      setTimeout(function() {
                        return document.body.removeChild(a)
                      }, 0)
                  }
                  ;(this.currentDragAndDropData = new h.ElementsDragAndDropData(
                    i
                  )),
                    (t.currentExternalDragAndDropData = new h.ExternalElementsDragAndDropData(
                      i
                    )),
                    this.context.dnd.onDragStart(
                      this.context.tree,
                      this.currentDragAndDropData,
                      new c.DragMouseEvent(n)
                    )
                }
              }),
              (t.prototype.setupDragAndDropScrollInterval = function() {
                var e = this,
                  t = s.getTopLeftOffset(this.wrapper).top
                this.dragAndDropScrollInterval ||
                  ((this.dragAndDropScrollInterval = window.setInterval(
                    function() {
                      if (void 0 !== e.dragAndDropMouseY) {
                        var n = e.dragAndDropMouseY - t,
                          i = 0,
                          o = e.viewHeight - 35
                        n < 35
                          ? (i = Math.max(-14, 0.2 * (n - 35)))
                          : n > o && (i = Math.min(14, 0.2 * (n - o))),
                          (e.scrollTop += i)
                      }
                    },
                    10
                  )),
                  this.cancelDragAndDropScrollTimeout(),
                  (this.dragAndDropScrollTimeout = window.setTimeout(
                    function() {
                      e.cancelDragAndDropScrollInterval(),
                        (e.dragAndDropScrollTimeout = null)
                    },
                    1e3
                  )))
              }),
              (t.prototype.cancelDragAndDropScrollInterval = function() {
                this.dragAndDropScrollInterval &&
                  (window.clearInterval(this.dragAndDropScrollInterval),
                  (this.dragAndDropScrollInterval = null)),
                  this.cancelDragAndDropScrollTimeout()
              }),
              (t.prototype.cancelDragAndDropScrollTimeout = function() {
                this.dragAndDropScrollTimeout &&
                  (window.clearTimeout(this.dragAndDropScrollTimeout),
                  (this.dragAndDropScrollTimeout = null))
              }),
              (t.prototype.onDragOver = function(e) {
                var n = this,
                  i = new c.DragMouseEvent(e),
                  r = this.getItemAround(i.target)
                if (
                  !r ||
                  (0 === i.posx &&
                    0 === i.posy &&
                    i.browserEvent.type === s.EventType.DRAG_LEAVE)
                )
                  return (
                    this.currentDropTarget &&
                      (this.currentDropTargets.forEach(function(e) {
                        return (e.dropTarget = !1)
                      }),
                      (this.currentDropTargets = []),
                      this.currentDropPromise &&
                        (this.currentDropPromise.cancel(),
                        (this.currentDropPromise = null))),
                    this.cancelDragAndDropScrollInterval(),
                    (this.currentDropTarget = null),
                    (this.currentDropElement = null),
                    (this.dragAndDropMouseY = null),
                    !1
                  )
                if (
                  (this.setupDragAndDropScrollInterval(),
                  (this.dragAndDropMouseY = i.posy),
                  !this.currentDragAndDropData)
                )
                  if (t.currentExternalDragAndDropData)
                    this.currentDragAndDropData =
                      t.currentExternalDragAndDropData
                  else {
                    if (!i.dataTransfer.types) return !1
                    this.currentDragAndDropData = new h.DesktopDragAndDropData()
                  }
                this.currentDragAndDropData.update(i)
                var a,
                  u,
                  l = r.model
                do {
                  if (
                    ((a = l ? l.getElement() : this.model.getInput()),
                    !(u = this.context.dnd.onDragOver(
                      this.context.tree,
                      this.currentDragAndDropData,
                      a,
                      i
                    )) || u.bubble !== _.DragOverBubble.BUBBLE_UP)
                  )
                    break
                  l = l && l.parent
                } while (l)
                if (!l) return (this.currentDropElement = null), !1
                var d = u && u.accept
                d
                  ? ((this.currentDropElement = l.getElement()),
                    i.preventDefault(),
                    (i.dataTransfer.dropEffect =
                      u.effect === _.DragOverEffect.COPY ? 'copy' : 'move'))
                  : (this.currentDropElement = null)
                var p =
                  l.id === this.inputItem.id ? this.inputItem : this.items[l.id]
                if (
                  (this.shouldInvalidateDropReaction ||
                    this.currentDropTarget !== p ||
                    !C(this.currentDropElementReaction, u)) &&
                  ((this.shouldInvalidateDropReaction = !1),
                  this.currentDropTarget &&
                    (this.currentDropTargets.forEach(function(e) {
                      return (e.dropTarget = !1)
                    }),
                    (this.currentDropTargets = []),
                    this.currentDropPromise &&
                      (this.currentDropPromise.cancel(),
                      (this.currentDropPromise = null))),
                  (this.currentDropTarget = p),
                  (this.currentDropElementReaction = u),
                  d)
                ) {
                  if (
                    (this.currentDropTarget &&
                      ((this.currentDropTarget.dropTarget = !0),
                      this.currentDropTargets.push(this.currentDropTarget)),
                    u.bubble === _.DragOverBubble.BUBBLE_DOWN)
                  )
                    for (var f, g = l.getNavigator(); (f = g.next()); )
                      (r = this.items[f.id]) &&
                        ((r.dropTarget = !0), this.currentDropTargets.push(r))
                  u.autoExpand &&
                    (this.currentDropPromise = o.TPromise.timeout(500)
                      .then(function() {
                        return n.context.tree.expand(n.currentDropElement)
                      })
                      .then(function() {
                        return (n.shouldInvalidateDropReaction = !0)
                      }))
                }
                return !0
              }),
              (t.prototype.onDrop = function(e) {
                if (this.currentDropElement) {
                  var t = new c.DragMouseEvent(e)
                  t.preventDefault(),
                    this.currentDragAndDropData.update(t),
                    this.context.dnd.drop(
                      this.context.tree,
                      this.currentDragAndDropData,
                      this.currentDropElement,
                      t
                    ),
                    this.onDragEnd(e)
                }
                this.cancelDragAndDropScrollInterval()
              }),
              (t.prototype.onDragEnd = function(e) {
                this.currentDropTarget &&
                  (this.currentDropTargets.forEach(function(e) {
                    return (e.dropTarget = !1)
                  }),
                  (this.currentDropTargets = [])),
                  this.currentDropPromise &&
                    (this.currentDropPromise.cancel(),
                    (this.currentDropPromise = null)),
                  this.cancelDragAndDropScrollInterval(),
                  (this.currentDragAndDropData = null),
                  (t.currentExternalDragAndDropData = null),
                  (this.currentDropElement = null),
                  (this.currentDropTarget = null),
                  (this.dragAndDropMouseY = null)
              }),
              (t.prototype.onFocus = function() {
                this.context.options.alwaysFocused ||
                  s.addClass(this.domNode, 'focused'),
                  this._onDOMFocus.fire()
              }),
              (t.prototype.onBlur = function() {
                this.context.options.alwaysFocused ||
                  s.removeClass(this.domNode, 'focused'),
                  this.domNode.removeAttribute('aria-activedescendant'),
                  this._onDOMBlur.fire()
              }),
              (t.prototype.onMsPointerDown = function(e) {
                if (this.msGesture) {
                  var t = e.pointerType
                  t !== (e.MSPOINTER_TYPE_MOUSE || 'mouse')
                    ? t === (e.MSPOINTER_TYPE_TOUCH || 'touch') &&
                      ((this.lastPointerType = 'touch'),
                      e.stopPropagation(),
                      e.preventDefault(),
                      this.msGesture.addPointer(e.pointerId))
                    : (this.lastPointerType = 'mouse')
                }
              }),
              (t.prototype.onThrottledMsGestureChange = function(e) {
                this.scrollTop -= e.translationY
              }),
              (t.prototype.onMsGestureTap = function(e) {
                ;(e.initialTarget = document.elementFromPoint(
                  e.clientX,
                  e.clientY
                )),
                  this.onTap(e)
              }),
              (t.prototype.insertItemInDOM = function(e) {
                var t = null,
                  n = this.itemAfter(e)
                n && n.element && (t = n.element),
                  e.insertInDOM(this.rowsContainer, t)
              }),
              (t.prototype.removeItemFromDOM = function(e) {
                e && e.removeFromDOM()
              }),
              (t.prototype.shouldBeRendered = function(e) {
                return (
                  e.top < this.lastRenderTop + this.lastRenderHeight &&
                  e.top + e.height > this.lastRenderTop
                )
              }),
              (t.prototype.getItemAround = function(e) {
                var n = this.inputItem
                do {
                  if (
                    (e[t.BINDING] && (n = e[t.BINDING]),
                    e === this.wrapper || e === this.domNode)
                  )
                    return n
                  if (e === document.body) return null
                } while ((e = e.parentElement))
              }),
              (t.prototype.releaseModel = function() {
                this.model &&
                  ((this.modelListeners = r.dispose(this.modelListeners)),
                  (this.model = null))
              }),
              (t.prototype.dispose = function() {
                this.scrollableElement.dispose(),
                  this.releaseModel(),
                  (this.modelListeners = null),
                  (this.viewListeners = r.dispose(this.viewListeners)),
                  this._onDOMFocus.dispose(),
                  this._onDOMBlur.dispose(),
                  this.domNode.parentNode &&
                    this.domNode.parentNode.removeChild(this.domNode),
                  (this.domNode = null),
                  this.wrapperGesture &&
                    (this.wrapperGesture.dispose(),
                    (this.wrapperGesture = null)),
                  this.context.cache &&
                    (this.context.cache.dispose(), (this.context.cache = null)),
                  e.prototype.dispose.call(this)
              }),
              t
            )
          })(v.HeightMap)
        ;(L.BINDING = 'monaco-tree-row'),
          (L.LOADING_DECORATION_DELAY = 800),
          (L.counter = 0),
          (L.currentExternalDragAndDropData = null),
          (t.TreeView = L)
      }),
      define(d[393], h([4]), {}),
      define(d[392], h([0, 1, 3, 11, 44, 6, 27, 34, 28, 393]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var l = {
            selectBackground: a.Color.fromHex('#3C3C3C'),
            selectForeground: a.Color.fromHex('#F0F0F0'),
            selectBorder: a.Color.fromHex('#3C3C3C')
          },
          c = (function(e) {
            function t(t, n, o) {
              void 0 === o && (o = u.clone(l))
              var s = e.call(this) || this
              return (
                (s.selectElement = document.createElement('select')),
                (s.selectElement.className = 'select-box'),
                s.setOptions(t, n),
                (s.toDispose = []),
                (s._onDidSelect = new i.Emitter()),
                (s.selectBackground = o.selectBackground),
                (s.selectForeground = o.selectForeground),
                (s.selectBorder = o.selectBorder),
                s.toDispose.push(
                  r.addStandardDisposableListener(
                    s.selectElement,
                    'change',
                    function(e) {
                      ;(s.selectElement.title = e.target.value),
                        s._onDidSelect.fire(e.target.value)
                    }
                  )
                ),
                s
              )
            }
            return (
              f(t, e),
              Object.defineProperty(t.prototype, 'onDidSelect', {
                get: function() {
                  return this._onDidSelect.event
                },
                enumerable: !0,
                configurable: !0
              }),
              (t.prototype.setOptions = function(e, t, n) {
                var i = this
                if (!this.options || !s.equals(this.options, e)) {
                  ;(this.options = e), (this.selectElement.options.length = 0)
                  var o = 0
                  this.options.forEach(function(e) {
                    i.selectElement.add(i.createOption(e, n === o++))
                  })
                }
                this.select(t)
              }),
              (t.prototype.select = function(e) {
                e >= 0 && e < this.options.length
                  ? (this.selected = e)
                  : this.selected < 0 && (this.selected = 0),
                  (this.selectElement.selectedIndex = this.selected),
                  (this.selectElement.title = this.options[this.selected])
              }),
              (t.prototype.focus = function() {
                this.selectElement && this.selectElement.focus()
              }),
              (t.prototype.blur = function() {
                this.selectElement && this.selectElement.blur()
              }),
              (t.prototype.render = function(e) {
                ;(this.container = e),
                  r.addClass(e, 'select-container'),
                  e.appendChild(this.selectElement),
                  this.setOptions(this.options, this.selected),
                  this.applyStyles()
              }),
              (t.prototype.style = function(e) {
                ;(this.selectBackground = e.selectBackground),
                  (this.selectForeground = e.selectForeground),
                  (this.selectBorder = e.selectBorder),
                  this.applyStyles()
              }),
              (t.prototype.applyStyles = function() {
                if (this.selectElement) {
                  var e = this.selectBackground
                      ? this.selectBackground.toString()
                      : null,
                    t = this.selectForeground
                      ? this.selectForeground.toString()
                      : null,
                    n = this.selectBorder ? this.selectBorder.toString() : null
                  ;(this.selectElement.style.backgroundColor = e),
                    (this.selectElement.style.color = t),
                    (this.selectElement.style.borderColor = n)
                }
              }),
              (t.prototype.createOption = function(e, t) {
                var n = document.createElement('option')
                return (n.value = e), (n.text = e), (n.disabled = t), n
              }),
              (t.prototype.dispose = function() {
                ;(this.toDispose = n.dispose(this.toDispose)),
                  e.prototype.dispose.call(this)
              }),
              t
            )
          })(o.Widget)
        t.SelectBox = c
      }),
      define(d[390], h([4]), {}),
      define(d[389], h([4]), {}),
      define(d[386], h([4]), {}),
      define(d[385], h([4]), {}),
      define(d[384], h([4]), {}),
      define(d[383], h([4]), {}),
      define(d[382], h([4]), {}),
      define(d[381], h([4]), {}),
      define(d[380], h([4]), {}),
      define(d[379], h([4]), {}),
      define(d[378], h([4]), {}),
      define(d[356], h([4]), {}),
      define(d[325], h([4]), {}),
      define(d[322], h([4]), {}),
      define(d[318], h([4]), {}),
      define(d[317], h([4]), {}),
      define(d[315], h([4]), {}),
      define(d[306], h([4]), {}),
      define(d[305], h([4]), {}),
      define(d[304], h([4]), {}),
      define(d[303], h([4]), {}),
      define(d[302], h([4]), {}),
      define(d[300], h([4]), {}),
      define(d[299], h([4]), {}),
      define(d[298], h([4]), {}),
      define(d[297], h([4]), {}),
      define(d[296], h([4]), {}),
      define(d[291], h([4]), {}),
      define(d[190], h([4]), {}),
      define(d[290], h([4]), {}),
      define(d[287], h([4]), {}),
      define(d[285], h([4]), {}),
      define(d[282], h([4]), {}),
      define(d[279], h([4]), {}),
      define(d[277], h([4]), {}),
      define(d[274], h([4]), {}),
      define(d[271], h([4]), {}),
      define(d[270], h([4]), {}),
      define(d[269], h([4]), {}),
      define(d[265], h([4]), {}),
      define(d[261], h([4]), {}),
      define(d[252], h([4]), {}),
      define(d[251], h([4]), {}),
      define(d[250], h([4]), {}),
      define(d[241], h([4]), {}),
      define(d[237], h([4]), {}),
      define(d[233], h([4]), {}),
      define(d[231], h([4]), {}),
      define(d[228], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        !(function(e) {
          ;(e[(e.Regular = 0)] = 'Regular'),
            (e[(e.Italic = 1)] = 'Italic'),
            (e[(e.Bold = 2)] = 'Bold')
        })(t.CharWidthRequestType || (t.CharWidthRequestType = {}))
        var n = (function() {
          function e(e, t) {
            ;(this.chr = e), (this.type = t), (this.width = 0)
          }
          return (
            (e.prototype.fulfill = function(e) {
              this.width = e
            }),
            e
          )
        })()
        t.CharWidthRequest = n
        var i = (function() {
          function e(e, t) {
            ;(this._bareFontInfo = e),
              (this._requests = t),
              (this._container = null),
              (this._testElements = null)
          }
          return (
            (e.prototype.read = function() {
              this._createDomElements(),
                document.body.appendChild(this._container),
                this._readFromDomElements(),
                document.body.removeChild(this._container),
                (this._container = null),
                (this._testElements = null)
            }),
            (e.prototype._createDomElements = function() {
              var t = document.createElement('div')
              ;(t.style.position = 'absolute'),
                (t.style.top = '-50000px'),
                (t.style.width = '50000px')
              var n = document.createElement('div')
              ;(n.style.fontFamily = this._bareFontInfo.fontFamily),
                (n.style.fontWeight = this._bareFontInfo.fontWeight),
                (n.style.fontSize = this._bareFontInfo.fontSize + 'px'),
                (n.style.lineHeight = this._bareFontInfo.lineHeight + 'px'),
                (n.style.letterSpacing =
                  this._bareFontInfo.letterSpacing + 'px'),
                t.appendChild(n)
              var i = document.createElement('div')
              ;(i.style.fontFamily = this._bareFontInfo.fontFamily),
                (i.style.fontWeight = 'bold'),
                (i.style.fontSize = this._bareFontInfo.fontSize + 'px'),
                (i.style.lineHeight = this._bareFontInfo.lineHeight + 'px'),
                (i.style.letterSpacing =
                  this._bareFontInfo.letterSpacing + 'px'),
                t.appendChild(i)
              var o = document.createElement('div')
              ;(o.style.fontFamily = this._bareFontInfo.fontFamily),
                (o.style.fontWeight = this._bareFontInfo.fontWeight),
                (o.style.fontSize = this._bareFontInfo.fontSize + 'px'),
                (o.style.lineHeight = this._bareFontInfo.lineHeight + 'px'),
                (o.style.letterSpacing =
                  this._bareFontInfo.letterSpacing + 'px'),
                (o.style.fontStyle = 'italic'),
                t.appendChild(o)
              for (var r = [], s = 0, a = this._requests.length; s < a; s++) {
                var u = this._requests[s],
                  l = void 0
                0 === u.type && (l = n),
                  2 === u.type && (l = i),
                  1 === u.type && (l = o),
                  l.appendChild(document.createElement('br'))
                var c = document.createElement('span')
                e._render(c, u), l.appendChild(c), (r[s] = c)
              }
              ;(this._container = t), (this._testElements = r)
            }),
            (e._render = function(e, t) {
              if (' ' === t.chr) {
                for (var n = '&nbsp;', i = 0; i < 8; i++) n += n
                e.innerHTML = n
              } else {
                for (var o = t.chr, i = 0; i < 8; i++) o += o
                e.textContent = o
              }
            }),
            (e.prototype._readFromDomElements = function() {
              for (var e = 0, t = this._requests.length; e < t; e++) {
                var n = this._requests[e],
                  i = this._testElements[e]
                n.fulfill(i.offsetWidth / 256)
              }
            }),
            e
          )
        })()
        t.readCharWidths = function(e, t) {
          new i(e, t).read()
        }
      }),
      define(d[227], h([0, 1, 3]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function(e) {
          function t(t, n) {
            var i = e.call(this) || this
            return (
              (i.referenceDomElement = t),
              (i.changeCallback = n),
              (i.measureReferenceDomElementToken = -1),
              (i.width = -1),
              (i.height = -1),
              i.measureReferenceDomElement(!1),
              i
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              this.stopObserving(), e.prototype.dispose.call(this)
            }),
            (t.prototype.getWidth = function() {
              return this.width
            }),
            (t.prototype.getHeight = function() {
              return this.height
            }),
            (t.prototype.startObserving = function() {
              var e = this
              ;-1 === this.measureReferenceDomElementToken &&
                (this.measureReferenceDomElementToken = setInterval(function() {
                  return e.measureReferenceDomElement(!0)
                }, 100))
            }),
            (t.prototype.stopObserving = function() {
              ;-1 !== this.measureReferenceDomElementToken &&
                (clearInterval(this.measureReferenceDomElementToken),
                (this.measureReferenceDomElementToken = -1))
            }),
            (t.prototype.observe = function(e) {
              this.measureReferenceDomElement(!0, e)
            }),
            (t.prototype.measureReferenceDomElement = function(e, t) {
              var n = 0,
                i = 0
              t
                ? ((n = t.width), (i = t.height))
                : this.referenceDomElement &&
                  ((n = this.referenceDomElement.clientWidth),
                  (i = this.referenceDomElement.clientHeight)),
                (n = Math.max(5, n)),
                (i = Math.max(5, i)),
                (this.width === n && this.height === i) ||
                  ((this.width = n),
                  (this.height = i),
                  e && this.changeCallback())
            }),
            t
          )
        })(n.Disposable)
        t.ElementSizeObserver = i
      }),
      define(d[25], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        !(function(e) {
          ;(e[(e.EXACT = 0)] = 'EXACT'),
            (e[(e.ABOVE = 1)] = 'ABOVE'),
            (e[(e.BELOW = 2)] = 'BELOW')
        })(
          t.ContentWidgetPositionPreference ||
            (t.ContentWidgetPositionPreference = {})
        )
        !(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')
        })(
          t.OverlayWidgetPositionPreference ||
            (t.OverlayWidgetPositionPreference = {})
        )
        !(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')
        })(t.MouseTargetType || (t.MouseTargetType = {}))
      }),
      define(d[113], h([0, 1, 3, 45, 6, 97]), function(e, t, n, i, o, r) {
        'use strict'
        function s(e) {
          var t = o.getDomNodePagePosition(e)
          return new l(t.left, t.top, t.width, t.height)
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = (function() {
          function e(e, t) {
            ;(this.x = e), (this.y = t)
          }
          return (
            (e.prototype.toClientCoordinates = function() {
              return new u(
                this.x - o.StandardWindow.scrollX,
                this.y - o.StandardWindow.scrollY
              )
            }),
            e
          )
        })()
        t.PageCoordinates = a
        var u = (function() {
          function e(e, t) {
            ;(this.clientX = e), (this.clientY = t)
          }
          return (
            (e.prototype.toPageCoordinates = function() {
              return new a(
                this.clientX + o.StandardWindow.scrollX,
                this.clientY + o.StandardWindow.scrollY
              )
            }),
            e
          )
        })()
        t.ClientCoordinates = u
        var l = (function() {
          return function(e, t, n, i) {
            ;(this.x = e), (this.y = t), (this.width = n), (this.height = i)
          }
        })()
        ;(t.EditorPagePosition = l), (t.createEditorPagePosition = s)
        var c = (function(e) {
          function t(t, n) {
            var i = e.call(this, t) || this
            return (i.pos = new a(i.posx, i.posy)), (i.editorPos = s(n)), i
          }
          return f(t, e), t
        })(i.StandardMouseEvent)
        t.EditorMouseEvent = c
        var d = (function() {
          function e(e) {
            this._editorViewDomNode = e
          }
          return (
            (e.prototype._create = function(e) {
              return new c(e, this._editorViewDomNode)
            }),
            (e.prototype.onContextMenu = function(e, t) {
              var n = this
              return o.addDisposableListener(e, 'contextmenu', function(e) {
                t(n._create(e))
              })
            }),
            (e.prototype.onMouseUp = function(e, t) {
              var n = this
              return o.addDisposableListener(e, 'mouseup', function(e) {
                t(n._create(e))
              })
            }),
            (e.prototype.onMouseDown = function(e, t) {
              var n = this
              return o.addDisposableListener(e, 'mousedown', function(e) {
                t(n._create(e))
              })
            }),
            (e.prototype.onMouseLeave = function(e, t) {
              var n = this
              return o.addDisposableNonBubblingMouseOutListener(e, function(e) {
                t(n._create(e))
              })
            }),
            (e.prototype.onMouseMoveThrottled = function(e, t, n, i) {
              var r = this
              return o.addDisposableThrottledListener(
                e,
                'mousemove',
                t,
                function(e, t) {
                  return n(e, r._create(t))
                },
                i
              )
            }),
            e
          )
        })()
        t.EditorMouseEventFactory = d
        var h = (function(e) {
          function t(t) {
            var n = e.call(this) || this
            return (
              (n._editorViewDomNode = t),
              (n._globalMouseMoveMonitor = n._register(
                new r.GlobalMouseMoveMonitor()
              )),
              (n._keydownListener = null),
              n
            )
          }
          return (
            f(t, e),
            (t.prototype.startMonitoring = function(e, t, n) {
              var i = this
              this._keydownListener = o.addStandardDisposableListener(
                document,
                'keydown',
                function(e) {
                  e.toKeybinding().isModifierKey() ||
                    i._globalMouseMoveMonitor.stopMonitoring(!0)
                },
                !0
              )
              this._globalMouseMoveMonitor.startMonitoring(
                function(t, n) {
                  return e(t, new c(n, i._editorViewDomNode))
                },
                t,
                function() {
                  i._keydownListener.dispose(), n()
                }
              )
            }),
            t
          )
        })(n.Disposable)
        t.GlobalEditorMouseMoveMonitor = h
      }),
      define(d[127], h([0, 1, 26]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e(e) {
            ;(this._createLine = e), this._set(1, [])
          }
          return (
            (e.prototype.flush = function() {
              this._set(1, [])
            }),
            (e.prototype._set = function(e, t) {
              ;(this._lines = t), (this._rendLineNumberStart = e)
            }),
            (e.prototype._get = function() {
              return {
                rendLineNumberStart: this._rendLineNumberStart,
                lines: this._lines
              }
            }),
            (e.prototype.getStartLineNumber = function() {
              return this._rendLineNumberStart
            }),
            (e.prototype.getEndLineNumber = function() {
              return this._rendLineNumberStart + this._lines.length - 1
            }),
            (e.prototype.getCount = function() {
              return this._lines.length
            }),
            (e.prototype.getLine = function(e) {
              var t = e - this._rendLineNumberStart
              if (t < 0 || t >= this._lines.length)
                throw new Error('Illegal value for lineNumber: ' + e)
              return this._lines[t]
            }),
            (e.prototype.onLinesDeleted = function(e, t) {
              if (0 === this.getCount()) return null
              var n = this.getStartLineNumber(),
                i = this.getEndLineNumber()
              if (t < n) {
                var o = t - e + 1
                return (this._rendLineNumberStart -= o), null
              }
              if (e > i) return null
              for (var r = 0, s = 0, a = n; a <= i; a++) {
                var u = a - this._rendLineNumberStart
                e <= a && a <= t && (0 === s ? ((r = u), (s = 1)) : s++)
              }
              if (e < n) {
                var l = 0
                ;(l = t < n ? t - e + 1 : n - e),
                  (this._rendLineNumberStart -= l)
              }
              return this._lines.splice(r, s)
            }),
            (e.prototype.onLinesChanged = function(e, t) {
              if (0 === this.getCount()) return !1
              for (
                var n = this.getStartLineNumber(),
                  i = this.getEndLineNumber(),
                  o = !1,
                  r = e;
                r <= t;
                r++
              )
                r >= n &&
                  r <= i &&
                  (this._lines[
                    r - this._rendLineNumberStart
                  ].onContentChanged(),
                  (o = !0))
              return o
            }),
            (e.prototype.onLinesInserted = function(e, t) {
              if (0 === this.getCount()) return null
              var n = t - e + 1,
                i = this.getStartLineNumber(),
                o = this.getEndLineNumber()
              if (e <= i) return (this._rendLineNumberStart += n), null
              if (e > o) return null
              if (n + e > o)
                return this._lines.splice(
                  e - this._rendLineNumberStart,
                  o - e + 1
                )
              for (var r = [], s = 0; s < n; s++) r[s] = this._createLine()
              var a = e - this._rendLineNumberStart,
                u = this._lines.slice(0, a),
                l = this._lines.slice(a, this._lines.length - n),
                c = this._lines.slice(
                  this._lines.length - n,
                  this._lines.length
                )
              return (this._lines = u.concat(r).concat(l)), c
            }),
            (e.prototype.onTokensChanged = function(e) {
              if (0 === this.getCount()) return !1
              for (
                var t = this.getStartLineNumber(),
                  n = this.getEndLineNumber(),
                  i = !1,
                  o = 0,
                  r = e.length;
                o < r;
                o++
              ) {
                var s = e[o]
                if (!(s.toLineNumber < t || s.fromLineNumber > n))
                  for (
                    var a = Math.max(t, s.fromLineNumber),
                      u = Math.min(n, s.toLineNumber),
                      l = a;
                    l <= u;
                    l++
                  ) {
                    var c = l - this._rendLineNumberStart
                    this._lines[c].onTokensChanged(), (i = !0)
                  }
              }
              return i
            }),
            e
          )
        })()
        t.RenderedLinesCollection = i
        var o = (function() {
          function e(e) {
            var t = this
            ;(this._host = e),
              (this.domNode = this._createDomNode()),
              (this._linesCollection = new i(function() {
                return t._host.createVisibleLine()
              }))
          }
          return (
            (e.prototype._createDomNode = function() {
              var e = n.createFastDomNode(document.createElement('div'))
              return (
                e.setClassName('view-layer'),
                e.setPosition('absolute'),
                e.domNode.setAttribute('role', 'presentation'),
                e.domNode.setAttribute('aria-hidden', 'true'),
                e
              )
            }),
            (e.prototype.onConfigurationChanged = function(e) {
              return e.layoutInfo
            }),
            (e.prototype.onFlushed = function(e) {
              return this._linesCollection.flush(), !0
            }),
            (e.prototype.onLinesChanged = function(e) {
              return this._linesCollection.onLinesChanged(
                e.fromLineNumber,
                e.toLineNumber
              )
            }),
            (e.prototype.onLinesDeleted = function(e) {
              var t = this._linesCollection.onLinesDeleted(
                e.fromLineNumber,
                e.toLineNumber
              )
              if (t)
                for (var n = 0, i = t.length; n < i; n++) {
                  var o = t[n].getDomNode()
                  o && this.domNode.domNode.removeChild(o)
                }
              return !0
            }),
            (e.prototype.onLinesInserted = function(e) {
              var t = this._linesCollection.onLinesInserted(
                e.fromLineNumber,
                e.toLineNumber
              )
              if (t)
                for (var n = 0, i = t.length; n < i; n++) {
                  var o = t[n].getDomNode()
                  o && this.domNode.domNode.removeChild(o)
                }
              return !0
            }),
            (e.prototype.onScrollChanged = function(e) {
              return e.scrollTopChanged
            }),
            (e.prototype.onTokensChanged = function(e) {
              return this._linesCollection.onTokensChanged(e.ranges)
            }),
            (e.prototype.onZonesChanged = function(e) {
              return !0
            }),
            (e.prototype.getStartLineNumber = function() {
              return this._linesCollection.getStartLineNumber()
            }),
            (e.prototype.getEndLineNumber = function() {
              return this._linesCollection.getEndLineNumber()
            }),
            (e.prototype.getVisibleLine = function(e) {
              return this._linesCollection.getLine(e)
            }),
            (e.prototype.renderLines = function(e) {
              var t = this._linesCollection._get(),
                n = new r(this.domNode.domNode, this._host, e),
                i = {
                  rendLineNumberStart: t.rendLineNumberStart,
                  lines: t.lines,
                  linesLength: t.lines.length
                },
                o = n.render(
                  i,
                  e.startLineNumber,
                  e.endLineNumber,
                  e.relativeVerticalOffset
                )
              this._linesCollection._set(o.rendLineNumberStart, o.lines)
            }),
            e
          )
        })()
        t.VisibleLinesCollection = o
        var r = (function() {
          function e(e, t, n) {
            ;(this.domNode = e), (this.host = t), (this.viewportData = n)
          }
          return (
            (e.prototype.render = function(e, t, n, i) {
              var o = {
                rendLineNumberStart: e.rendLineNumberStart,
                lines: e.lines.slice(0),
                linesLength: e.linesLength
              }
              if (
                o.rendLineNumberStart + o.linesLength - 1 < t ||
                n < o.rendLineNumberStart
              ) {
                ;(o.rendLineNumberStart = t),
                  (o.linesLength = n - t + 1),
                  (o.lines = [])
                for (var r = t; r <= n; r++)
                  o.lines[r - t] = this.host.createVisibleLine()
                return this._finishRendering(o, !0, i), o
              }
              if (
                (this._renderUntouchedLines(
                  o,
                  Math.max(t - o.rendLineNumberStart, 0),
                  Math.min(n - o.rendLineNumberStart, o.linesLength - 1),
                  i,
                  t
                ),
                o.rendLineNumberStart > t
                  ? (s = t) <= (a = Math.min(n, o.rendLineNumberStart - 1)) &&
                    (this._insertLinesBefore(o, s, a, i, t),
                    (o.linesLength += a - s + 1))
                  : o.rendLineNumberStart < t &&
                    (u = Math.min(o.linesLength, t - o.rendLineNumberStart)) >
                      0 &&
                    (this._removeLinesBefore(o, u), (o.linesLength -= u)),
                (o.rendLineNumberStart = t),
                o.rendLineNumberStart + o.linesLength - 1 < n)
              )
                (s = o.rendLineNumberStart + o.linesLength) <= (a = n) &&
                  (this._insertLinesAfter(o, s, a, i, t),
                  (o.linesLength += a - s + 1))
              else if (o.rendLineNumberStart + o.linesLength - 1 > n) {
                var s = Math.max(0, n - o.rendLineNumberStart + 1),
                  a = o.linesLength - 1,
                  u = a - s + 1
                u > 0 && (this._removeLinesAfter(o, u), (o.linesLength -= u))
              }
              return this._finishRendering(o, !1, i), o
            }),
            (e.prototype._renderUntouchedLines = function(e, t, n, i, o) {
              for (
                var r = e.rendLineNumberStart, s = e.lines, a = t;
                a <= n;
                a++
              ) {
                var u = r + a
                s[a].layoutLine(u, i[u - o])
              }
            }),
            (e.prototype._insertLinesBefore = function(e, t, n, i, o) {
              for (var r = [], s = 0, a = t; a <= n; a++)
                r[s++] = this.host.createVisibleLine()
              e.lines = r.concat(e.lines)
            }),
            (e.prototype._removeLinesBefore = function(e, t) {
              for (var n = 0; n < t; n++) {
                var i = e.lines[n].getDomNode()
                i && this.domNode.removeChild(i)
              }
              e.lines.splice(0, t)
            }),
            (e.prototype._insertLinesAfter = function(e, t, n, i, o) {
              for (var r = [], s = 0, a = t; a <= n; a++)
                r[s++] = this.host.createVisibleLine()
              e.lines = e.lines.concat(r)
            }),
            (e.prototype._removeLinesAfter = function(e, t) {
              for (var n = e.linesLength - t, i = 0; i < t; i++) {
                var o = e.lines[n + i].getDomNode()
                o && this.domNode.removeChild(o)
              }
              e.lines.splice(n, t)
            }),
            (e.prototype._finishRenderingNewLines = function(e, t, n, i) {
              var o = this.domNode.lastChild
              t || !o
                ? (this.domNode.innerHTML = n.join(''))
                : o.insertAdjacentHTML('afterend', n.join(''))
              for (
                var r = this.domNode.lastChild, s = e.linesLength - 1;
                s >= 0;
                s--
              ) {
                var a = e.lines[s]
                i[s] && (a.setDomNode(r), (r = r.previousSibling))
              }
            }),
            (e.prototype._finishRenderingInvalidLines = function(e, t, n) {
              var i = document.createElement('div')
              i.innerHTML = t.join('')
              for (var o = 0; o < e.linesLength; o++) {
                var r = e.lines[o]
                if (n[o]) {
                  var s = i.firstChild,
                    a = r.getDomNode()
                  a.parentNode.replaceChild(s, a), r.setDomNode(s)
                }
              }
            }),
            (e.prototype._finishRendering = function(e, t, n) {
              for (
                var i = !1,
                  o = [],
                  r = [],
                  s = !1,
                  a = [],
                  u = [],
                  l = 0,
                  c = e.linesLength;
                l < c;
                l++
              ) {
                var d = e.lines[l],
                  h = l + e.rendLineNumberStart
                ;(o[l] = !1), (a[l] = !1)
                var p = d.renderLine(h, n[l], this.viewportData)
                null !== p &&
                  (d.getDomNode()
                    ? (u.push(p), (a[l] = !0), (s = !0))
                    : (r.push(p), (o[l] = !0), (i = !0)))
              }
              i && this._finishRenderingNewLines(e, t, r, o),
                s && this._finishRenderingInvalidLines(e, u, a)
            }),
            e
          )
        })()
      }),
      define(d[111], h([0, 1, 11]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.EditorZoom = new ((function() {
            function e() {
              ;(this._zoomLevel = 0),
                (this._onDidChangeZoomLevel = new n.Emitter()),
                (this.onDidChangeZoomLevel = this._onDidChangeZoomLevel.event)
            }
            return (
              (e.prototype.getZoomLevel = function() {
                return this._zoomLevel
              }),
              (e.prototype.setZoomLevel = function(e) {
                ;(e = Math.min(Math.max(-9, e), 9)),
                  this._zoomLevel !== e &&
                    ((this._zoomLevel = e),
                    this._onDidChangeZoomLevel.fire(this._zoomLevel))
              }),
              e
            )
          })())())
      }),
      define(d[54], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        !(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')
        })(t.CursorChangeReason || (t.CursorChangeReason = {}))
      }),
      define(d[112], h([0, 1, 9]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        !(function(e) {
          ;(e[(e.Value = 1)] = 'Value'),
            (e[(e.Selection = 2)] = 'Selection'),
            (e[(e.Position = 4)] = 'Position'),
            (e[(e.Scroll = 8)] = 'Scroll')
        })(t.CodeEditorStateFlag || (t.CodeEditorStateFlag = {}))
        var i = (function() {
          function e(e, t) {
            if (((this.flags = t), 0 != (1 & this.flags))) {
              var i = e.getModel()
              this.modelVersionId = i
                ? n.format('{0}#{1}', i.uri.toString(), i.getVersionId())
                : null
            }
            0 != (4 & this.flags) && (this.position = e.getPosition()),
              0 != (2 & this.flags) && (this.selection = e.getSelection()),
              0 != (8 & this.flags) &&
                ((this.scrollLeft = e.getScrollLeft()),
                (this.scrollTop = e.getScrollTop()))
          }
          return (
            (e.prototype._equals = function(t) {
              if (!(t instanceof e)) return !1
              var n = t
              return (
                this.modelVersionId === n.modelVersionId &&
                (this.scrollLeft === n.scrollLeft &&
                  this.scrollTop === n.scrollTop &&
                  (!(
                    (!this.position && n.position) ||
                    (this.position && !n.position) ||
                    (this.position &&
                      n.position &&
                      !this.position.equals(n.position))
                  ) &&
                    !(
                      (!this.selection && n.selection) ||
                      (this.selection && !n.selection) ||
                      (this.selection &&
                        n.selection &&
                        !this.selection.equalsRange(n.selection))
                    )))
              )
            }),
            (e.prototype.validate = function(t) {
              return this._equals(new e(t, this.flags))
            }),
            e
          )
        })()
        t.EditorState = i
      }),
      define(d[12], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var n = (function() {
          function e(e, t) {
            ;(this.lineNumber = e), (this.column = t)
          }
          return (
            (e.prototype.equals = function(t) {
              return e.equals(this, t)
            }),
            (e.equals = function(e, t) {
              return (
                (!e && !t) ||
                (!!e &&
                  !!t &&
                  e.lineNumber === t.lineNumber &&
                  e.column === t.column)
              )
            }),
            (e.prototype.isBefore = function(t) {
              return e.isBefore(this, t)
            }),
            (e.isBefore = function(e, t) {
              return (
                e.lineNumber < t.lineNumber ||
                (!(t.lineNumber < e.lineNumber) && e.column < t.column)
              )
            }),
            (e.prototype.isBeforeOrEqual = function(t) {
              return e.isBeforeOrEqual(this, t)
            }),
            (e.isBeforeOrEqual = function(e, t) {
              return (
                e.lineNumber < t.lineNumber ||
                (!(t.lineNumber < e.lineNumber) && e.column <= t.column)
              )
            }),
            (e.compare = function(e, t) {
              var n = 0 | e.lineNumber,
                i = 0 | t.lineNumber
              return n === i ? (0 | e.column) - (0 | t.column) : n - i
            }),
            (e.prototype.clone = function() {
              return new e(this.lineNumber, this.column)
            }),
            (e.prototype.toString = function() {
              return '(' + this.lineNumber + ',' + this.column + ')'
            }),
            (e.lift = function(t) {
              return new e(t.lineNumber, t.column)
            }),
            (e.isIPosition = function(e) {
              return (
                e &&
                'number' == typeof e.lineNumber &&
                'number' == typeof e.column
              )
            }),
            e
          )
        })()
        t.Position = n
      }),
      define(d[2], h([0, 1, 12]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e(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))
          }
          return (
            (e.prototype.isEmpty = function() {
              return e.isEmpty(this)
            }),
            (e.isEmpty = function(e) {
              return (
                e.startLineNumber === e.endLineNumber &&
                e.startColumn === e.endColumn
              )
            }),
            (e.prototype.containsPosition = function(t) {
              return e.containsPosition(this, t)
            }),
            (e.containsPosition = function(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))
              )
            }),
            (e.prototype.containsRange = function(t) {
              return e.containsRange(this, t)
            }),
            (e.containsRange = function(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
                    )))
              )
            }),
            (e.prototype.plusRange = function(t) {
              return e.plusRange(this, t)
            }),
            (e.plusRange = function(t, n) {
              var i, o, r, s
              return (
                n.startLineNumber < t.startLineNumber
                  ? ((i = n.startLineNumber), (o = n.startColumn))
                  : n.startLineNumber === t.startLineNumber
                    ? ((i = n.startLineNumber),
                      (o = Math.min(n.startColumn, t.startColumn)))
                    : ((i = t.startLineNumber), (o = t.startColumn)),
                n.endLineNumber > t.endLineNumber
                  ? ((r = n.endLineNumber), (s = n.endColumn))
                  : n.endLineNumber === t.endLineNumber
                    ? ((r = n.endLineNumber),
                      (s = Math.max(n.endColumn, t.endColumn)))
                    : ((r = t.endLineNumber), (s = t.endColumn)),
                new e(i, o, r, s)
              )
            }),
            (e.prototype.intersectRanges = function(t) {
              return e.intersectRanges(this, t)
            }),
            (e.intersectRanges = function(t, n) {
              var i = t.startLineNumber,
                o = t.startColumn,
                r = t.endLineNumber,
                s = t.endColumn,
                a = n.startLineNumber,
                u = n.startColumn,
                l = n.endLineNumber,
                c = n.endColumn
              return (
                i < a ? ((i = a), (o = u)) : i === a && (o = Math.max(o, u)),
                r > l ? ((r = l), (s = c)) : r === l && (s = Math.min(s, c)),
                i > r ? null : i === r && o > s ? null : new e(i, o, r, s)
              )
            }),
            (e.prototype.equalsRange = function(t) {
              return e.equalsRange(this, t)
            }),
            (e.equalsRange = function(e, t) {
              return (
                !!e &&
                !!t &&
                e.startLineNumber === t.startLineNumber &&
                e.startColumn === t.startColumn &&
                e.endLineNumber === t.endLineNumber &&
                e.endColumn === t.endColumn
              )
            }),
            (e.prototype.getEndPosition = function() {
              return new n.Position(this.endLineNumber, this.endColumn)
            }),
            (e.prototype.getStartPosition = function() {
              return new n.Position(this.startLineNumber, this.startColumn)
            }),
            (e.prototype.cloneRange = function() {
              return new e(
                this.startLineNumber,
                this.startColumn,
                this.endLineNumber,
                this.endColumn
              )
            }),
            (e.prototype.toString = function() {
              return (
                '[' +
                this.startLineNumber +
                ',' +
                this.startColumn +
                ' -> ' +
                this.endLineNumber +
                ',' +
                this.endColumn +
                ']'
              )
            }),
            (e.prototype.setEndPosition = function(t, n) {
              return new e(this.startLineNumber, this.startColumn, t, n)
            }),
            (e.prototype.setStartPosition = function(t, n) {
              return new e(t, n, this.endLineNumber, this.endColumn)
            }),
            (e.prototype.collapseToStart = function() {
              return e.collapseToStart(this)
            }),
            (e.collapseToStart = function(t) {
              return new e(
                t.startLineNumber,
                t.startColumn,
                t.startLineNumber,
                t.startColumn
              )
            }),
            (e.fromPositions = function(t, n) {
              return (
                void 0 === n && (n = t),
                new e(t.lineNumber, t.column, n.lineNumber, n.column)
              )
            }),
            (e.lift = function(t) {
              return t
                ? new e(
                    t.startLineNumber,
                    t.startColumn,
                    t.endLineNumber,
                    t.endColumn
                  )
                : null
            }),
            (e.isIRange = function(e) {
              return (
                e &&
                'number' == typeof e.startLineNumber &&
                'number' == typeof e.startColumn &&
                'number' == typeof e.endLineNumber &&
                'number' == typeof e.endColumn
              )
            }),
            (e.areIntersectingOrTouching = function(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)
                )
              )
            }),
            (e.compareRangesUsingStarts = function(e, t) {
              var n = 0 | e.startLineNumber,
                i = 0 | t.startLineNumber
              if (n === i) {
                var o = 0 | e.startColumn,
                  r = 0 | t.startColumn
                if (o === r) {
                  var s = 0 | e.endLineNumber,
                    a = 0 | t.endLineNumber
                  return s === a ? (0 | e.endColumn) - (0 | t.endColumn) : s - a
                }
                return o - r
              }
              return n - i
            }),
            (e.compareRangesUsingEnds = function(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
            }),
            (e.spansMultipleLines = function(e) {
              return e.endLineNumber > e.startLineNumber
            }),
            e
          )
        })()
        t.Range = i
      }),
      define(d[165], h([0, 1, 76, 38, 28, 2, 3]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = {
            followsCaret: !0,
            ignoreCharChanges: !0,
            alwaysRevealFirst: !0
          },
          u = (function(e) {
            function t(n, i) {
              void 0 === i && (i = {})
              var r = e.call(this, [t.Events.UPDATED]) || this
              return (
                (r.editor = n),
                (r.options = o.mixin(i, a, !1)),
                (r.disposed = !1),
                (r.toUnbind = []),
                (r.nextIdx = -1),
                (r.ranges = []),
                (r.ignoreSelectionChange = !1),
                (r.revealFirst = r.options.alwaysRevealFirst),
                r.toUnbind.push(
                  r.editor.onDidDispose(function() {
                    return r.dispose()
                  })
                ),
                r.toUnbind.push(
                  r.editor.onDidUpdateDiff(function() {
                    return r.onDiffUpdated()
                  })
                ),
                r.options.followsCaret &&
                  r.toUnbind.push(
                    r.editor
                      .getModifiedEditor()
                      .onDidChangeCursorPosition(function(e) {
                        r.ignoreSelectionChange || (r.nextIdx = -1)
                      })
                  ),
                r.options.alwaysRevealFirst &&
                  r.toUnbind.push(
                    r.editor.getModifiedEditor().onDidChangeModel(function(e) {
                      r.revealFirst = !0
                    })
                  ),
                r.init(),
                r
              )
            }
            return (
              f(t, e),
              (t.prototype.init = function() {
                this.editor.getLineChanges()
              }),
              (t.prototype.onDiffUpdated = function() {
                this.init(),
                  this.compute(this.editor.getLineChanges()),
                  this.revealFirst &&
                    null !== this.editor.getLineChanges() &&
                    ((this.revealFirst = !1), (this.nextIdx = -1), this.next())
              }),
              (t.prototype.compute = function(e) {
                var n = this
                ;(this.ranges = []),
                  e &&
                    e.forEach(function(e) {
                      !n.options.ignoreCharChanges && e.charChanges
                        ? e.charChanges.forEach(function(e) {
                            n.ranges.push({
                              rhs: !0,
                              range: new r.Range(
                                e.modifiedStartLineNumber,
                                e.modifiedStartColumn,
                                e.modifiedEndLineNumber,
                                e.modifiedEndColumn
                              )
                            })
                          })
                        : n.ranges.push({
                            rhs: !0,
                            range: new r.Range(
                              e.modifiedStartLineNumber,
                              1,
                              e.modifiedStartLineNumber,
                              1
                            )
                          })
                    }),
                  this.ranges.sort(function(e, t) {
                    return e.range
                      .getStartPosition()
                      .isBeforeOrEqual(t.range.getStartPosition())
                      ? -1
                      : t.range
                          .getStartPosition()
                          .isBeforeOrEqual(e.range.getStartPosition())
                        ? 1
                        : 0
                  }),
                  this.emit(t.Events.UPDATED, {})
              }),
              (t.prototype.initIdx = function(e) {
                for (
                  var t = !1,
                    n = this.editor.getPosition(),
                    i = 0,
                    o = this.ranges.length;
                  i < o && !t;
                  i++
                ) {
                  var r = this.ranges[i].range
                  n.isBeforeOrEqual(r.getStartPosition()) &&
                    ((this.nextIdx = i + (e ? 0 : -1)), (t = !0))
                }
                t || (this.nextIdx = e ? 0 : this.ranges.length - 1),
                  this.nextIdx < 0 && (this.nextIdx = this.ranges.length - 1)
              }),
              (t.prototype.move = function(e) {
                if (
                  (n.ok(
                    !this.disposed,
                    'Illegal State - diff navigator has been disposed'
                  ),
                  this.canNavigate())
                ) {
                  ;-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))
                  var t = this.ranges[this.nextIdx]
                  this.ignoreSelectionChange = !0
                  try {
                    var i = t.range.getStartPosition()
                    this.editor.setPosition(i),
                      this.editor.revealPositionInCenter(i)
                  } finally {
                    this.ignoreSelectionChange = !1
                  }
                }
              }),
              (t.prototype.canNavigate = function() {
                return this.ranges && this.ranges.length > 0
              }),
              (t.prototype.next = function() {
                this.move(!0)
              }),
              (t.prototype.previous = function() {
                this.move(!1)
              }),
              (t.prototype.dispose = function() {
                ;(this.toUnbind = s.dispose(this.toUnbind)),
                  (this.ranges = null),
                  (this.disposed = !0),
                  e.prototype.dispose.call(this)
              }),
              t
            )
          })(i.EventEmitter)
        ;(u.Events = { UPDATED: 'navigation.updated' }), (t.DiffNavigator = u)
      }),
      define(d[57], h([0, 1, 2]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e() {}
          return (
            (e.insert = function(e, t) {
              return {
                identifier: null,
                range: new n.Range(
                  e.lineNumber,
                  e.column,
                  e.lineNumber,
                  e.column
                ),
                text: t,
                forceMoveMarkers: !0
              }
            }),
            (e.delete = function(e) {
              return {
                identifier: null,
                range: e,
                text: null,
                forceMoveMarkers: !0
              }
            }),
            (e.replace = function(e, t) {
              return {
                identifier: null,
                range: e,
                text: t,
                forceMoveMarkers: !1
              }
            }),
            (e.replaceMove = function(e, t) {
              return {
                identifier: null,
                range: e,
                text: t,
                forceMoveMarkers: !0
              }
            }),
            e
          )
        })()
        t.EditOperation = i
      }),
      define(d[226], h([0, 1, 9, 57, 2]), function(e, t, n, i, o) {
        'use strict'
        function r(e, t) {
          t.sort(function(e, t) {
            return e.lineNumber === t.lineNumber
              ? e.column - t.column
              : e.lineNumber - t.lineNumber
          })
          for (var r = t.length - 2; r >= 0; r--)
            t[r].lineNumber === t[r + 1].lineNumber && t.splice(r, 1)
          for (
            var s = [], a = 0, u = 0, l = t.length, c = 1, d = e.getLineCount();
            c <= d;
            c++
          ) {
            var h = e.getLineContent(c),
              p = h.length + 1,
              f = 0
            if (
              !(
                u < l &&
                t[u].lineNumber === c &&
                ((f = t[u].column), u++, f === p)
              ) &&
              0 !== h.length
            ) {
              var g = n.lastNonWhitespaceIndex(h),
                m = 0
              if (-1 === g) m = 1
              else {
                if (g === h.length - 1) continue
                m = g + 2
              }
              ;(m = Math.max(f, m)),
                (s[a++] = i.EditOperation.delete(new o.Range(c, m, c, p)))
            }
          }
          return s
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = (function() {
          function e(e) {
            this.selection = e
          }
          return (
            (e.prototype.getEditOperations = function(e, t) {
              for (var n = r(e, []), i = 0, o = n.length; i < o; i++) {
                var s = n[i]
                t.addEditOperation(s.range, s.text)
              }
              this.selectionId = t.trackSelection(this.selection)
            }),
            (e.prototype.computeCursorState = function(e, t) {
              return t.getTrackedSelection(this.selectionId)
            }),
            e
          )
        })()
        ;(t.TrimTrailingWhitespaceCommand = s), (t.trimTrailingWhitespace = r)
      }),
      define(d[22], h([0, 1, 2, 12]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o
        !(function(e) {
          ;(e[(e.LTR = 0)] = 'LTR'), (e[(e.RTL = 1)] = 'RTL')
        })((o = t.SelectionDirection || (t.SelectionDirection = {})))
        var r = (function(e) {
          function t(t, n, i, o) {
            var r = e.call(this, t, n, i, o) || this
            return (
              (r.selectionStartLineNumber = t),
              (r.selectionStartColumn = n),
              (r.positionLineNumber = i),
              (r.positionColumn = o),
              r
            )
          }
          return (
            f(t, e),
            (t.prototype.clone = function() {
              return new t(
                this.selectionStartLineNumber,
                this.selectionStartColumn,
                this.positionLineNumber,
                this.positionColumn
              )
            }),
            (t.prototype.toString = function() {
              return (
                '[' +
                this.selectionStartLineNumber +
                ',' +
                this.selectionStartColumn +
                ' -> ' +
                this.positionLineNumber +
                ',' +
                this.positionColumn +
                ']'
              )
            }),
            (t.prototype.equalsSelection = function(e) {
              return t.selectionsEqual(this, e)
            }),
            (t.selectionsEqual = function(e, t) {
              return (
                e.selectionStartLineNumber === t.selectionStartLineNumber &&
                e.selectionStartColumn === t.selectionStartColumn &&
                e.positionLineNumber === t.positionLineNumber &&
                e.positionColumn === t.positionColumn
              )
            }),
            (t.prototype.getDirection = function() {
              return this.selectionStartLineNumber === this.startLineNumber &&
                this.selectionStartColumn === this.startColumn
                ? o.LTR
                : o.RTL
            }),
            (t.prototype.setEndPosition = function(e, n) {
              return this.getDirection() === o.LTR
                ? new t(this.startLineNumber, this.startColumn, e, n)
                : new t(e, n, this.startLineNumber, this.startColumn)
            }),
            (t.prototype.getPosition = function() {
              return new i.Position(
                this.positionLineNumber,
                this.positionColumn
              )
            }),
            (t.prototype.setStartPosition = function(e, n) {
              return this.getDirection() === o.LTR
                ? new t(e, n, this.endLineNumber, this.endColumn)
                : new t(this.endLineNumber, this.endColumn, e, n)
            }),
            (t.fromPositions = function(e, n) {
              return (
                void 0 === n && (n = e),
                new t(e.lineNumber, e.column, n.lineNumber, n.column)
              )
            }),
            (t.liftSelection = function(e) {
              return new t(
                e.selectionStartLineNumber,
                e.selectionStartColumn,
                e.positionLineNumber,
                e.positionColumn
              )
            }),
            (t.selectionsArrEqual = function(e, t) {
              if ((e && !t) || (!e && t)) return !1
              if (!e && !t) return !0
              if (e.length !== t.length) return !1
              for (var n = 0, i = e.length; n < i; n++)
                if (!this.selectionsEqual(e[n], t[n])) return !1
              return !0
            }),
            (t.isISelection = function(e) {
              return (
                e &&
                'number' == typeof e.selectionStartLineNumber &&
                'number' == typeof e.selectionStartColumn &&
                'number' == typeof e.positionLineNumber &&
                'number' == typeof e.positionColumn
              )
            }),
            (t.createWithDirection = function(e, n, i, r, s) {
              return s === o.LTR ? new t(e, n, i, r) : new t(i, r, e, n)
            }),
            t
          )
        })(n.Range)
        t.Selection = r
      }),
      define(d[74], h([0, 1, 22]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e(e, t, n) {
            void 0 === n && (n = !1),
              (this._range = e),
              (this._text = t),
              (this.insertsAutoWhitespace = n)
          }
          return (
            (e.prototype.getEditOperations = function(e, t) {
              t.addTrackedEditOperation(this._range, this._text)
            }),
            (e.prototype.computeCursorState = function(e, t) {
              var i = t.getInverseEditOperations()[0].range
              return new n.Selection(
                i.endLineNumber,
                i.endColumn,
                i.endLineNumber,
                i.endColumn
              )
            }),
            e
          )
        })()
        t.ReplaceCommand = i
        var o = (function() {
          function e(e, t, n) {
            void 0 === n && (n = !1),
              (this._range = e),
              (this._text = t),
              (this.insertsAutoWhitespace = n)
          }
          return (
            (e.prototype.getEditOperations = function(e, t) {
              t.addTrackedEditOperation(this._range, this._text)
            }),
            (e.prototype.computeCursorState = function(e, t) {
              var i = t.getInverseEditOperations()[0].range
              return new n.Selection(
                i.startLineNumber,
                i.startColumn,
                i.startLineNumber,
                i.startColumn
              )
            }),
            e
          )
        })()
        t.ReplaceCommandWithoutChangingPosition = o
        var r = (function() {
          function e(e, t, n, i, o) {
            void 0 === o && (o = !1),
              (this._range = e),
              (this._text = t),
              (this._columnDeltaOffset = i),
              (this._lineNumberDeltaOffset = n),
              (this.insertsAutoWhitespace = o)
          }
          return (
            (e.prototype.getEditOperations = function(e, t) {
              t.addTrackedEditOperation(this._range, this._text)
            }),
            (e.prototype.computeCursorState = function(e, t) {
              var i = t.getInverseEditOperations()[0].range
              return new n.Selection(
                i.endLineNumber + this._lineNumberDeltaOffset,
                i.endColumn + this._columnDeltaOffset,
                i.endLineNumber + this._lineNumberDeltaOffset,
                i.endColumn + this._columnDeltaOffset
              )
            }),
            e
          )
        })()
        t.ReplaceCommandWithOffsetCursorState = r
        var s = (function() {
          function e(e, t, n) {
            ;(this._range = e), (this._text = t), (this._initialSelection = n)
          }
          return (
            (e.prototype.getEditOperations = function(e, t) {
              t.addEditOperation(this._range, this._text),
                (this._selectionId = t.trackSelection(this._initialSelection))
            }),
            (e.prototype.computeCursorState = function(e, t) {
              return t.getTrackedSelection(this._selectionId)
            }),
            e
          )
        })()
        t.ReplaceCommandThatPreservesSelection = s
      }),
      define(d[223], h([0, 1, 2, 22]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = (function() {
          function e(e, t, n) {
            ;(this._range = e),
              (this._charBeforeSelection = t),
              (this._charAfterSelection = n)
          }
          return (
            (e.prototype.getEditOperations = function(e, t) {
              t.addTrackedEditOperation(
                new n.Range(
                  this._range.startLineNumber,
                  this._range.startColumn,
                  this._range.startLineNumber,
                  this._range.startColumn
                ),
                this._charBeforeSelection
              ),
                t.addTrackedEditOperation(
                  new n.Range(
                    this._range.endLineNumber,
                    this._range.endColumn,
                    this._range.endLineNumber,
                    this._range.endColumn
                  ),
                  this._charAfterSelection
                )
            }),
            (e.prototype.computeCursorState = function(e, t) {
              var n = t.getInverseEditOperations(),
                o = n[0].range,
                r = n[1].range
              return new i.Selection(
                o.endLineNumber,
                o.endColumn,
                r.endLineNumber,
                r.endColumn - this._charAfterSelection.length
              )
            }),
            e
          )
        })()
        t.SurroundSelectionCommand = o
      }),
      define(d[96], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var n = (function() {
          function e(e, t, n) {
            ;(this.offset = 0 | e), (this.type = t), (this.language = n)
          }
          return (
            (e.prototype.toString = function() {
              return '(' + this.offset + ', ' + this.type + ')'
            }),
            e
          )
        })()
        t.Token = n
        var i = (function() {
          return function(e, t) {
            ;(this.tokens = e), (this.endState = t)
          }
        })()
        t.TokenizationResult = i
        var o = (function() {
          return function(e, t) {
            ;(this.tokens = e), (this.endState = t)
          }
        })()
        t.TokenizationResult2 = o
      }),
      define(d[95], h([0, 1]), function(e, t) {
        'use strict'
        function n(e) {
          return e < 0 ? 0 : e > 4294967295 ? 4294967295 : 0 | e
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e(e, t, n) {
            for (var i = new Uint8Array(e * t), o = 0, r = e * t; o < r; o++)
              i[o] = n
            ;(this._data = i), (this._rows = e), (this._cols = t)
          }
          return (
            (e.prototype.get = function(e, t) {
              return this._data[e * this._cols + t]
            }),
            (e.prototype.set = function(e, t, n) {
              this._data[e * this._cols + t] = n
            }),
            e
          )
        })()
        t.Uint8Matrix = i
        !(function(e) {
          ;(e[(e.MAX_SAFE_SMALL_INTEGER = 1073741824)] =
            'MAX_SAFE_SMALL_INTEGER'),
            (e[(e.MIN_SAFE_SMALL_INTEGER = -1073741824)] =
              'MIN_SAFE_SMALL_INTEGER'),
            (e[(e.MAX_UINT_8 = 255)] = 'MAX_UINT_8'),
            (e[(e.MAX_UINT_16 = 65535)] = 'MAX_UINT_16'),
            (e[(e.MAX_UINT_32 = 4294967295)] = 'MAX_UINT_32')
        })(t.Constants || (t.Constants = {})),
          (t.toUint8 = function(e) {
            return e < 0 ? 0 : e > 255 ? 255 : 0 | e
          }),
          (t.toUint32 = n),
          (t.toUint32Array = function(e) {
            for (var t = e.length, i = new Uint32Array(t), o = 0; o < t; o++)
              i[o] = n(e[o])
            return i
          })
      }),
      define(d[82], h([0, 1, 95]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e(t) {
            var i = n.toUint8(t)
            ;(this._defaultValue = i),
              (this._asciiMap = e._createAsciiMap(i)),
              (this._map = new Map())
          }
          return (
            (e._createAsciiMap = function(e) {
              for (var t = new Uint8Array(256), n = 0; n < 256; n++) t[n] = e
              return t
            }),
            (e.prototype.set = function(e, t) {
              var i = n.toUint8(t)
              e >= 0 && e < 256 ? (this._asciiMap[e] = i) : this._map.set(e, i)
            }),
            (e.prototype.get = function(e) {
              return e >= 0 && e < 256
                ? this._asciiMap[e]
                : this._map.get(e) || this._defaultValue
            }),
            e
          )
        })()
        t.CharacterClassifier = i
        var o
        !(function(e) {
          ;(e[(e.False = 0)] = 'False'), (e[(e.True = 1)] = 'True')
        })(o || (o = {}))
        var r = (function() {
          function e() {
            this._actual = new i(0)
          }
          return (
            (e.prototype.add = function(e) {
              this._actual.set(e, 1)
            }),
            (e.prototype.has = function(e) {
              return 1 === this._actual.get(e)
            }),
            e
          )
        })()
        t.CharacterSet = r
      }),
      define(d[90], h([0, 1, 82]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        !(function(e) {
          ;(e[(e.Regular = 0)] = 'Regular'),
            (e[(e.Whitespace = 1)] = 'Whitespace'),
            (e[(e.WordSeparator = 2)] = 'WordSeparator')
        })(t.WordCharacterClass || (t.WordCharacterClass = {}))
        var i = (function(e) {
          function t(t) {
            for (
              var n = e.call(this, 0) || this, i = 0, o = t.length;
              i < o;
              i++
            )
              n.set(t.charCodeAt(i), 2)
            return n.set(32, 1), n.set(9, 1), n
          }
          return f(t, e), t
        })(n.CharacterClassifier)
        ;(t.WordCharacterClassifier = i),
          (t.getMapForWordSeparators = (function(e) {
            var t = {}
            return function(n) {
              return t.hasOwnProperty(n) || (t[n] = e(n)), t[n]
            }
          })(function(e) {
            return new i(e)
          }))
      }),
      define(d[219], h([0, 1, 139, 9]), function(e, t, n, i) {
        'use strict'
        function o(e, t, i) {
          return new n.LcsDiff(e, t, i).ComputeDiff()
        }
        function r(e) {
          if (e.length <= 1) return e
          var t,
            n,
            i,
            o,
            r,
            s = [e[0]],
            u = s[0]
          for (t = 1, n = e.length; t < n; t++)
            (i =
              (r = e[t]).originalStart - (u.originalStart + u.originalLength)),
              (o = r.modifiedStart - (u.modifiedStart + u.modifiedLength)),
              Math.min(i, o) < a
                ? ((u.originalLength =
                    r.originalStart + r.originalLength - u.originalStart),
                  (u.modifiedLength =
                    r.modifiedStart + r.modifiedLength - u.modifiedStart))
                : (s.push(r), (u = r))
          return s
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = 5e3,
          a = 3,
          u = (function() {
            function e(e, t, n) {
              ;(this.buffer = e), (this.startMarkers = t), (this.endMarkers = n)
            }
            return (
              (e.prototype.equals = function(t) {
                if (!(t instanceof e)) return !1
                var n = t
                if (this.getLength() !== n.getLength()) return !1
                for (var i = 0, o = this.getLength(); i < o; i++)
                  if (this.getElementHash(i) !== n.getElementHash(i)) return !1
                return !0
              }),
              (e.prototype.getLength = function() {
                return this.startMarkers.length
              }),
              (e.prototype.getElementHash = function(e) {
                return this.buffer.substring(
                  this.startMarkers[e].offset,
                  this.endMarkers[e].offset
                )
              }),
              (e.prototype.getStartLineNumber = function(e) {
                return e === this.startMarkers.length
                  ? this.startMarkers[e - 1].lineNumber + 1
                  : this.startMarkers[e].lineNumber
              }),
              (e.prototype.getStartColumn = function(e) {
                return this.startMarkers[e].column
              }),
              (e.prototype.getEndLineNumber = function(e) {
                return this.endMarkers[e].lineNumber
              }),
              (e.prototype.getEndColumn = function(e) {
                return this.endMarkers[e].column
              }),
              e
            )
          })(),
          l = (function(e) {
            function t(n, i) {
              var o,
                r,
                s,
                a,
                u,
                l = '',
                c = [],
                d = []
              for (s = 0, o = 0, r = n.length; o < r; o++)
                (l += n[o]),
                  (a = 1),
                  (u = n[o].length + 1),
                  i &&
                    ((a = t._getFirstNonBlankColumn(n[o], 1)),
                    (u = t._getLastNonBlankColumn(n[o], 1))),
                  c.push({ offset: s + a - 1, lineNumber: o + 1, column: a }),
                  d.push({ offset: s + u - 1, lineNumber: o + 1, column: u }),
                  (s += n[o].length)
              return e.call(this, l, c, d) || this
            }
            return (
              f(t, e),
              (t._getFirstNonBlankColumn = function(e, t) {
                var n = i.firstNonWhitespaceIndex(e)
                return -1 === n ? t : n + 1
              }),
              (t._getLastNonBlankColumn = function(e, t) {
                var n = i.lastNonWhitespaceIndex(e)
                return -1 === n ? t : n + 2
              }),
              (t.prototype.getCharSequence = function(e, t) {
                var n,
                  i,
                  o,
                  r,
                  s = [],
                  a = []
                for (n = e; n <= t; n++)
                  for (
                    o = this.startMarkers[n],
                      r = this.endMarkers[n],
                      i = o.offset;
                    i < r.offset;
                    i++
                  )
                    s.push({
                      offset: i,
                      lineNumber: o.lineNumber,
                      column: o.column + (i - o.offset)
                    }),
                      a.push({
                        offset: i + 1,
                        lineNumber: o.lineNumber,
                        column: o.column + (i - o.offset) + 1
                      })
                return new u(this.buffer, s, a)
              }),
              t
            )
          })(u),
          c = (function() {
            return function(e, t, n) {
              0 === e.originalLength
                ? ((this.originalStartLineNumber = 0),
                  (this.originalStartColumn = 0),
                  (this.originalEndLineNumber = 0),
                  (this.originalEndColumn = 0))
                : ((this.originalStartLineNumber = t.getStartLineNumber(
                    e.originalStart
                  )),
                  (this.originalStartColumn = t.getStartColumn(
                    e.originalStart
                  )),
                  (this.originalEndLineNumber = t.getEndLineNumber(
                    e.originalStart + e.originalLength - 1
                  )),
                  (this.originalEndColumn = t.getEndColumn(
                    e.originalStart + e.originalLength - 1
                  ))),
                0 === e.modifiedLength
                  ? ((this.modifiedStartLineNumber = 0),
                    (this.modifiedStartColumn = 0),
                    (this.modifiedEndLineNumber = 0),
                    (this.modifiedEndColumn = 0))
                  : ((this.modifiedStartLineNumber = n.getStartLineNumber(
                      e.modifiedStart
                    )),
                    (this.modifiedStartColumn = n.getStartColumn(
                      e.modifiedStart
                    )),
                    (this.modifiedEndLineNumber = n.getEndLineNumber(
                      e.modifiedStart + e.modifiedLength - 1
                    )),
                    (this.modifiedEndColumn = n.getEndColumn(
                      e.modifiedStart + e.modifiedLength - 1
                    )))
            }
          })(),
          d = (function() {
            return function(e, t, n, i, s) {
              if (
                (0 === e.originalLength
                  ? ((this.originalStartLineNumber =
                      t.getStartLineNumber(e.originalStart) - 1),
                    (this.originalEndLineNumber = 0))
                  : ((this.originalStartLineNumber = t.getStartLineNumber(
                      e.originalStart
                    )),
                    (this.originalEndLineNumber = t.getEndLineNumber(
                      e.originalStart + e.originalLength - 1
                    ))),
                0 === e.modifiedLength
                  ? ((this.modifiedStartLineNumber =
                      n.getStartLineNumber(e.modifiedStart) - 1),
                    (this.modifiedEndLineNumber = 0))
                  : ((this.modifiedStartLineNumber = n.getStartLineNumber(
                      e.modifiedStart
                    )),
                    (this.modifiedEndLineNumber = n.getEndLineNumber(
                      e.modifiedStart + e.modifiedLength - 1
                    ))),
                0 !== e.originalLength && 0 !== e.modifiedLength && i())
              ) {
                var a = t.getCharSequence(
                    e.originalStart,
                    e.originalStart + e.originalLength - 1
                  ),
                  u = n.getCharSequence(
                    e.modifiedStart,
                    e.modifiedStart + e.modifiedLength - 1
                  ),
                  l = o(a, u, i)
                s && (l = r(l)), (this.charChanges = [])
                for (var d = 0, h = l.length; d < h; d++)
                  this.charChanges.push(new c(l[d], a, u))
              }
            }
          })(),
          h = (function() {
            function e(e, t, n) {
              ;(this.shouldPostProcessCharChanges =
                n.shouldPostProcessCharChanges),
                (this.shouldIgnoreTrimWhitespace =
                  n.shouldIgnoreTrimWhitespace),
                (this.maximumRunTimeMs = s),
                (this.original = new l(e, this.shouldIgnoreTrimWhitespace)),
                (this.modified = new l(t, this.shouldIgnoreTrimWhitespace)),
                n.shouldConsiderTrimWhitespaceInEmptyCase &&
                  this.shouldIgnoreTrimWhitespace &&
                  this.original.equals(this.modified) &&
                  ((this.shouldIgnoreTrimWhitespace = !1),
                  (this.original = new l(e, this.shouldIgnoreTrimWhitespace)),
                  (this.modified = new l(t, this.shouldIgnoreTrimWhitespace)))
            }
            return (
              (e.prototype.computeDiff = function() {
                if (
                  1 === this.original.getLength() &&
                  0 === this.original.getElementHash(0).length
                )
                  return [
                    {
                      originalStartLineNumber: 1,
                      originalEndLineNumber: 1,
                      modifiedStartLineNumber: 1,
                      modifiedEndLineNumber: this.modified.getLength(),
                      charChanges: [
                        {
                          modifiedEndColumn: 0,
                          modifiedEndLineNumber: 0,
                          modifiedStartColumn: 0,
                          modifiedStartLineNumber: 0,
                          originalEndColumn: 0,
                          originalEndLineNumber: 0,
                          originalStartColumn: 0,
                          originalStartLineNumber: 0
                        }
                      ]
                    }
                  ]
                if (
                  1 === this.modified.getLength() &&
                  0 === this.modified.getElementHash(0).length
                )
                  return [
                    {
                      originalStartLineNumber: 1,
                      originalEndLineNumber: this.original.getLength(),
                      modifiedStartLineNumber: 1,
                      modifiedEndLineNumber: 1,
                      charChanges: [
                        {
                          modifiedEndColumn: 0,
                          modifiedEndLineNumber: 0,
                          modifiedStartColumn: 0,
                          modifiedStartLineNumber: 0,
                          originalEndColumn: 0,
                          originalEndLineNumber: 0,
                          originalStartColumn: 0,
                          originalStartLineNumber: 0
                        }
                      ]
                    }
                  ]
                this.computationStartTime = new Date().getTime()
                for (
                  var e = o(
                      this.original,
                      this.modified,
                      this._continueProcessingPredicate.bind(this)
                    ),
                    t = [],
                    n = 0,
                    i = e.length;
                  n < i;
                  n++
                )
                  t.push(
                    new d(
                      e[n],
                      this.original,
                      this.modified,
                      this._continueProcessingPredicate.bind(this),
                      this.shouldPostProcessCharChanges
                    )
                  )
                return t
              }),
              (e.prototype._continueProcessingPredicate = function() {
                return (
                  0 === this.maximumRunTimeMs ||
                  new Date().getTime() - this.computationStartTime <
                    this.maximumRunTimeMs
                )
              }),
              e
            )
          })()
        t.DiffComputer = h
      }),
      define(d[176], h([0, 1, 8]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e(e, t, n, i, o, r) {
            ;(this.id = e),
              (this.label = t),
              (this.alias = n),
              (this._precondition = i),
              (this._run = o),
              (this._contextKeyService = r)
          }
          return (
            (e.prototype.isSupported = function() {
              return this._contextKeyService.contextMatchesRules(
                this._precondition
              )
            }),
            (e.prototype.run = function() {
              if (!this.isSupported()) return n.TPromise.as(void 0)
              var e = this._run()
              return e || n.TPromise.as(void 0)
            }),
            e
          )
        })()
        t.InternalEditorAction = i
      }),
      define(d[21], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        !(function(e) {
          ;(e[(e.Left = 1)] = 'Left'),
            (e[(e.Center = 2)] = 'Center'),
            (e[(e.Right = 4)] = 'Right'),
            (e[(e.Full = 7)] = 'Full')
        })(t.OverviewRulerLane || (t.OverviewRulerLane = {}))
        !(function(e) {
          ;(e[(e.TextDefined = 0)] = 'TextDefined'),
            (e[(e.LF = 1)] = 'LF'),
            (e[(e.CRLF = 2)] = 'CRLF')
        })(t.EndOfLinePreference || (t.EndOfLinePreference = {}))
        !(function(e) {
          ;(e[(e.LF = 1)] = 'LF'), (e[(e.CRLF = 2)] = 'CRLF')
        })(t.DefaultEndOfLine || (t.DefaultEndOfLine = {}))
        !(function(e) {
          ;(e[(e.LF = 0)] = 'LF'), (e[(e.CRLF = 1)] = 'CRLF')
        })(t.EndOfLineSequence || (t.EndOfLineSequence = {}))
        var n = (function() {
          function e(e) {
            ;(this.tabSize = 0 | e.tabSize),
              (this.insertSpaces = Boolean(e.insertSpaces)),
              (this.defaultEOL = 0 | e.defaultEOL),
              (this.trimAutoWhitespace = Boolean(e.trimAutoWhitespace))
          }
          return (
            (e.prototype.equals = function(e) {
              return (
                this.tabSize === e.tabSize &&
                this.insertSpaces === e.insertSpaces &&
                this.defaultEOL === e.defaultEOL &&
                this.trimAutoWhitespace === e.trimAutoWhitespace
              )
            }),
            (e.prototype.createChangeEvent = function(e) {
              return {
                tabSize: this.tabSize !== e.tabSize,
                insertSpaces: this.insertSpaces !== e.insertSpaces,
                trimAutoWhitespace:
                  this.trimAutoWhitespace !== e.trimAutoWhitespace
              }
            }),
            e
          )
        })()
        t.TextModelResolvedOptions = n
        var i = (function() {
          return function(e, t) {
            ;(this.range = e), (this.matches = t)
          }
        })()
        t.FindMatch = i
        !(function(e) {
          ;(e[(e.AlwaysGrowsWhenTypingAtEdges = 0)] =
            'AlwaysGrowsWhenTypingAtEdges'),
            (e[(e.NeverGrowsWhenTypingAtEdges = 1)] =
              'NeverGrowsWhenTypingAtEdges'),
            (e[(e.GrowsOnlyWhenTypingBefore = 2)] =
              'GrowsOnlyWhenTypingBefore'),
            (e[(e.GrowsOnlyWhenTypingAfter = 3)] = 'GrowsOnlyWhenTypingAfter')
        })(t.TrackedRangeStickiness || (t.TrackedRangeStickiness = {})),
          (t.isThemeColor = function(e) {
            return e && 'string' == typeof e.id
          }),
          (t.EditorType = {
            ICodeEditor: 'vs.editor.ICodeEditor',
            IDiffEditor: 'vs.editor.IDiffEditor'
          }),
          (t.isCommonCodeEditor = function(e) {
            return (
              !(!e || 'function' != typeof e.getEditorType) &&
              e.getEditorType() === t.EditorType.ICodeEditor
            )
          }),
          (t.isCommonDiffEditor = function(e) {
            return (
              !(!e || 'function' != typeof e.getEditorType) &&
              e.getEditorType() === t.EditorType.IDiffEditor
            )
          }),
          (t.Handler = {
            ExecuteCommand: 'executeCommand',
            ExecuteCommands: 'executeCommands',
            Type: 'type',
            ReplacePreviousChar: 'replacePreviousChar',
            CompositionStart: 'compositionStart',
            CompositionEnd: 'compositionEnd',
            Paste: 'paste',
            Cut: 'cut',
            Undo: 'undo',
            Redo: 'redo'
          })
      }),
      define(d[178], h([0, 1, 2, 21, 9]), function(e, t, n, i, o) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = (function() {
          function e(e, t, n) {
            ;(this.value = e),
              (this.selectionStart = t),
              (this.selectionEnd = n)
          }
          return (
            (e.prototype.equals = function(t) {
              return (
                t instanceof e &&
                (this.value === t.value &&
                  this.selectionStart === t.selectionStart &&
                  this.selectionEnd === t.selectionEnd)
              )
            }),
            (e.prototype.toString = function() {
              return (
                '[ <' +
                this.value +
                '>, selectionStart: ' +
                this.selectionStart +
                ', selectionEnd: ' +
                this.selectionEnd +
                ']'
              )
            }),
            (e.prototype.readFromTextArea = function(t) {
              return new e(
                t.getValue(),
                t.getSelectionStart(),
                t.getSelectionEnd()
              )
            }),
            (e.prototype.collapseSelection = function() {
              return new e(this.value, this.value.length, this.value.length)
            }),
            (e.prototype.writeToTextArea = function(e, t, n) {
              t.setValue(e, this.value),
                n &&
                  t.setSelectionRange(e, this.selectionStart, this.selectionEnd)
            }),
            (e.selectedText = function(t) {
              return new e(t, 0, t.length)
            }),
            (e.deduceInput = function(e, t, n) {
              if (!e) return { text: '', replaceCharCnt: 0 }
              var i = e.value,
                r = e.selectionStart,
                s = e.selectionEnd,
                a = t.value,
                u = t.selectionStart,
                l = t.selectionEnd,
                c = i.substring(s),
                d = a.substring(l),
                h = o.commonSuffixLength(c, d)
              a = a.substring(0, a.length - h)
              var p = (i = i.substring(0, i.length - h)).substring(0, r),
                f = a.substring(0, u),
                g = o.commonPrefixLength(p, f)
              if (
                ((a = a.substring(g)),
                (i = i.substring(g)),
                (u -= g),
                (r -= g),
                (l -= g),
                (s -= g),
                n && u === l && i.length > 0)
              ) {
                var m = null
                if (
                  (u === a.length
                    ? o.startsWith(a, i) && (m = a.substring(i.length))
                    : o.endsWith(a, i) &&
                      (m = a.substring(0, a.length - i.length)),
                  null !== m &&
                    m.length > 0 &&
                    (/\uFE0F/.test(m) || o.containsEmoji(m)))
                )
                  return { text: m, replaceCharCnt: 0 }
              }
              return u === l
                ? i === a &&
                  0 === r &&
                  s === i.length &&
                  u === a.length &&
                  -1 === a.indexOf('\n') &&
                  o.containsFullWidthCharacter(a)
                  ? { text: '', replaceCharCnt: 0 }
                  : { text: a, replaceCharCnt: p.length - g }
                : { text: a, replaceCharCnt: s - r }
            }),
            e
          )
        })()
        ;(r.EMPTY = new r('', 0, 0)), (t.TextAreaState = r)
        var s = (function() {
          function e() {}
          return (
            (e._getPageOfLine = function(t) {
              return Math.floor((t - 1) / e._LINES_PER_PAGE)
            }),
            (e._getRangeForPage = function(t) {
              var i = t * e._LINES_PER_PAGE,
                o = i + 1,
                r = i + e._LINES_PER_PAGE
              return new n.Range(o, 1, r + 1, 1)
            }),
            (e.fromEditorSelection = function(t, o, s) {
              var a = e._getPageOfLine(s.startLineNumber),
                u = e._getRangeForPage(a),
                l = e._getPageOfLine(s.endLineNumber),
                c = e._getRangeForPage(l),
                d = u.intersectRanges(
                  new n.Range(1, 1, s.startLineNumber, s.startColumn)
                ),
                h = o.getValueInRange(d, i.EndOfLinePreference.LF),
                p = o.getLineCount(),
                f = o.getLineMaxColumn(p),
                g = c.intersectRanges(
                  new n.Range(s.endLineNumber, s.endColumn, p, f)
                ),
                m = o.getValueInRange(g, i.EndOfLinePreference.LF),
                v = null
              if (a === l || a + 1 === l)
                v = o.getValueInRange(s, i.EndOfLinePreference.LF)
              else {
                var _ = u.intersectRanges(s),
                  y = c.intersectRanges(s)
                v =
                  o.getValueInRange(_, i.EndOfLinePreference.LF) +
                  String.fromCharCode(8230) +
                  o.getValueInRange(y, i.EndOfLinePreference.LF)
              }
              return (
                h.length > 500 && (h = h.substring(h.length - 500, h.length)),
                m.length > 500 && (m = m.substring(0, 500)),
                v.length > 1e3 &&
                  (v =
                    v.substring(0, 500) +
                    String.fromCharCode(8230) +
                    v.substring(v.length - 500, v.length)),
                new r(h + v + m, h.length, h.length + v.length)
              )
            }),
            e
          )
        })()
        ;(s._LINES_PER_PAGE = 10), (t.PagedScreenReaderStrategy = s)
      }),
      define(d[179], h([0, 1, 18, 9, 11, 3, 178, 30, 15, 6]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.CopyOptions = { forceCopyWithSyntaxHighlighting: !1 })
        var c
        !(function(e) {
          ;(e[(e.Type = 0)] = 'Type'), (e[(e.Paste = 1)] = 'Paste')
        })(c || (c = {}))
        var d = (function(e) {
          function r(t, r) {
            var c = e.call(this) || this
            ;(c._onFocus = c._register(new o.Emitter())),
              (c.onFocus = c._onFocus.event),
              (c._onBlur = c._register(new o.Emitter())),
              (c.onBlur = c._onBlur.event),
              (c._onKeyDown = c._register(new o.Emitter())),
              (c.onKeyDown = c._onKeyDown.event),
              (c._onKeyUp = c._register(new o.Emitter())),
              (c.onKeyUp = c._onKeyUp.event),
              (c._onCut = c._register(new o.Emitter())),
              (c.onCut = c._onCut.event),
              (c._onPaste = c._register(new o.Emitter())),
              (c.onPaste = c._onPaste.event),
              (c._onType = c._register(new o.Emitter())),
              (c.onType = c._onType.event),
              (c._onCompositionStart = c._register(new o.Emitter())),
              (c.onCompositionStart = c._onCompositionStart.event),
              (c._onCompositionUpdate = c._register(new o.Emitter())),
              (c.onCompositionUpdate = c._onCompositionUpdate.event),
              (c._onCompositionEnd = c._register(new o.Emitter())),
              (c.onCompositionEnd = c._onCompositionEnd.event),
              (c._host = t),
              (c._textArea = c._register(new p(r))),
              (c._asyncTriggerCut = c._register(
                new n.RunOnceScheduler(function() {
                  return c._onCut.fire()
                }, 0)
              )),
              (c._textAreaState = s.TextAreaState.EMPTY),
              c.writeScreenReaderContent('ctor'),
              (c._hasFocus = !1),
              (c._isDoingComposition = !1),
              (c._nextCommand = 0),
              c._register(
                l.addStandardDisposableListener(r.domNode, 'keydown', function(
                  e
                ) {
                  c._isDoingComposition && e.equals(109) && e.stopPropagation(),
                    e.equals(9) && e.preventDefault(),
                    c._onKeyDown.fire(e)
                })
              ),
              c._register(
                l.addStandardDisposableListener(r.domNode, 'keyup', function(
                  e
                ) {
                  c._onKeyUp.fire(e)
                })
              ),
              c._register(
                l.addDisposableListener(r.domNode, 'compositionstart', function(
                  e
                ) {
                  c._isDoingComposition ||
                    ((c._isDoingComposition = !0),
                    a.isEdgeOrIE ||
                      c._setAndWriteTextAreaState(
                        'compositionstart',
                        s.TextAreaState.EMPTY
                      ),
                    c._onCompositionStart.fire())
                })
              )
            var d = function(e) {
                var t = c._textAreaState,
                  n = c._textAreaState.readFromTextArea(c._textArea)
                return [n, s.TextAreaState.deduceInput(t, n, e)]
              },
              f = function(e) {
                var t = c._textAreaState,
                  n = s.TextAreaState.selectedText(e)
                return [
                  n,
                  {
                    text: n.value,
                    replaceCharCnt: t.selectionEnd - t.selectionStart
                  }
                ]
              }
            return (
              c._register(
                l.addDisposableListener(
                  r.domNode,
                  'compositionupdate',
                  function(e) {
                    if (!a.isChromev56) {
                      if (a.isEdgeOrIE && 'ja' === e.locale) {
                        var t = d(!1),
                          n = t[0],
                          i = t[1]
                        return (
                          (c._textAreaState = n),
                          c._onType.fire(i),
                          void c._onCompositionUpdate.fire(e)
                        )
                      }
                      var o = f(e.data),
                        r = o[0],
                        s = o[1]
                      ;(c._textAreaState = r),
                        c._onType.fire(s),
                        c._onCompositionUpdate.fire(e)
                    }
                  }
                )
              ),
              c._register(
                l.addDisposableListener(r.domNode, 'compositionend', function(
                  e
                ) {
                  if (a.isEdgeOrIE && 'ja' === e.locale) {
                    var t = d(!1),
                      n = t[0],
                      i = t[1]
                    ;(c._textAreaState = n), c._onType.fire(i)
                  } else {
                    var o = f(e.data),
                      n = o[0],
                      i = o[1]
                    ;(c._textAreaState = n), c._onType.fire(i)
                  }
                  ;(a.isEdgeOrIE || a.isChrome) &&
                    (c._textAreaState = c._textAreaState.readFromTextArea(
                      c._textArea
                    )),
                    c._isDoingComposition &&
                      ((c._isDoingComposition = !1), c._onCompositionEnd.fire())
                })
              ),
              c._register(
                l.addDisposableListener(r.domNode, 'input', function() {
                  if (c._isDoingComposition) {
                    if (a.isChromev56) {
                      var e = f(c._textArea.getValue()),
                        t = e[0],
                        n = e[1]
                      ;(c._textAreaState = t), c._onType.fire(n)
                      var o = { data: n.text }
                      c._onCompositionUpdate.fire(o)
                    }
                  } else {
                    var r = d(u.isMacintosh),
                      s = r[0],
                      l = r[1]
                    ;(0 === l.replaceCharCnt &&
                      1 === l.text.length &&
                      i.isHighSurrogate(l.text.charCodeAt(0))) ||
                      ((c._textAreaState = s),
                      0 === c._nextCommand
                        ? '' !== l.text && c._onType.fire(l)
                        : ('' !== l.text && c._onPaste.fire({ text: l.text }),
                          (c._nextCommand = 0)))
                  }
                })
              ),
              c._register(
                l.addDisposableListener(r.domNode, 'cut', function(e) {
                  c._ensureClipboardGetsEditorSelection(e),
                    c._asyncTriggerCut.schedule()
                })
              ),
              c._register(
                l.addDisposableListener(r.domNode, 'copy', function(e) {
                  c._ensureClipboardGetsEditorSelection(e)
                })
              ),
              c._register(
                l.addDisposableListener(r.domNode, 'paste', function(e) {
                  if (h.canUseTextData(e)) {
                    var t = h.getTextData(e)
                    '' !== t && c._onPaste.fire({ text: t })
                  } else c._textArea.getSelectionStart() !== c._textArea.getSelectionEnd() && c._setAndWriteTextAreaState('paste', s.TextAreaState.EMPTY), (c._nextCommand = 1)
                })
              ),
              c._register(
                l.addDisposableListener(r.domNode, 'focus', function() {
                  return c._setHasFocus(!0)
                })
              ),
              c._register(
                l.addDisposableListener(r.domNode, 'blur', function() {
                  return c._setHasFocus(!1)
                })
              ),
              c
            )
          }
          return (
            f(r, e),
            (r.prototype.dispose = function() {
              e.prototype.dispose.call(this)
            }),
            (r.prototype.focusTextArea = function() {
              this._setHasFocus(!0)
            }),
            (r.prototype.isFocused = function() {
              return this._hasFocus
            }),
            (r.prototype._setHasFocus = function(e) {
              this._hasFocus !== e &&
                ((this._hasFocus = e),
                this._hasFocus &&
                  (a.isEdge
                    ? this._setAndWriteTextAreaState(
                        'focusgain',
                        s.TextAreaState.EMPTY
                      )
                    : this.writeScreenReaderContent('focusgain')),
                this._hasFocus ? this._onFocus.fire() : this._onBlur.fire())
            }),
            (r.prototype._setAndWriteTextAreaState = function(e, t) {
              this._hasFocus || (t = t.collapseSelection()),
                t.writeToTextArea(e, this._textArea, this._hasFocus),
                (this._textAreaState = t)
            }),
            (r.prototype.writeScreenReaderContent = function(e) {
              this._isDoingComposition ||
                this._setAndWriteTextAreaState(
                  e,
                  this._host.getScreenReaderContent(this._textAreaState)
                )
            }),
            (r.prototype._ensureClipboardGetsEditorSelection = function(e) {
              var n = this._host.getPlainTextToCopy()
              if (h.canUseTextData(e)) {
                var i = null
                !a.isEdgeOrIE &&
                  (n.length < 65536 ||
                    t.CopyOptions.forceCopyWithSyntaxHighlighting) &&
                  (i = this._host.getHTMLToCopy()),
                  h.setTextData(e, n, i)
              } else
                this._setAndWriteTextAreaState(
                  'copy or cut',
                  s.TextAreaState.selectedText(n)
                )
            }),
            r
          )
        })(r.Disposable)
        t.TextAreaInput = d
        var h = (function() {
            function e() {}
            return (
              (e.canUseTextData = function(e) {
                return !!e.clipboardData || !!window.clipboardData
              }),
              (e.getTextData = function(e) {
                if (e.clipboardData)
                  return (
                    e.preventDefault(), e.clipboardData.getData('text/plain')
                  )
                if (window.clipboardData)
                  return (
                    e.preventDefault(), window.clipboardData.getData('Text')
                  )
                throw new Error(
                  'ClipboardEventUtils.getTextData: Cannot use text data!'
                )
              }),
              (e.setTextData = function(e, t, n) {
                if (e.clipboardData)
                  return (
                    e.clipboardData.setData('text/plain', t),
                    null !== n && e.clipboardData.setData('text/html', 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!'
                )
              }),
              e
            )
          })(),
          p = (function(e) {
            function t(t) {
              var n = e.call(this) || this
              return (n._actual = t), n
            }
            return (
              f(t, e),
              (t.prototype.getValue = function() {
                return this._actual.domNode.value
              }),
              (t.prototype.setValue = function(e, t) {
                var n = this._actual.domNode
                n.value !== t && (n.value = t)
              }),
              (t.prototype.getSelectionStart = function() {
                return this._actual.domNode.selectionStart
              }),
              (t.prototype.getSelectionEnd = function() {
                return this._actual.domNode.selectionEnd
              }),
              (t.prototype.setSelectionRange = function(e, t, n) {
                var i = this._actual.domNode,
                  o = document.activeElement === i,
                  r = i.selectionStart,
                  s = i.selectionEnd
                if (!o || r !== t || s !== n)
                  if (o) i.setSelectionRange(t, n)
                  else
                    try {
                      var a = l.saveParentsScrollTop(i)
                      i.focus(),
                        i.setSelectionRange(t, n),
                        l.restoreParentsScrollTop(i, a)
                    } catch (e) {}
              }),
              t
            )
          })(r.Disposable)
      }),
      define(d[218], h([0, 1, 10]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e(e) {
            ;(this.model = e),
              (this.currentOpenStackElement = null),
              (this.past = []),
              (this.future = [])
          }
          return (
            (e.prototype.pushStackElement = function() {
              null !== this.currentOpenStackElement &&
                (this.past.push(this.currentOpenStackElement),
                (this.currentOpenStackElement = null))
            }),
            (e.prototype.clear = function() {
              ;(this.currentOpenStackElement = null),
                (this.past = []),
                (this.future = [])
            }),
            (e.prototype.pushEditOperation = function(e, t, i) {
              ;(this.future = []),
                this.currentOpenStackElement ||
                  (this.currentOpenStackElement = {
                    beforeVersionId: this.model.getAlternativeVersionId(),
                    beforeCursorState: e,
                    editOperations: [],
                    afterCursorState: null,
                    afterVersionId: -1
                  })
              var o = { operations: this.model.applyEdits(t) }
              this.currentOpenStackElement.editOperations.push(o)
              try {
                this.currentOpenStackElement.afterCursorState = i
                  ? i(o.operations)
                  : null
              } catch (e) {
                n.onUnexpectedError(e),
                  (this.currentOpenStackElement.afterCursorState = null)
              }
              return (
                (this.currentOpenStackElement.afterVersionId = this.model.getVersionId()),
                this.currentOpenStackElement.afterCursorState
              )
            }),
            (e.prototype.undo = function() {
              if ((this.pushStackElement(), this.past.length > 0)) {
                var e = this.past.pop()
                try {
                  for (var t = e.editOperations.length - 1; t >= 0; t--)
                    e.editOperations[t] = {
                      operations: this.model.applyEdits(
                        e.editOperations[t].operations
                      )
                    }
                } catch (e) {
                  return this.clear(), null
                }
                return (
                  this.future.push(e),
                  {
                    selections: e.beforeCursorState,
                    recordedVersionId: e.beforeVersionId
                  }
                )
              }
              return null
            }),
            (e.prototype.redo = function() {
              if (this.future.length > 0) {
                if (this.currentOpenStackElement)
                  throw new Error('How is this possible?')
                var e = this.future.pop()
                try {
                  for (var t = 0; t < e.editOperations.length; t++)
                    e.editOperations[t] = {
                      operations: this.model.applyEdits(
                        e.editOperations[t].operations
                      )
                    }
                } catch (e) {
                  return this.clear(), null
                }
                return (
                  this.past.push(e),
                  {
                    selections: e.afterCursorState,
                    recordedVersionId: e.afterVersionId
                  }
                )
              }
              return null
            }),
            e
          )
        })()
        t.EditStack = i
      }),
      define(d[217], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var n = (function() {
          function e(e, t, n) {
            ;(this.startLineNumber = e),
              (this.endLineNumber = t),
              (this.indent = n)
          }
          return (
            (e.deepCloneArr = function(t) {
              for (var n = [], i = 0, o = t.length; i < o; i++) {
                var r = t[i]
                n[i] = new e(r.startLineNumber, r.endLineNumber, r.indent)
              }
              return n
            }),
            e
          )
        })()
        ;(t.IndentRange = n),
          (t.computeRanges = function(e, t) {
            void 0 === t && (t = 1)
            var i = [],
              o = []
            o.push({ indent: -1, line: e.getLineCount() + 1 })
            for (var r = e.getLineCount(); r > 0; r--) {
              var s = e.getIndentLevel(r)
              if (-1 !== s) {
                var a = o[o.length - 1]
                if (a.indent > s) {
                  do {
                    o.pop(), (a = o[o.length - 1])
                  } while (a.indent > s)
                  var u = a.line - 1
                  u - r >= t && i.push(new n(r, u, s))
                }
                a.indent === s ? (a.line = r) : o.push({ indent: s, line: r })
              }
            }
            return i.reverse()
          })
      }),
      define(d[212], h([0, 1]), function(e, t) {
        'use strict'
        function n(e, t, n, i) {
          var o
          for (
            o = 0;
            o < t && o < i && (u = e.charCodeAt(o)) === (d = n.charCodeAt(o));
            o++
          );
          for (var r = 0, s = 0, a = o; a < t; a++) {
            var u = e.charCodeAt(a)
            32 === u ? r++ : s++
          }
          for (var l = 0, c = 0, a = o; a < i; a++) {
            var d = n.charCodeAt(a)
            32 === d ? l++ : c++
          }
          if (r > 0 && s > 0) return 0
          if (l > 0 && c > 0) return 0
          var h = Math.abs(s - c),
            p = Math.abs(r - l)
          return 0 === h ? p : p % h == 0 ? p / h : 0
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.guessIndentation = function(e, t, i) {
            for (
              var o = 0,
                r = 0,
                s = '',
                a = 0,
                u = [2, 4, 6, 8],
                l = [0, 0, 0, 0, 0, 0, 0, 0, 0],
                c = 0,
                d = e.length;
              c < d;
              c++
            ) {
              for (
                var h = e[c], p = !1, f = 0, g = 0, m = 0, v = 0, _ = h.length;
                v < _;
                v++
              ) {
                var y = h.charCodeAt(v)
                if (9 === y) m++
                else {
                  if (32 !== y) {
                    ;(p = !0), (f = v)
                    break
                  }
                  g++
                }
              }
              if (p) {
                m > 0 ? o++ : g > 1 && r++
                var b = n(s, a, h, f)
                b <= 8 && l[b]++, (s = h), (a = f)
              }
            }
            var C = n(s, a, '', 0)
            C <= 8 && l[C]++
            var w = i
            o !== r && (w = o < r)
            var S = t,
              E = w ? 0 : 0.1 * e.length
            return (
              u.forEach(function(e) {
                var t = l[e]
                t > E && ((E = t), (S = e))
              }),
              { insertSpaces: w, tabSize: S }
            )
          })
      }),
      define(d[52], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.TextModelEventType = {
            ModelDispose: 'modelDispose',
            ModelTokensChanged: 'modelTokensChanged',
            ModelLanguageChanged: 'modelLanguageChanged',
            ModelOptionsChanged: 'modelOptionsChanged',
            ModelContentChanged: 'contentChanged',
            ModelRawContentChanged2: 'rawContentChanged2',
            ModelDecorationsChanged: 'decorationsChanged'
          })
        !(function(e) {
          ;(e[(e.Flush = 1)] = 'Flush'),
            (e[(e.LineChanged = 2)] = 'LineChanged'),
            (e[(e.LinesDeleted = 3)] = 'LinesDeleted'),
            (e[(e.LinesInserted = 4)] = 'LinesInserted'),
            (e[(e.EOLChanged = 5)] = 'EOLChanged')
        })(t.RawContentChangedType || (t.RawContentChangedType = {}))
        var n = (function() {
          return function() {
            this.changeType = 1
          }
        })()
        t.ModelRawFlush = n
        var i = (function() {
          return function(e, t) {
            ;(this.changeType = 2), (this.lineNumber = e), (this.detail = t)
          }
        })()
        t.ModelRawLineChanged = i
        var o = (function() {
          return function(e, t) {
            ;(this.changeType = 3),
              (this.fromLineNumber = e),
              (this.toLineNumber = t)
          }
        })()
        t.ModelRawLinesDeleted = o
        var r = (function() {
          return function(e, t, n) {
            ;(this.changeType = 4),
              (this.fromLineNumber = e),
              (this.toLineNumber = t),
              (this.detail = n)
          }
        })()
        t.ModelRawLinesInserted = r
        var s = (function() {
          return function() {
            this.changeType = 5
          }
        })()
        t.ModelRawEOLChanged = s
        var a = (function() {
          function e(e, t, n, i) {
            ;(this.changes = e),
              (this.versionId = t),
              (this.isUndoing = n),
              (this.isRedoing = i)
          }
          return (
            (e.prototype.containsEvent = function(e) {
              for (var t = 0, n = this.changes.length; t < n; t++)
                if (this.changes[t].changeType === e) return !0
              return !1
            }),
            e
          )
        })()
        t.ModelRawContentChangedEvent = a
      }),
      define(d[184], h([0, 1, 9, 12, 2, 21, 90]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        function a(e, t, n) {
          if (!n) return new r.FindMatch(e, null)
          for (var i = [], o = 0, s = t.length; o < s; o++) i[o] = t[o]
          return new r.FindMatch(e, i)
        }
        function u(e, t, n, i, o) {
          if (0 === i) return !0
          var r = t.charCodeAt(i - 1)
          if (0 !== e.get(r)) return !0
          if (o > 0) {
            var s = t.charCodeAt(i)
            if (0 !== e.get(s)) return !0
          }
          return !1
        }
        function l(e, t, n, i, o) {
          if (i + o === n) return !0
          var r = t.charCodeAt(i + o)
          if (0 !== e.get(r)) return !0
          if (o > 0) {
            var s = t.charCodeAt(i + o - 1)
            if (0 !== e.get(s)) return !0
          }
          return !1
        }
        function c(e, t, n, i, o) {
          return u(e, t, n, i, o) && l(e, t, n, i, o)
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var d = (function() {
          function e(e, t, n, i) {
            ;(this.searchString = e),
              (this.isRegex = t),
              (this.matchCase = n),
              (this.wordSeparators = i)
          }
          return (
            (e._isMultilineRegexSource = function(e) {
              if (!e || 0 === e.length) return !1
              for (var t = 0, n = e.length; t < n; t++)
                if (92 === e.charCodeAt(t)) {
                  if (++t >= n) break
                  var i = e.charCodeAt(t)
                  if (110 === i || 114 === i) return !0
                }
              return !1
            }),
            (e.prototype.parseSearchRequest = function() {
              if ('' === this.searchString) return null
              var t
              t = this.isRegex
                ? e._isMultilineRegexSource(this.searchString)
                : this.searchString.indexOf('\n') >= 0
              var i = null
              try {
                i = n.createRegExp(this.searchString, this.isRegex, {
                  matchCase: this.matchCase,
                  wholeWord: !1,
                  multiline: t,
                  global: !0
                })
              } catch (e) {
                return null
              }
              if (!i) return null
              var o = !this.isRegex && !t
              return (
                o &&
                  this.searchString.toLowerCase() !==
                    this.searchString.toUpperCase() &&
                  (o = this.matchCase),
                new h(
                  i,
                  this.wordSeparators
                    ? s.getMapForWordSeparators(this.wordSeparators)
                    : null,
                  o ? this.searchString : null
                )
              )
            }),
            e
          )
        })()
        t.SearchParams = d
        var h = (function() {
          return function(e, t, n) {
            ;(this.regex = e),
              (this.wordSeparators = t),
              (this.simpleSearch = n)
          }
        })()
        t.SearchData = h
        var p = (function() {
          function e() {}
          return (
            (e.findMatches = function(e, t, n, i, o) {
              var r = t.parseSearchRequest()
              return r
                ? r.regex.multiline
                  ? this._doFindMatchesMultiline(
                      e,
                      n,
                      new f(r.wordSeparators, r.regex),
                      i,
                      o
                    )
                  : this._doFindMatchesLineByLine(e, n, r, i, o)
                : []
            }),
            (e._getMultilineMatchRange = function(e, t, n, i, r) {
              var s
              if ('\r\n' === e.getEOL()) {
                for (var a = 0, u = 0; u < i; u++)
                  10 === (h = n.charCodeAt(u)) && a++
                s = t + i + a
              } else s = t + i
              var l
              if ('\r\n' === e.getEOL()) {
                for (var c = 0, u = 0, d = r.length; u < d; u++) {
                  var h = n.charCodeAt(u + i)
                  10 === h && c++
                }
                l = s + r.length + c
              } else l = s + r.length
              var p = e.getPositionAt(s),
                f = e.getPositionAt(l)
              return new o.Range(p.lineNumber, p.column, f.lineNumber, f.column)
            }),
            (e._doFindMatchesMultiline = function(e, t, n, i, o) {
              var s,
                u = e.getOffsetAt(t.getStartPosition()),
                l = e.getValueInRange(t, r.EndOfLinePreference.LF),
                c = [],
                d = 0
              for (n.reset(0); (s = n.next(l)); )
                if (
                  ((c[d++] = a(
                    this._getMultilineMatchRange(e, u, l, s.index, s[0]),
                    s,
                    i
                  )),
                  d >= o)
                )
                  return c
              return c
            }),
            (e._doFindMatchesLineByLine = function(e, t, n, i, o) {
              var r = [],
                s = 0
              if (t.startLineNumber === t.endLineNumber) {
                var a = e
                  .getLineContent(t.startLineNumber)
                  .substring(t.startColumn - 1, t.endColumn - 1)
                return (
                  (s = this._findMatchesInLine(
                    n,
                    a,
                    t.startLineNumber,
                    t.startColumn - 1,
                    s,
                    r,
                    i,
                    o
                  )),
                  r
                )
              }
              var u = e
                .getLineContent(t.startLineNumber)
                .substring(t.startColumn - 1)
              s = this._findMatchesInLine(
                n,
                u,
                t.startLineNumber,
                t.startColumn - 1,
                s,
                r,
                i,
                o
              )
              for (
                var l = t.startLineNumber + 1;
                l < t.endLineNumber && s < o;
                l++
              )
                s = this._findMatchesInLine(
                  n,
                  e.getLineContent(l),
                  l,
                  0,
                  s,
                  r,
                  i,
                  o
                )
              if (s < o) {
                var c = e
                  .getLineContent(t.endLineNumber)
                  .substring(0, t.endColumn - 1)
                s = this._findMatchesInLine(
                  n,
                  c,
                  t.endLineNumber,
                  0,
                  s,
                  r,
                  i,
                  o
                )
              }
              return r
            }),
            (e._findMatchesInLine = function(e, t, n, i, s, u, l, d) {
              var h = e.wordSeparators
              if (!l && e.simpleSearch) {
                for (
                  var p = e.simpleSearch, g = p.length, m = t.length, v = -g;
                  -1 !== (v = t.indexOf(p, v + g));

                )
                  if (
                    (!h || c(h, t, m, v, g)) &&
                    ((u[s++] = new r.FindMatch(
                      new o.Range(n, v + 1 + i, n, v + 1 + g + i),
                      null
                    )),
                    s >= d)
                  )
                    return s
                return s
              }
              var _,
                y = new f(e.wordSeparators, e.regex)
              y.reset(0)
              do {
                if (
                  (_ = y.next(t)) &&
                  ((u[s++] = a(
                    new o.Range(
                      n,
                      _.index + 1 + i,
                      n,
                      _.index + 1 + _[0].length + i
                    ),
                    _,
                    l
                  )),
                  s >= d)
                )
                  return s
              } while (_)
              return s
            }),
            (e.findNextMatch = function(e, t, n, i) {
              var o = t.parseSearchRequest()
              if (!o) return null
              var r = new f(o.wordSeparators, o.regex)
              return o.regex.multiline
                ? this._doFindNextMatchMultiline(e, n, r, i)
                : this._doFindNextMatchLineByLine(e, n, r, i)
            }),
            (e._doFindNextMatchMultiline = function(e, t, n, s) {
              var u = new i.Position(t.lineNumber, 1),
                l = e.getOffsetAt(u),
                c = e.getLineCount(),
                d = e.getValueInRange(
                  new o.Range(u.lineNumber, u.column, c, e.getLineMaxColumn(c)),
                  r.EndOfLinePreference.LF
                )
              n.reset(t.column - 1)
              var h = n.next(d)
              return h
                ? a(this._getMultilineMatchRange(e, l, d, h.index, h[0]), h, s)
                : 1 !== t.lineNumber || 1 !== t.column
                  ? this._doFindNextMatchMultiline(
                      e,
                      new i.Position(1, 1),
                      n,
                      s
                    )
                  : null
            }),
            (e._doFindNextMatchLineByLine = function(e, t, n, i) {
              var o = e.getLineCount(),
                r = t.lineNumber,
                s = e.getLineContent(r),
                a = this._findFirstMatchInLine(n, s, r, t.column, i)
              if (a) return a
              for (var u = 1; u <= o; u++) {
                var l = (r + u - 1) % o,
                  c = e.getLineContent(l + 1),
                  d = this._findFirstMatchInLine(n, c, l + 1, 1, i)
                if (d) return d
              }
              return null
            }),
            (e._findFirstMatchInLine = function(e, t, n, i, r) {
              e.reset(i - 1)
              var s = e.next(t)
              return s
                ? a(
                    new o.Range(n, s.index + 1, n, s.index + 1 + s[0].length),
                    s,
                    r
                  )
                : null
            }),
            (e.findPreviousMatch = function(e, t, n, i) {
              var o = t.parseSearchRequest()
              if (!o) return null
              var r = new f(o.wordSeparators, o.regex)
              return o.regex.multiline
                ? this._doFindPreviousMatchMultiline(e, n, r, i)
                : this._doFindPreviousMatchLineByLine(e, n, r, i)
            }),
            (e._doFindPreviousMatchMultiline = function(e, t, n, r) {
              var s = this._doFindMatchesMultiline(
                e,
                new o.Range(1, 1, t.lineNumber, t.column),
                n,
                r,
                9990
              )
              if (s.length > 0) return s[s.length - 1]
              var a = e.getLineCount()
              return t.lineNumber !== a || t.column !== e.getLineMaxColumn(a)
                ? this._doFindPreviousMatchMultiline(
                    e,
                    new i.Position(a, e.getLineMaxColumn(a)),
                    n,
                    r
                  )
                : null
            }),
            (e._doFindPreviousMatchLineByLine = function(e, t, n, i) {
              var o = e.getLineCount(),
                r = t.lineNumber,
                s = e.getLineContent(r).substring(0, t.column - 1),
                a = this._findLastMatchInLine(n, s, r, i)
              if (a) return a
              for (var u = 1; u <= o; u++) {
                var l = (o + r - u - 1) % o,
                  c = e.getLineContent(l + 1),
                  d = this._findLastMatchInLine(n, c, l + 1, i)
                if (d) return d
              }
              return null
            }),
            (e._findLastMatchInLine = function(e, t, n, i) {
              var r,
                s = null
              for (e.reset(0); (r = e.next(t)); )
                s = a(
                  new o.Range(n, r.index + 1, n, r.index + 1 + r[0].length),
                  r,
                  i
                )
              return s
            }),
            e
          )
        })()
        t.TextModelSearch = p
        var f = (function() {
          function e(e, t) {
            ;(this._wordSeparators = e),
              (this._searchRegex = t),
              (this._prevMatchStartIndex = -1),
              (this._prevMatchLength = 0)
          }
          return (
            (e.prototype.reset = function(e) {
              ;(this._searchRegex.lastIndex = e),
                (this._prevMatchStartIndex = -1),
                (this._prevMatchLength = 0)
            }),
            (e.prototype.next = function(e) {
              var t,
                n = e.length
              do {
                if (this._prevMatchStartIndex + this._prevMatchLength === n)
                  return null
                if (!(t = this._searchRegex.exec(e))) return null
                var i = t.index,
                  o = t[0].length
                if (
                  i === this._prevMatchStartIndex &&
                  o === this._prevMatchLength
                )
                  return null
                if (
                  ((this._prevMatchStartIndex = i),
                  (this._prevMatchLength = o),
                  !this._wordSeparators || c(this._wordSeparators, e, n, i, o))
                )
                  return t
              } while (t)
              return null
            }),
            e
          )
        })()
      }),
      define(d[104], h([0, 1, 9, 21]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = (function() {
          function e() {}
          return (
            (e.fromString = function(e) {
              for (var t = 0, i = -1; -1 !== (i = e.indexOf('\r', i + 1)); ) t++
              var o = n.containsRTL(e),
                r = !o && n.isBasicASCII(e),
                s = e.split(/\r\n|\r|\n/),
                a = ''
              return (
                n.startsWithUTF8BOM(s[0]) &&
                  ((a = n.UTF8_BOM_CHARACTER), (s[0] = s[0].substr(1))),
                {
                  BOM: a,
                  lines: s,
                  length: e.length,
                  containsRTL: o,
                  isBasicASCII: r,
                  totalCRCount: t
                }
              )
            }),
            e
          )
        })()
        t.RawTextSource = o
        var r = (function() {
          function e() {}
          return (
            (e._getEOL = function(e, t) {
              var n = e.lines.length - 1
              return 0 === n
                ? t === i.DefaultEndOfLine.LF
                  ? '\n'
                  : '\r\n'
                : e.totalCRCount > n / 2
                  ? '\r\n'
                  : '\n'
            }),
            (e.fromRawTextSource = function(e, t) {
              return {
                length: e.length,
                lines: e.lines,
                BOM: e.BOM,
                EOL: this._getEOL(e, t),
                containsRTL: e.containsRTL,
                isBasicASCII: e.isBasicASCII
              }
            }),
            (e.fromString = function(e, t) {
              return this.fromRawTextSource(o.fromString(e), t)
            }),
            (e.create = function(e, t) {
              return 'string' == typeof e
                ? this.fromString(e, t)
                : this.fromRawTextSource(e, t)
            }),
            e
          )
        })()
        t.TextSource = r
      }),
      define(d[131], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var n = (function() {
          function e() {}
          return (
            (e.getLanguageId = function(e) {
              return (255 & e) >>> 0
            }),
            (e.getTokenType = function(e) {
              return (1792 & e) >>> 8
            }),
            (e.getFontStyle = function(e) {
              return (14336 & e) >>> 11
            }),
            (e.getForeground = function(e) {
              return (8372224 & e) >>> 14
            }),
            (e.getBackground = function(e) {
              return (4286578688 & e) >>> 23
            }),
            (e.getClassNameFromMetadata = function(e) {
              var t = 'mtk' + this.getForeground(e),
                n = this.getFontStyle(e)
              return (
                1 & n && (t += ' mtki'),
                2 & n && (t += ' mtkb'),
                4 & n && (t += ' mtku'),
                t
              )
            }),
            (e.getInlineStyleFromMetadata = function(e, t) {
              var n = this.getForeground(e),
                i = this.getFontStyle(e),
                o = 'color: ' + t[n] + ';'
              return (
                1 & i && (o += 'font-style: italic;'),
                2 & i && (o += 'font-weight: bold;'),
                4 & i && (o += 'text-decoration: underline;'),
                o
              )
            }),
            e
          )
        })()
        t.TokenMetadata = n
      }),
      define(d[79], h([0, 1, 131]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e(e, t) {
            ;(this.endIndex = e), (this._metadata = t)
          }
          return (
            (e.prototype.getForeground = function() {
              return n.TokenMetadata.getForeground(this._metadata)
            }),
            (e.prototype.getType = function() {
              return n.TokenMetadata.getClassNameFromMetadata(this._metadata)
            }),
            (e.prototype.getInlineStyle = function(e) {
              return n.TokenMetadata.getInlineStyleFromMetadata(
                this._metadata,
                e
              )
            }),
            (e._equals = function(e, t) {
              return e.endIndex === t.endIndex && e._metadata === t._metadata
            }),
            (e.equalsArr = function(e, t) {
              var n = e.length
              if (n !== t.length) return !1
              for (var i = 0; i < n; i++)
                if (!this._equals(e[i], t[i])) return !1
              return !0
            }),
            e
          )
        })()
        t.ViewLineToken = i
        var o = (function() {
          function e() {}
          return (
            (e.inflateArr = function(e, t) {
              for (var n = [], o = 0, r = e.length >>> 1; o < r; o++) {
                var s = o + 1 < r ? e[(o + 1) << 1] : t,
                  a = e[1 + (o << 1)]
                n[o] = new i(s, a)
              }
              return n
            }),
            (e.sliceAndInflate = function(e, t, n, o, r) {
              for (
                var s = n - t + o,
                  a = [],
                  u = 0,
                  l = this.findIndexInSegmentsArray(e, t),
                  c = e.length >>> 1;
                l < c && !(e[l << 1] >= n);
                l++
              ) {
                var d = l + 1 < c ? e[(l + 1) << 1] : r,
                  h = Math.min(s, d - t + o),
                  p = e[1 + (l << 1)]
                a[u++] = new i(h, p)
              }
              return a
            }),
            (e.findIndexInSegmentsArray = function(e, t) {
              for (var n = 0, i = (e.length >>> 1) - 1; n < i; ) {
                var o = n + Math.ceil((i - n) / 2)
                e[o << 1] > t ? (i = o - 1) : (n = o)
              }
              return n
            }),
            e
          )
        })()
        t.ViewLineTokenFactory = o
      }),
      define(d[133], h([0, 1, 131, 79]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = (function() {
          function e(e, t, n, i, o, r) {
            ;(this._source = e),
              (this._tokenIndex = t),
              (this._metadata = r),
              (this.startOffset = i),
              (this.endOffset = o),
              (this.hasPrev = this._tokenIndex > 0),
              (this.hasNext = this._tokenIndex + 1 < n)
          }
          return (
            Object.defineProperty(e.prototype, 'languageId', {
              get: function() {
                return n.TokenMetadata.getLanguageId(this._metadata)
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'tokenType', {
              get: function() {
                return n.TokenMetadata.getTokenType(this._metadata)
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'fontStyle', {
              get: function() {
                return n.TokenMetadata.getFontStyle(this._metadata)
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'foregroundId', {
              get: function() {
                return n.TokenMetadata.getForeground(this._metadata)
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'backgroundId', {
              get: function() {
                return n.TokenMetadata.getBackground(this._metadata)
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.prev = function() {
              return this.hasPrev
                ? this._source.tokenAt(this._tokenIndex - 1)
                : null
            }),
            (e.prototype.next = function() {
              return this.hasNext
                ? this._source.tokenAt(this._tokenIndex + 1)
                : null
            }),
            e
          )
        })()
        t.LineToken = o
        var r = (function() {
          function e(e, t) {
            ;(this._tokens = e),
              (this._tokensCount = this._tokens.length >>> 1),
              (this._text = t),
              (this._textLength = this._text.length)
          }
          return (
            (e.prototype.getTokenCount = function() {
              return this._tokensCount
            }),
            (e.prototype.getLineContent = function() {
              return this._text
            }),
            (e.prototype.getLineLength = function() {
              return this._textLength
            }),
            (e.prototype.getTokenStartOffset = function(e) {
              return this._tokens[e << 1]
            }),
            (e.prototype.getLanguageId = function(e) {
              var t = this._tokens[1 + (e << 1)]
              return n.TokenMetadata.getLanguageId(t)
            }),
            (e.prototype.getStandardTokenType = function(e) {
              var t = this._tokens[1 + (e << 1)]
              return n.TokenMetadata.getTokenType(t)
            }),
            (e.prototype.getTokenEndOffset = function(e) {
              return e + 1 < this._tokensCount
                ? this._tokens[(e + 1) << 1]
                : this._textLength
            }),
            (e.prototype.findTokenIndexAtOffset = function(e) {
              return i.ViewLineTokenFactory.findIndexInSegmentsArray(
                this._tokens,
                e
              )
            }),
            (e.prototype.findTokenAtOffset = function(e) {
              var t = this.findTokenIndexAtOffset(e)
              return this.tokenAt(t)
            }),
            (e.prototype.tokenAt = function(e) {
              var t,
                n = this._tokens[e << 1]
              t =
                e + 1 < this._tokensCount
                  ? this._tokens[(e + 1) << 1]
                  : this._textLength
              var i = this._tokens[1 + (e << 1)]
              return new o(this, e, this._tokensCount, n, t, i)
            }),
            (e.prototype.firstToken = function() {
              return 0 === this._textLength ? null : this.tokenAt(0)
            }),
            (e.prototype.lastToken = function() {
              return 0 === this._textLength
                ? null
                : this.tokenAt(this._tokensCount - 1)
            }),
            (e.prototype.inflate = function() {
              return i.ViewLineTokenFactory.inflateArr(
                this._tokens,
                this._textLength
              )
            }),
            (e.prototype.sliceAndInflate = function(e, t, n) {
              return i.ViewLineTokenFactory.sliceAndInflate(
                this._tokens,
                e,
                t,
                n,
                this._textLength
              )
            }),
            e
          )
        })()
        t.LineTokens = r
      }),
      define(d[102], h([0, 1, 133, 12]), function(e, t, n, i) {
        'use strict'
        function o(e, t) {
          for (var n = 0, i = 0, o = e.length; i < o; ) {
            var r = e.charCodeAt(i)
            if (32 === r) n++
            else {
              if (9 !== r) break
              n = n - (n % t) + t
            }
            i++
          }
          return i === o ? 0 : n + 1
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = (function() {
          function e(e, t, n, i) {
            ;(this.id = e),
              (this.internalDecorationId = t),
              (this.position = n),
              (this.stickToPreviousCharacter = i)
          }
          return (
            (e.prototype.toString = function() {
              return (
                "{'" +
                this.id +
                "';" +
                this.position.toString() +
                ',' +
                this.stickToPreviousCharacter +
                '}'
              )
            }),
            (e.prototype.updateLineNumber = function(e, t) {
              this.position.lineNumber !== t &&
                (e.addChangedMarker(this),
                (this.position = new i.Position(t, this.position.column)))
            }),
            (e.prototype.updateColumn = function(e, t) {
              this.position.column !== t &&
                (e.addChangedMarker(this),
                (this.position = new i.Position(this.position.lineNumber, t)))
            }),
            (e.prototype.updatePosition = function(e, t) {
              ;(this.position.lineNumber === t.lineNumber &&
                this.position.column === t.column) ||
                (e.addChangedMarker(this), (this.position = t))
            }),
            (e.prototype.setPosition = function(e) {
              this.position = e
            }),
            (e.compareMarkers = function(e, t) {
              return e.position.column === t.position.column
                ? (e.stickToPreviousCharacter ? 0 : 1) -
                    (t.stickToPreviousCharacter ? 0 : 1)
                : e.position.column - t.position.column
            }),
            e
          )
        })()
        t.LineMarker = r
        var s = (function() {
          function e() {
            ;(this._changedDecorations = []), (this._changedDecorationsLen = 0)
          }
          return (
            (e.prototype.addChangedMarker = function(e) {
              var t = e.internalDecorationId
              0 !== t &&
                (this._changedDecorations[this._changedDecorationsLen++] = t)
            }),
            (e.prototype.getDecorationIds = function() {
              return this._changedDecorations
            }),
            e
          )
        })()
        t.MarkersTracker = s
        var a,
          u = { adjust: function() {}, finish: function() {} },
          l = {
            adjustDelta: function() {},
            adjustSet: function() {},
            finish: function() {}
          }
        !(function(e) {
          ;(e[(e.MarkerDefined = 0)] = 'MarkerDefined'),
            (e[(e.ForceMove = 1)] = 'ForceMove'),
            (e[(e.ForceStay = 2)] = 'ForceStay')
        })(a || (a = {}))
        var c = (function() {
          function e(e, t, n) {
            ;(this._lineNumber = 0 | e),
              (this._metadata = 0),
              this._setText(t, n),
              (this._state = null),
              (this._lineTokens = null),
              (this._markers = null)
          }
          return (
            Object.defineProperty(e.prototype, 'lineNumber', {
              get: function() {
                return this._lineNumber
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'text', {
              get: function() {
                return this._text
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'isInvalid', {
              get: function() {
                return !!(1 & this._metadata)
              },
              set: function(e) {
                this._metadata = (4294967294 & this._metadata) | (e ? 1 : 0)
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.getIndentLevel = function() {
              return ((4294967294 & this._metadata) >> 1) - 1
            }),
            (e.prototype._setPlusOneIndentLevel = function(e) {
              this._metadata = (1 & this._metadata) | ((4026531839 & e) << 1)
            }),
            (e.prototype.updateTabSize = function(e) {
              0 === e
                ? (this._metadata = 1 & this._metadata)
                : this._setPlusOneIndentLevel(o(this._text, e))
            }),
            (e.prototype.resetTokenizationState = function() {
              ;(this._state = null), (this._lineTokens = null)
            }),
            (e.prototype.setState = function(e) {
              this._state = e
            }),
            (e.prototype.getState = function() {
              return this._state || null
            }),
            (e._getDefaultMetadata = function(e) {
              return (16384 | (e << 0) | (2 << 23)) >>> 0
            }),
            (e.prototype.setTokens = function(t, n) {
              n &&
              0 !== n.length &&
              (2 !== n.length ||
                0 !== n[0] ||
                n[1] !== e._getDefaultMetadata(t))
                ? (this._lineTokens = n.buffer)
                : (this._lineTokens = null)
            }),
            (e.prototype.getTokens = function(t) {
              var i = this._lineTokens
              if (i) return new n.LineTokens(new Uint32Array(i), this._text)
              var o = new Uint32Array(2)
              return (
                (o[0] = 0),
                (o[1] = e._getDefaultMetadata(t)),
                new n.LineTokens(o, this._text)
              )
            }),
            (e.prototype._createTokensAdjuster = function() {
              var e = this
              if (!this._lineTokens) return u
              var t = new Uint32Array(this._lineTokens),
                n = t.length >>> 1,
                i = 0,
                o = 0,
                r = 0,
                s = function(e, s, a) {
                  for (var u = a - 1; o < e && i < n; ) {
                    if (o > 0 && 0 !== s) {
                      var l = Math.max(u, o + s)
                      if (((t[i << 1] = l), s < 0))
                        for (var c = i; c > 0; ) {
                          var d = t[(c - 1) << 1]
                          if (!(d >= l)) break
                          4294967295 !== d &&
                            ((t[(c - 1) << 1] = 4294967295), r++),
                            c--
                        }
                    }
                    ++i < n && (o = t[i << 1])
                  }
                }
              return {
                adjust: s,
                finish: function(t, n) {
                  s(1073741824, t, 1),
                    e._deleteMarkedTokens(
                      e._markOverflowingTokensForDeletion(r, n)
                    )
                }
              }
            }),
            (e.prototype._markOverflowingTokensForDeletion = function(e, t) {
              if (!this._lineTokens) return e
              var n = new Uint32Array(this._lineTokens),
                i = n.length >>> 1
              if (e + 1 === i) return e
              for (var o = i - 1; o > 0; o--) {
                var r = n[o << 1]
                if (r < t) return e
                if (
                  4294967295 !== r &&
                  ((n[o << 1] = 4294967295), ++e + 1 === i)
                )
                  return e
              }
              return e
            }),
            (e.prototype._deleteMarkedTokens = function(e) {
              if (0 !== e) {
                for (
                  var t = new Uint32Array(this._lineTokens),
                    n = t.length >>> 1,
                    i = new Uint32Array((n - e) << 1),
                    o = 0,
                    r = 0;
                  r < n;
                  r++
                ) {
                  var s = t[r << 1]
                  if (4294967295 !== s) {
                    var a = t[1 + (r << 1)]
                    ;(i[o++] = s), (i[o++] = a)
                  }
                }
                this._lineTokens = i.buffer
              }
            }),
            (e.prototype._setText = function(e, t) {
              ;(this._text = e),
                0 === t
                  ? (this._metadata = 1 & this._metadata)
                  : this._setPlusOneIndentLevel(o(e, t))
            }),
            (e.prototype._createMarkersAdjuster = function(e) {
              if (!this._markers) return l
              if (0 === this._markers.length) return l
              this._markers.sort(r.compareMarkers)
              var t = this._markers,
                n = t.length,
                i = 0,
                o = t[i],
                s = function(e, t) {
                  return (
                    o.position.column < e ||
                    (!(o.position.column > e) &&
                      (1 !== t && (2 === t || o.stickToPreviousCharacter)))
                  )
                },
                a = function(r, a, u, l) {
                  for (; i < n && s(r, l); ) {
                    if (0 !== a) {
                      var c = Math.max(u, o.position.column + a)
                      o.updateColumn(e, c)
                    }
                    ++i < n && (o = t[i])
                  }
                }
              return {
                adjustDelta: a,
                adjustSet: function(r, a, u) {
                  for (; i < n && s(r, u); )
                    o.updateColumn(e, a), ++i < n && (o = t[i])
                },
                finish: function(e, t) {
                  a(1073741824, e, 1, 0)
                }
              }
            }),
            (e.prototype.applyEdits = function(e, t, n) {
              for (
                var i = 0,
                  o = this._text,
                  r = this._createTokensAdjuster(),
                  s = this._createMarkersAdjuster(e),
                  a = 0,
                  u = t.length;
                a < u;
                a++
              ) {
                var l = t[a],
                  c = i + l.startColumn,
                  d = i + l.endColumn,
                  h = d - c,
                  p = l.text.length
                r.adjust(l.startColumn - 1, i, 1),
                  s.adjustDelta(
                    l.startColumn,
                    i,
                    1,
                    l.forceMoveMarkers ? 1 : h > 0 ? 2 : 0
                  )
                var f = Math.min(h, p)
                f > 0 &&
                  (r.adjust(l.startColumn - 1 + f, i, c),
                  l.forceMoveMarkers ||
                    s.adjustDelta(
                      l.startColumn + f,
                      i,
                      c,
                      l.forceMoveMarkers ? 1 : h > p ? 2 : 0
                    )),
                  (o = o.substring(0, c - 1) + l.text + o.substring(d - 1)),
                  (i += p - h),
                  r.adjust(l.endColumn, i, c),
                  s.adjustSet(l.endColumn, c + p, l.forceMoveMarkers ? 1 : 0)
              }
              return (
                r.finish(i, o.length),
                s.finish(i, o.length),
                this._setText(o, n),
                i
              )
            }),
            (e.prototype.split = function(t, n, i, o) {
              var s = this._text.substring(0, n - 1),
                a = this._text.substring(n - 1),
                u = null
              if (this._markers) {
                this._markers.sort(r.compareMarkers)
                for (var l = 0, c = this._markers.length; l < c; l++)
                  if (
                    (h = this._markers[l]).position.column > n ||
                    (h.position.column === n &&
                      (i || !h.stickToPreviousCharacter))
                  ) {
                    var d = this._markers.slice(0, l)
                    ;(u = this._markers.slice(l)), (this._markers = d)
                    break
                  }
                if (u)
                  for (var l = 0, c = u.length; l < c; l++) {
                    var h = u[l]
                    h.updateColumn(t, h.position.column - (n - 1))
                  }
              }
              this._setText(s, o),
                this._deleteMarkedTokens(
                  this._markOverflowingTokensForDeletion(0, this._text.length)
                )
              var p = new e(this._lineNumber + 1, a, o)
              return u && p.addMarkers(u), p
            }),
            (e.prototype.append = function(e, t, n) {
              var o = this._text.length
              this._setText(this._text + t._text, n)
              var r = t._lineTokens
              if (r) {
                var s = new Uint32Array(r)
                if (o > 0)
                  for (var a = 0, u = s.length >>> 1; a < u; a++)
                    s[a << 1] = s[a << 1] + o
                var l = this._lineTokens
                if (l) {
                  var c = new Uint32Array(l),
                    d = new Uint32Array(c.length + s.length)
                  d.set(c, 0), d.set(s, c.length), (this._lineTokens = d.buffer)
                } else this._lineTokens = s.buffer
              }
              if (t._markers) {
                for (var h = t._markers, a = 0, u = h.length; a < u; a++) {
                  var p = h[a]
                  p.updatePosition(
                    e,
                    new i.Position(this._lineNumber, p.position.column + o)
                  )
                }
                this.addMarkers(h)
              }
            }),
            (e.prototype.addMarker = function(e) {
              this._markers ? this._markers.push(e) : (this._markers = [e])
            }),
            (e.prototype.addMarkers = function(e) {
              0 !== e.length &&
                (this._markers
                  ? (this._markers = this._markers.concat(e))
                  : (this._markers = e.slice(0)))
            }),
            (e.prototype.removeMarker = function(e) {
              if (this._markers) {
                var t = this._indexOfMarkerId(e.id)
                t < 0 ||
                  (1 === this._markers.length
                    ? (this._markers = null)
                    : this._markers.splice(t, 1))
              }
            }),
            (e.prototype.removeMarkers = function(e) {
              if (this._markers) {
                for (var t = 0, n = this._markers.length; t < n; t++)
                  e[this._markers[t].id] &&
                    (this._markers.splice(t, 1), n--, t--)
                0 === this._markers.length && (this._markers = null)
              }
            }),
            (e.prototype.getMarkers = function() {
              return this._markers ? this._markers : null
            }),
            (e.prototype.updateLineNumber = function(e, t) {
              if (this._lineNumber !== t) {
                if (this._markers)
                  for (var n = this._markers, i = 0, o = n.length; i < o; i++)
                    n[i].updateLineNumber(e, t)
                this._lineNumber = t
              }
            }),
            (e.prototype._indexOfMarkerId = function(e) {
              for (var t = this._markers, n = 0, i = t.length; n < i; n++)
                if (t[n].id === e) return n
            }),
            e
          )
        })()
        t.ModelLine = c
      }),
      define(d[100], h([0, 1]), function(e, t) {
        'use strict'
        function n(e, t, n, o) {
          if (t.test(' ')) return i(e, t, n, o)
          var r = e - 1 - o,
            s = n.lastIndexOf(' ', r - 1) + 1,
            a = n.indexOf(' ', r)
          ;-1 === a && (a = n.length), (t.lastIndex = s)
          for (var u; (u = t.exec(n)); )
            if (u.index <= r && t.lastIndex >= r)
              return {
                word: u[0],
                startColumn: o + 1 + u.index,
                endColumn: o + 1 + t.lastIndex
              }
          return null
        }
        function i(e, t, n, i) {
          var o = e - 1 - i
          t.lastIndex = 0
          for (var r; (r = t.exec(n)); ) {
            if (r.index > o) return null
            if (t.lastIndex >= o)
              return {
                word: r[0],
                startColumn: i + 1 + r.index,
                endColumn: i + 1 + t.lastIndex
              }
          }
          return null
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.USUAL_WORD_SEPARATORS = '`~!@#$%^&*()-=+[{]}\\|;:\'",.<>/?'),
          (t.DEFAULT_WORD_REGEXP = (function(e) {
            void 0 === e && (e = '')
            for (
              var n = t.USUAL_WORD_SEPARATORS,
                i = '(-?\\d*\\.\\d\\w*)|([^',
                o = 0;
              o < n.length;
              o++
            )
              e.indexOf(n[o]) >= 0 || (i += '\\' + n[o])
            return (i += '\\s]+)'), new RegExp(i, 'g')
          })()),
          (t.ensureValidWordDefinition = function(e) {
            var n = t.DEFAULT_WORD_REGEXP
            if (e && e instanceof RegExp)
              if (e.global) n = e
              else {
                var i = 'g'
                e.ignoreCase && (i += 'i'),
                  e.multiline && (i += 'm'),
                  (n = new RegExp(e.source, i))
              }
            return (n.lastIndex = 0), n
          }),
          (t.getWordAtText = function(e, t, i, o) {
            var r = n(e, t, i, o)
            return (t.lastIndex = 0), r
          })
      }),
      define(d[211], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var n = (function() {
          function e(e) {
            this._languageIdentifier = e
          }
          return (
            (e.prototype.getId = function() {
              return this._languageIdentifier.language
            }),
            (e.prototype.getLanguageIdentifier = function() {
              return this._languageIdentifier
            }),
            e
          )
        })()
        t.FrankensteinMode = n
      }),
      define(d[58], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        !(function(e) {
          ;(e[(e.None = 0)] = 'None'),
            (e[(e.Indent = 1)] = 'Indent'),
            (e[(e.IndentOutdent = 2)] = 'IndentOutdent'),
            (e[(e.Outdent = 3)] = 'Outdent')
        })(t.IndentAction || (t.IndentAction = {}))
        var n = (function() {
          function e(e) {
            if (
              ((this.open = e.open),
              (this.close = e.close),
              (this._standardTokenMask = 0),
              Array.isArray(e.notIn))
            )
              for (var t = 0, n = e.notIn.length; t < n; t++)
                switch (e.notIn[t]) {
                  case 'string':
                    this._standardTokenMask |= 2
                    break
                  case 'comment':
                    this._standardTokenMask |= 1
                    break
                  case 'regex':
                    this._standardTokenMask |= 4
                }
          }
          return (
            (e.prototype.isOK = function(e) {
              return 0 == (this._standardTokenMask & e)
            }),
            e
          )
        })()
        t.StandardAutoClosingPairConditional = n
      }),
      define(d[210], h([0, 1, 167]), function(e, t, n) {
        'use strict'
        function i(e, t, o) {
          if (Array.isArray(e)) {
            for (var r = 0, s = 0, a = e; s < a.length; s++) {
              var u = i(a[s], t, o)
              if (10 === u) return u
              u > r && (r = u)
            }
            return r
          }
          if ('string' == typeof e) return '*' === e ? 5 : e === o ? 10 : 0
          if (e) {
            var l = e.language,
              c = e.pattern,
              d = e.scheme,
              r = 0
            if (d)
              if (d === t.scheme) r = 10
              else {
                if ('*' !== d) return 0
                r = 5
              }
            if (l)
              if (l === o) r = 10
              else {
                if ('*' !== l) return 0
                r = Math.max(r, 5)
              }
            if (c) {
              if (c !== t.fsPath && !n.match(c, t.fsPath)) return 0
              r = 10
            }
            return r
          }
          return 0
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.default = function(e, t, n) {
            return i(e, t, n) > 0
          }),
          (t.score = i)
      }),
      define(d[208], h([0, 1, 11, 210]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = (function() {
          function e() {
            ;(this._clock = 0),
              (this._entries = []),
              (this._onDidChange = new n.Emitter())
          }
          return (
            Object.defineProperty(e.prototype, 'onDidChange', {
              get: function() {
                return this._onDidChange.event
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.register = function(e, t) {
              var n = this,
                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),
                {
                  dispose: function() {
                    if (i) {
                      var e = n._entries.indexOf(i)
                      e >= 0 &&
                        (n._entries.splice(e, 1),
                        (n._lastCandidate = void 0),
                        n._onDidChange.fire(n._entries.length),
                        (i = void 0))
                    }
                  }
                }
              )
            }),
            (e.prototype.has = function(e) {
              return this.all(e).length > 0
            }),
            (e.prototype.all = function(e) {
              if (!e || e.isTooLargeForHavingARichMode()) return []
              this._updateScores(e)
              for (var t = [], n = 0, i = this._entries; n < i.length; n++) {
                var o = i[n]
                o._score > 0 && t.push(o.provider)
              }
              return t
            }),
            (e.prototype.ordered = function(e) {
              var t = []
              return (
                this._orderedForEach(e, function(e) {
                  return t.push(e.provider)
                }),
                t
              )
            }),
            (e.prototype.orderedGroups = function(e) {
              var t,
                n,
                i = []
              return (
                this._orderedForEach(e, function(e) {
                  t && n === e._score
                    ? t.push(e.provider)
                    : ((n = e._score), (t = [e.provider]), i.push(t))
                }),
                i
              )
            }),
            (e.prototype._orderedForEach = function(e, t) {
              if (e && !e.isTooLargeForHavingARichMode()) {
                this._updateScores(e)
                for (var n = 0; n < this._entries.length; n++) {
                  var i = this._entries[n]
                  i._score > 0 && t(i)
                }
              }
            }),
            (e.prototype._updateScores = function(t) {
              var n = {
                uri: t.uri.toString(),
                language: t.getLanguageIdentifier().language
              }
              if (
                !this._lastCandidate ||
                this._lastCandidate.language !== n.language ||
                this._lastCandidate.uri !== n.uri
              ) {
                this._lastCandidate = n
                for (var o = 0, r = this._entries; o < r.length; o++) {
                  var s = r[o]
                  s._score = i.score(
                    s.selector,
                    t.uri,
                    t.getLanguageIdentifier().language
                  )
                }
                this._entries.sort(e._compareByScoreAndTime)
              }
            }),
            (e._compareByScoreAndTime = function(e, t) {
              return e._score < t._score
                ? 1
                : e._score > t._score
                  ? -1
                  : e._time < t._time
                    ? 1
                    : e._time > t._time
                      ? -1
                      : 0
            }),
            e
          )
        })()
        t.default = o
      }),
      define(d[207], h([0, 1, 82, 95]), function(e, t, n, i) {
        'use strict'
        function o() {
          return (
            null === l &&
              (l = new u([
                [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]
              ])),
            l
          )
        }
        function r() {
          if (null === c) {
            c = new n.CharacterClassifier(0)
            for (
              e = 0;
              e <
              ' \t<>\'"、。｡､，．：；？！＠＃＄％＆＊‘“〈《「『【〔（［｛｢｣｝］）〕】』」》〉”’｀～…'
                .length;
              e++
            )
              c.set(
                ' \t<>\'"、。｡､，．：；？！＠＃＄％＆＊‘“〈《「『【〔（［｛｢｣｝］）〕】』」》〉”’｀～…'.charCodeAt(
                  e
                ),
                1
              )
            for (var e = 0; e < '.,;'.length; e++) c.set('.,;'.charCodeAt(e), 2)
          }
          return c
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s
        !(function(e) {
          ;(e[(e.Invalid = 0)] = 'Invalid'),
            (e[(e.Start = 1)] = 'Start'),
            (e[(e.H = 2)] = 'H'),
            (e[(e.HT = 3)] = 'HT'),
            (e[(e.HTT = 4)] = 'HTT'),
            (e[(e.HTTP = 5)] = 'HTTP'),
            (e[(e.F = 6)] = 'F'),
            (e[(e.FI = 7)] = 'FI'),
            (e[(e.FIL = 8)] = 'FIL'),
            (e[(e.BeforeColon = 9)] = 'BeforeColon'),
            (e[(e.AfterColon = 10)] = 'AfterColon'),
            (e[(e.AlmostThere = 11)] = 'AlmostThere'),
            (e[(e.End = 12)] = 'End'),
            (e[(e.Accept = 13)] = 'Accept')
        })(s || (s = {}))
        var a,
          u = (function() {
            function e(e) {
              for (var t = 0, n = 0, o = 0, r = e.length; o < r; o++) {
                var s = e[o],
                  a = s[0],
                  u = s[1],
                  l = s[2]
                u > t && (t = u), a > n && (n = a), l > n && (n = l)
              }
              t++, n++
              for (
                var c = new i.Uint8Matrix(n, t, 0), o = 0, r = e.length;
                o < r;
                o++
              ) {
                var d = e[o],
                  a = d[0],
                  u = d[1],
                  l = d[2]
                c.set(a, u, l)
              }
              ;(this._states = c), (this._maxCharCode = t)
            }
            return (
              (e.prototype.nextState = function(e, t) {
                return t < 0 || t >= this._maxCharCode
                  ? 0
                  : this._states.get(e, t)
              }),
              e
            )
          })(),
          l = null
        !(function(e) {
          ;(e[(e.None = 0)] = 'None'),
            (e[(e.ForceTermination = 1)] = 'ForceTermination'),
            (e[(e.CannotEndIn = 2)] = 'CannotEndIn')
        })(a || (a = {}))
        var c = null,
          d = (function() {
            function e() {}
            return (
              (e._createLink = function(e, t, n, i, o) {
                var r = o - 1
                do {
                  var s = t.charCodeAt(r)
                  if (2 !== e.get(s)) break
                  r--
                } while (r > i)
                return {
                  range: {
                    startLineNumber: n,
                    startColumn: i + 1,
                    endLineNumber: n,
                    endColumn: r + 2
                  },
                  url: t.substring(i, r + 1)
                }
              }),
              (e.computeLinks = function(t) {
                for (
                  var n = o(), i = r(), s = [], a = 1, u = t.getLineCount();
                  a <= u;
                  a++
                ) {
                  for (
                    var l = t.getLineContent(a),
                      c = l.length,
                      d = 0,
                      h = 0,
                      p = 0,
                      f = 1,
                      g = !1,
                      m = !1,
                      v = !1;
                    d < c;

                  ) {
                    var _ = !1,
                      y = l.charCodeAt(d)
                    if (13 === f) {
                      var b = void 0
                      switch (y) {
                        case 40:
                          ;(g = !0), (b = 0)
                          break
                        case 41:
                          b = g ? 0 : 1
                          break
                        case 91:
                          ;(m = !0), (b = 0)
                          break
                        case 93:
                          b = m ? 0 : 1
                          break
                        case 123:
                          ;(v = !0), (b = 0)
                          break
                        case 125:
                          b = v ? 0 : 1
                          break
                        case 39:
                          b = 34 === p || 96 === p ? 0 : 1
                          break
                        case 34:
                          b = 39 === p || 96 === p ? 0 : 1
                          break
                        case 96:
                          b = 39 === p || 34 === p ? 0 : 1
                          break
                        default:
                          b = i.get(y)
                      }
                      1 === b &&
                        (s.push(e._createLink(i, l, a, h, d)), (_ = !0))
                    } else
                      12 === f
                        ? 1 === (b = i.get(y))
                          ? (_ = !0)
                          : (f = 13)
                        : 0 === (f = n.nextState(f, y)) && (_ = !0)
                    _ &&
                      ((f = 1),
                      (g = !1),
                      (m = !1),
                      (v = !1),
                      (h = d + 1),
                      (p = y)),
                      d++
                  }
                  13 === f && s.push(e._createLink(i, l, a, h, c))
                }
                return s
              }),
              e
            )
          })()
        t.computeLinks = function(e) {
          return e &&
            'function' == typeof e.getLineCount &&
            'function' == typeof e.getLineContent
            ? d.computeLinks(e)
            : []
        }
      }),
      define(d[205], h([0, 1, 58]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e(e) {
            e.autoClosingPairs
              ? (this._autoClosingPairs = e.autoClosingPairs.map(function(e) {
                  return new n.StandardAutoClosingPairConditional(e)
                }))
              : e.brackets
                ? (this._autoClosingPairs = e.brackets.map(function(e) {
                    return new n.StandardAutoClosingPairConditional({
                      open: e[0],
                      close: e[1]
                    })
                  }))
                : (this._autoClosingPairs = []),
              (this._surroundingPairs =
                e.surroundingPairs || this._autoClosingPairs)
          }
          return (
            (e.prototype.getAutoClosingPairs = function() {
              return this._autoClosingPairs
            }),
            (e.prototype.shouldAutoClosePair = function(e, t, n) {
              if (0 === t.getTokenCount()) return !0
              for (
                var i = t.findTokenIndexAtOffset(n - 2),
                  o = t.getStandardTokenType(i),
                  r = 0;
                r < this._autoClosingPairs.length;
                ++r
              ) {
                var s = this._autoClosingPairs[r]
                if (s.open === e) return s.isOK(o)
              }
              return !0
            }),
            (e.prototype.getSurroundingPairs = function() {
              return this._surroundingPairs
            }),
            e
          )
        })()
        t.CharacterPairSupport = i
      }),
      define(d[204], h([0, 1, 9, 58]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        !(function(e) {
          ;(e[(e.INCREASE_MASK = 1)] = 'INCREASE_MASK'),
            (e[(e.DECREASE_MASK = 2)] = 'DECREASE_MASK'),
            (e[(e.INDENT_NEXTLINE_MASK = 4)] = 'INDENT_NEXTLINE_MASK'),
            (e[(e.UNINDENT_MASK = 8)] = 'UNINDENT_MASK')
        })(t.IndentConsts || (t.IndentConsts = {}))
        var o = (function() {
          function e(e) {
            this._indentationRules = e
          }
          return (
            (e.prototype.onType = function(e) {
              if (this._indentationRules) {
                if (
                  this._indentationRules.unIndentedLinePattern &&
                  this._indentationRules.unIndentedLinePattern.test(e)
                )
                  return null
                if (
                  this._indentationRules.decreaseIndentPattern &&
                  this._indentationRules.decreaseIndentPattern.test(e)
                )
                  return i.IndentAction.Outdent
              }
              return null
            }),
            (e.prototype.containNonWhitespace = function(e) {
              return n.lastNonWhitespaceIndex(e) >= 0
            }),
            (e.prototype.shouldIncrease = function(e) {
              return !!(
                this._indentationRules &&
                this._indentationRules.increaseIndentPattern &&
                this._indentationRules.increaseIndentPattern.test(e)
              )
            }),
            (e.prototype.shouldDecrease = function(e) {
              return !!(
                this._indentationRules &&
                this._indentationRules.decreaseIndentPattern &&
                this._indentationRules.decreaseIndentPattern.test(e)
              )
            }),
            (e.prototype.shouldIndentNextLine = function(e) {
              return !!(
                this._indentationRules &&
                this._indentationRules.indentNextLinePattern &&
                this._indentationRules.indentNextLinePattern.test(e)
              )
            }),
            (e.prototype.shouldIgnore = function(e) {
              return !!(
                this._indentationRules &&
                this._indentationRules.unIndentedLinePattern &&
                this._indentationRules.unIndentedLinePattern.test(e)
              )
            }),
            (e.prototype.getIndentMetadata = function(e) {
              var t = 0
              return (
                this.shouldIncrease(e) && (t += 1),
                this.shouldDecrease(e) && (t += 2),
                this.shouldIndentNextLine(e) && (t += 4),
                this.shouldIgnore(e) && (t += 8),
                t
              )
            }),
            e
          )
        })()
        t.IndentRulesSupport = o
      }),
      define(d[203], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var n = (function() {
          function e() {
            this._defaultValueSet = [
              ['true', 'false'],
              ['True', 'False'],
              [
                'Private',
                'Public',
                'Friend',
                'ReadOnly',
                'Partial',
                'Protected',
                'WriteOnly'
              ],
              ['public', 'protected', 'private']
            ]
          }
          return (
            (e.prototype.navigateValueSet = function(e, t, n, i, o) {
              if (e && t && (r = this.doNavigateValueSet(t, o)))
                return { range: e, value: r }
              if (n && i) {
                var r = this.doNavigateValueSet(i, o)
                if (r) return { range: n, value: r }
              }
              return null
            }),
            (e.prototype.doNavigateValueSet = function(e, t) {
              var n = this.numberReplace(e, t)
              return null !== n ? n : this.textReplace(e, t)
            }),
            (e.prototype.numberReplace = function(e, t) {
              var n = Math.pow(10, e.length - (e.lastIndexOf('.') + 1)),
                i = Number(e),
                o = parseFloat(e)
              return isNaN(i) || isNaN(o) || i !== o
                ? null
                : 0 !== i || t
                  ? ((i = Math.floor(i * n)), (i += t ? n : -n), String(i / n))
                  : null
            }),
            (e.prototype.textReplace = function(e, t) {
              return this.valueSetsReplace(this._defaultValueSet, e, t)
            }),
            (e.prototype.valueSetsReplace = function(e, t, n) {
              for (var i = null, o = 0, r = e.length; null === i && o < r; o++)
                i = this.valueSetReplace(e[o], t, n)
              return i
            }),
            (e.prototype.valueSetReplace = function(e, t, n) {
              var i = e.indexOf(t)
              return i >= 0
                ? ((i += n ? 1 : -1),
                  i < 0 ? (i = e.length - 1) : (i %= e.length),
                  e[i])
                : null
            }),
            e
          )
        })()
        ;(n.INSTANCE = new n()), (t.BasicInplaceReplace = n)
      }),
      define(d[201], h([0, 1, 10, 9, 58]), function(e, t, n, i, o) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = (function() {
          function e(t) {
            ;((t = t || {}).brackets = t.brackets || [
              ['(', ')'],
              ['{', '}'],
              ['[', ']']
            ]),
              (this._brackets = t.brackets.map(function(t) {
                return {
                  open: t[0],
                  openRegExp: e._createOpenBracketRegExp(t[0]),
                  close: t[1],
                  closeRegExp: e._createCloseBracketRegExp(t[1])
                }
              })),
              (this._regExpRules = t.regExpRules || []),
              (this._indentationRules = t.indentationRules)
          }
          return (
            (e.prototype.onEnter = function(e, t, n) {
              for (var i = 0, r = this._regExpRules.length; i < r; i++) {
                var s = this._regExpRules[i]
                if (s.beforeText.test(t)) {
                  if (!s.afterText) return s.action
                  if (s.afterText.test(n)) return s.action
                }
              }
              if (t.length > 0 && n.length > 0)
                for (var i = 0, r = this._brackets.length; i < r; i++)
                  if (
                    (a = this._brackets[i]).openRegExp.test(t) &&
                    a.closeRegExp.test(n)
                  )
                    return { indentAction: o.IndentAction.IndentOutdent }
              if (t.length > 0)
                for (var i = 0, r = this._brackets.length; i < r; i++) {
                  var a = this._brackets[i]
                  if (a.openRegExp.test(t))
                    return { indentAction: o.IndentAction.Indent }
                }
              return null
            }),
            (e._createOpenBracketRegExp = function(t) {
              var n = i.escapeRegExpCharacters(t)
              return (
                /\B/.test(n.charAt(0)) || (n = '\\b' + n),
                (n += '\\s*$'),
                e._safeRegExp(n)
              )
            }),
            (e._createCloseBracketRegExp = function(t) {
              var n = i.escapeRegExpCharacters(t)
              return (
                /\B/.test(n.charAt(n.length - 1)) || (n += '\\b'),
                (n = '^\\s*' + n),
                e._safeRegExp(n)
              )
            }),
            (e._safeRegExp = function(e) {
              try {
                return new RegExp(e)
              } catch (e) {
                return n.onUnexpectedError(e), null
              }
            }),
            e
          )
        })()
        t.OnEnterSupport = r
      }),
      define(d[106], h([0, 1, 9, 2]), function(e, t, n, i) {
        'use strict'
        function o(e, t) {
          var n = {}
          return function(i) {
            var o = e(i)
            return n.hasOwnProperty(o) || (n[o] = t(i)), n[o]
          }
        }
        function r(e) {
          var t = '(' + e.map(n.escapeRegExpCharacters).join(')|(') + ')'
          return n.createRegExp(t, !0)
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = (function() {
          return function(e, t, n, i, o) {
            ;(this.languageIdentifier = e),
              (this.open = t),
              (this.close = n),
              (this.forwardRegex = i),
              (this.reversedRegex = o)
          }
        })()
        t.RichEditBracket = s
        var a = (function() {
          return function(e, t) {
            var n = this
            ;(this.brackets = t.map(function(t) {
              return new s(
                e,
                t[0],
                t[1],
                u({ open: t[0], close: t[1] }),
                l({ open: t[0], close: t[1] })
              )
            })),
              (this.forwardRegex = c(this.brackets)),
              (this.reversedRegex = d(this.brackets)),
              (this.textIsBracket = {}),
              (this.textIsOpenBracket = {})
            var i = 0
            this.brackets.forEach(function(e) {
              ;(n.textIsBracket[e.open.toLowerCase()] = e),
                (n.textIsBracket[e.close.toLowerCase()] = e),
                (n.textIsOpenBracket[e.open.toLowerCase()] = !0),
                (n.textIsOpenBracket[e.close.toLowerCase()] = !1),
                (i = Math.max(i, e.open.length)),
                (i = Math.max(i, e.close.length))
            }),
              (this.maxBracketLength = i)
          }
        })()
        t.RichEditBrackets = a
        var u = o(
            function(e) {
              return e.open + ';' + e.close
            },
            function(e) {
              return r([e.open, e.close])
            }
          ),
          l = o(
            function(e) {
              return e.open + ';' + e.close
            },
            function(e) {
              return r([h(e.open), h(e.close)])
            }
          ),
          c = o(
            function(e) {
              return e
                .map(function(e) {
                  return e.open + ';' + e.close
                })
                .join(';')
            },
            function(e) {
              var t = []
              return (
                e.forEach(function(e) {
                  t.push(e.open), t.push(e.close)
                }),
                r(t)
              )
            }
          ),
          d = o(
            function(e) {
              return e
                .map(function(e) {
                  return e.open + ';' + e.close
                })
                .join(';')
            },
            function(e) {
              var t = []
              return (
                e.forEach(function(e) {
                  t.push(h(e.open)), t.push(h(e.close))
                }),
                r(t)
              )
            }
          ),
          h = (function() {
            function e(e) {
              for (var t = '', n = e.length - 1; n >= 0; n--) t += e.charAt(n)
              return t
            }
            var t = null,
              n = null
            return function(i) {
              return t !== i && (n = e((t = i))), n
            }
          })(),
          p = (function() {
            function e() {}
            return (
              (e._findPrevBracketInText = function(e, t, n, o) {
                var r = n.match(e)
                if (!r) return null
                var s = n.length - r.index,
                  a = r[0].length,
                  u = o + s
                return new i.Range(t, u - a + 1, t, u + 1)
              }),
              (e.findPrevBracketInToken = function(e, t, n, i, o) {
                var r = h(n).substring(n.length - o, n.length - i)
                return this._findPrevBracketInText(e, t, r, i)
              }),
              (e.findNextBracketInText = function(e, t, n, o) {
                var r = n.match(e)
                if (!r) return null
                var s = r.index,
                  a = r[0].length,
                  u = o + s
                return new i.Range(t, u + 1, t, u + 1 + a)
              }),
              (e.findNextBracketInToken = function(e, t, n, i, o) {
                var r = n.substring(i, o)
                return this.findNextBracketInText(e, t, r, i)
              }),
              e
            )
          })()
        t.BracketsUtils = p
      }),
      define(d[370], h([0, 1, 34]), function(e, t, n) {
        'use strict'
        function i(e) {
          if (!e || !Array.isArray(e)) return []
          for (var t = [], n = 0, i = 0, o = e.length; i < o; i++) {
            var r = e[i],
              s = -1
            if ('string' == typeof r.fontStyle) {
              s = 0
              for (
                var u = r.fontStyle.split(' '), l = 0, c = u.length;
                l < c;
                l++
              )
                switch (u[l]) {
                  case 'italic':
                    s |= 1
                    break
                  case 'bold':
                    s |= 2
                    break
                  case 'underline':
                    s |= 4
                }
            }
            var d = null
            'string' == typeof r.foreground && (d = r.foreground)
            var h = null
            'string' == typeof r.background && (h = r.background),
              (t[n++] = new a(r.token || '', i, s, d, h))
          }
          return t
        }
        function o(e) {
          e.sort(function(e, t) {
            var n = s(e.token, t.token)
            return 0 !== n ? n : e.index - t.index
          })
          for (
            var t = 0, n = '000000', i = 'ffffff';
            e.length >= 1 && '' === e[0].token;

          ) {
            var o = e.shift()
            ;-1 !== o.fontStyle && (t = o.fontStyle),
              null !== o.foreground && (n = o.foreground),
              null !== o.background && (i = o.background)
          }
          for (
            var r = new u(),
              a = new d(t, r.getId(n), r.getId(i)),
              c = new p(a),
              h = 0,
              f = e.length;
            h < f;
            h++
          ) {
            var g = e[h]
            c.insert(
              g.token,
              g.fontStyle,
              r.getId(g.foreground),
              r.getId(g.background)
            )
          }
          return new l(r, c)
        }
        function r(e) {
          var t = e.match(c)
          if (!t) return 0
          switch (t[1]) {
            case 'comment':
              return 1
            case 'string':
              return 2
            case 'regex':
              return 4
          }
          throw new Error('Unexpected match for standard token type!')
        }
        function s(e, t) {
          return e < t ? -1 : e > t ? 1 : 0
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = (function() {
          return function(e, t, n, i, o) {
            ;(this.token = e),
              (this.index = t),
              (this.fontStyle = n),
              (this.foreground = i),
              (this.background = o)
          }
        })()
        ;(t.ParsedTokenThemeRule = a), (t.parseTokenTheme = i)
        var u = (function() {
          function e() {
            ;(this._lastColorId = 0),
              (this._id2color = []),
              (this._color2id = new Map())
          }
          return (
            (e.prototype.getId = function(e) {
              if (null === e) return 0
              if (((e = e.toUpperCase()), !/^[0-9A-F]{6}$/.test(e)))
                throw new Error('Illegal color name: ' + e)
              var t = this._color2id.get(e)
              return (
                t ||
                ((t = ++this._lastColorId),
                this._color2id.set(e, t),
                (this._id2color[t] = n.Color.fromHex('#' + e)),
                t)
              )
            }),
            (e.prototype.getColorMap = function() {
              return this._id2color.slice(0)
            }),
            e
          )
        })()
        t.ColorMap = u
        var l = (function() {
          function e(e, t) {
            ;(this._colorMap = e), (this._root = t), (this._cache = new Map())
          }
          return (
            (e.createFromRawTokenTheme = function(e) {
              return this.createFromParsedTokenTheme(i(e))
            }),
            (e.createFromParsedTokenTheme = function(e) {
              return o(e)
            }),
            (e.prototype.getColorMap = function() {
              return this._colorMap.getColorMap()
            }),
            (e.prototype.getThemeTrieElement = function() {
              return this._root.toExternalThemeTrieElement()
            }),
            (e.prototype._match = function(e) {
              return this._root.match(e)
            }),
            (e.prototype.match = function(e, t) {
              var n = this._cache.get(t)
              if (void 0 === n) {
                var i = this._match(t),
                  o = r(t)
                ;(n = (i.metadata | (o << 8)) >>> 0), this._cache.set(t, n)
              }
              return (n | (e << 0)) >>> 0
            }),
            e
          )
        })()
        t.TokenTheme = l
        var c = /\b(comment|string|regex)\b/
        ;(t.toStandardTokenType = r), (t.strcmp = s)
        var d = (function() {
          function e(e, t, n) {
            ;(this._fontStyle = e),
              (this._foreground = t),
              (this._background = n),
              (this.metadata =
                ((this._fontStyle << 11) |
                  (this._foreground << 14) |
                  (this._background << 23)) >>>
                0)
          }
          return (
            (e.prototype.clone = function() {
              return new e(this._fontStyle, this._foreground, this._background)
            }),
            (e.cloneArr = function(e) {
              for (var t = [], n = 0, i = e.length; n < i; n++)
                t[n] = e[n].clone()
              return t
            }),
            (e.prototype.acceptOverwrite = function(e, t, n) {
              ;-1 !== e && (this._fontStyle = e),
                0 !== t && (this._foreground = t),
                0 !== n && (this._background = n),
                (this.metadata =
                  ((this._fontStyle << 11) |
                    (this._foreground << 14) |
                    (this._background << 23)) >>>
                  0)
            }),
            e
          )
        })()
        t.ThemeTrieElementRule = d
        var h = (function() {
          return function(e, t) {
            ;(this.mainRule = e), (this.children = t || Object.create(null))
          }
        })()
        t.ExternalThemeTrieElement = h
        var p = (function() {
          function e(e) {
            ;(this._mainRule = e), (this._children = new Map())
          }
          return (
            (e.prototype.toExternalThemeTrieElement = function() {
              var e = Object.create(null)
              return (
                this._children.forEach(function(t, n) {
                  e[n] = t.toExternalThemeTrieElement()
                }),
                new h(this._mainRule, e)
              )
            }),
            (e.prototype.match = function(e) {
              if ('' === e) return this._mainRule
              var t,
                n,
                i = e.indexOf('.')
              ;-1 === i
                ? ((t = e), (n = ''))
                : ((t = e.substring(0, i)), (n = e.substring(i + 1)))
              var o = this._children.get(t)
              return void 0 !== o ? o.match(n) : this._mainRule
            }),
            (e.prototype.insert = function(t, n, i, o) {
              if ('' !== t) {
                var r,
                  s,
                  a = t.indexOf('.')
                ;-1 === a
                  ? ((r = t), (s = ''))
                  : ((r = t.substring(0, a)), (s = t.substring(a + 1)))
                var u = this._children.get(r)
                void 0 === u &&
                  ((u = new e(this._mainRule.clone())),
                  this._children.set(r, u)),
                  u.insert(s, n, i, o)
              } else this._mainRule.acceptOverwrite(n, i, o)
            }),
            e
          )
        })()
        ;(t.ThemeTrieElement = p),
          (t.generateTokensCSSForColorMap = function(e) {
            for (var t = [], n = 1, i = e.length; n < i; n++) {
              var o = e[n]
              t[n] = '.mtk' + n + ' { color: ' + o.toString() + '; }'
            }
            return (
              t.push('.mtki { font-style: italic; }'),
              t.push('.mtkb { font-weight: bold; }'),
              t.push('.mtku { text-decoration: underline; }'),
              t.join('\n')
            )
          })
      }),
      define(d[202], h([0, 1, 11, 28]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = (function() {
          function e() {
            ;(this._onDidChange = new n.Emitter()),
              (this.onDidChange = this._onDidChange.event),
              (this._map = Object.create(null)),
              (this._colorMap = null)
          }
          return (
            (e.prototype.fire = function(e) {
              this._onDidChange.fire({
                changedLanguages: e,
                changedColorMap: !1
              })
            }),
            (e.prototype.register = function(e, t) {
              var n = this
              return (
                (this._map[e] = t),
                this.fire([e]),
                {
                  dispose: function() {
                    n._map[e] === t && (delete n._map[e], n.fire([e]))
                  }
                }
              )
            }),
            (e.prototype.get = function(e) {
              return this._map[e] || null
            }),
            (e.prototype.setColorMap = function(e) {
              i.equals(e, this._colorMap) ||
                ((this._colorMap = e),
                this._onDidChange.fire({
                  changedLanguages: Object.keys(this._map),
                  changedColorMap: !0
                }))
            }),
            (e.prototype.getColorMap = function() {
              return this._colorMap
            }),
            (e.prototype.getDefaultForeground = function() {
              return this._colorMap[1]
            }),
            (e.prototype.getDefaultBackground = function() {
              return this._colorMap[2]
            }),
            e
          )
        })()
        t.TokenizationRegistryImpl = o
      }),
      define(d[17], h([0, 1, 208, 202]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        !(function(e) {
          ;(e[(e.Null = 0)] = 'Null'), (e[(e.PlainText = 1)] = 'PlainText')
        })(t.LanguageId || (t.LanguageId = {}))
        var o = (function() {
          return function(e, t) {
            ;(this.language = e), (this.id = t)
          }
        })()
        t.LanguageIdentifier = o
        !(function(e) {
          ;(e[(e.NotSet = -1)] = 'NotSet'),
            (e[(e.None = 0)] = 'None'),
            (e[(e.Italic = 1)] = 'Italic'),
            (e[(e.Bold = 2)] = 'Bold'),
            (e[(e.Underline = 4)] = 'Underline')
        })(t.FontStyle || (t.FontStyle = {}))
        !(function(e) {
          ;(e[(e.None = 0)] = 'None'),
            (e[(e.DefaultForeground = 1)] = 'DefaultForeground'),
            (e[(e.DefaultBackground = 2)] = 'DefaultBackground')
        })(t.ColorId || (t.ColorId = {}))
        !(function(e) {
          ;(e[(e.Other = 0)] = 'Other'),
            (e[(e.Comment = 1)] = 'Comment'),
            (e[(e.String = 2)] = 'String'),
            (e[(e.RegEx = 4)] = 'RegEx')
        })(t.StandardTokenType || (t.StandardTokenType = {}))
        !(function(e) {
          ;(e[(e.LANGUAGEID_MASK = 255)] = 'LANGUAGEID_MASK'),
            (e[(e.TOKEN_TYPE_MASK = 1792)] = 'TOKEN_TYPE_MASK'),
            (e[(e.FONT_STYLE_MASK = 14336)] = 'FONT_STYLE_MASK'),
            (e[(e.FOREGROUND_MASK = 8372224)] = 'FOREGROUND_MASK'),
            (e[(e.BACKGROUND_MASK = 4286578688)] = 'BACKGROUND_MASK'),
            (e[(e.LANGUAGEID_OFFSET = 0)] = 'LANGUAGEID_OFFSET'),
            (e[(e.TOKEN_TYPE_OFFSET = 8)] = 'TOKEN_TYPE_OFFSET'),
            (e[(e.FONT_STYLE_OFFSET = 11)] = 'FONT_STYLE_OFFSET'),
            (e[(e.FOREGROUND_OFFSET = 14)] = 'FOREGROUND_OFFSET'),
            (e[(e.BACKGROUND_OFFSET = 23)] = 'BACKGROUND_OFFSET')
        })(t.MetadataConsts || (t.MetadataConsts = {}))
        !(function(e) {
          ;(e[(e.Text = 0)] = 'Text'),
            (e[(e.Read = 1)] = 'Read'),
            (e[(e.Write = 2)] = 'Write')
        })(t.DocumentHighlightKind || (t.DocumentHighlightKind = {}))
        var r
        !(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')
        })((r = t.SymbolKind || (t.SymbolKind = {}))),
          (t.symbolKindToCssClass = (function() {
            var e = Object.create(null)
            return (
              (e[r.File] = 'file'),
              (e[r.Module] = 'module'),
              (e[r.Namespace] = 'namespace'),
              (e[r.Package] = 'package'),
              (e[r.Class] = 'class'),
              (e[r.Method] = 'method'),
              (e[r.Property] = 'property'),
              (e[r.Field] = 'field'),
              (e[r.Constructor] = 'constructor'),
              (e[r.Enum] = 'enum'),
              (e[r.Interface] = 'interface'),
              (e[r.Function] = 'function'),
              (e[r.Variable] = 'variable'),
              (e[r.Constant] = 'constant'),
              (e[r.String] = 'string'),
              (e[r.Number] = 'number'),
              (e[r.Boolean] = 'boolean'),
              (e[r.Array] = 'array'),
              (e[r.Object] = 'object'),
              (e[r.Key] = 'key'),
              (e[r.Null] = 'null'),
              (e[r.EnumMember] = 'enum-member'),
              (e[r.Struct] = 'struct'),
              (e[r.Event] = 'event'),
              (e[r.Operator] = 'operator'),
              (e[r.TypeParameter] = 'type-parameter'),
              function(t) {
                return e[t] || 'property'
              }
            )
          })()),
          (t.ReferenceProviderRegistry = new n.default()),
          (t.RenameProviderRegistry = new n.default()),
          (t.SuggestRegistry = new n.default()),
          (t.SignatureHelpProviderRegistry = new n.default()),
          (t.HoverProviderRegistry = new n.default()),
          (t.DocumentSymbolProviderRegistry = new n.default()),
          (t.DocumentHighlightProviderRegistry = new n.default()),
          (t.DefinitionProviderRegistry = new n.default()),
          (t.ImplementationProviderRegistry = new n.default()),
          (t.TypeDefinitionProviderRegistry = new n.default()),
          (t.CodeLensProviderRegistry = new n.default()),
          (t.CodeActionProviderRegistry = new n.default()),
          (t.DocumentFormattingEditProviderRegistry = new n.default()),
          (t.DocumentRangeFormattingEditProviderRegistry = new n.default()),
          (t.OnTypeFormattingEditProviderRegistry = new n.default()),
          (t.LinkProviderRegistry = new n.default()),
          (t.TokenizationRegistry = new i.TokenizationRegistryImpl())
      }),
      define(d[70], h([0, 1, 17, 96]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = (function() {
          function e() {}
          return (
            (e.prototype.clone = function() {
              return this
            }),
            (e.prototype.equals = function(e) {
              return this === e
            }),
            e
          )
        })()
        ;(t.NULL_STATE = new o()),
          (t.NULL_MODE_ID = 'vs.editor.nullMode'),
          (t.NULL_LANGUAGE_IDENTIFIER = new n.LanguageIdentifier(
            t.NULL_MODE_ID,
            0
          )),
          (t.nullTokenize = function(e, t, n, o) {
            return new i.TokenizationResult([new i.Token(o, '', e)], n)
          }),
          (t.nullTokenize2 = function(e, t, n, o) {
            var r = new Uint32Array(2)
            return (
              (r[0] = o),
              (r[1] = (16384 | (e << 0) | (2 << 23)) >>> 0),
              new i.TokenizationResult2(r, n)
            )
          })
      }),
      define(d[103], h([0, 1, 17]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.createScopedLineTokens = function(e, t) {
            for (
              var n = e.getTokenCount(),
                o = e.findTokenIndexAtOffset(t),
                r = e.getLanguageId(o),
                s = o;
              s + 1 < n && e.getLanguageId(s + 1) === r;

            )
              s++
            for (var a = o; a > 0 && e.getLanguageId(a - 1) === r; ) a--
            return new i(
              e,
              r,
              a,
              s + 1,
              e.getTokenStartOffset(a),
              e.getTokenEndOffset(s)
            )
          })
        var i = (function() {
          function e(e, t, n, i, o, r) {
            ;(this._actual = e),
              (this.languageId = t),
              (this._firstTokenIndex = n),
              (this._lastTokenIndex = i),
              (this.firstCharOffset = o),
              (this._lastCharOffset = r)
          }
          return (
            (e.prototype.getLineContent = function() {
              return this._actual
                .getLineContent()
                .substring(this.firstCharOffset, this._lastCharOffset)
            }),
            (e.prototype.getTokenCount = function() {
              return this._lastTokenIndex - this._firstTokenIndex
            }),
            (e.prototype.findTokenIndexAtOffset = function(e) {
              return (
                this._actual.findTokenIndexAtOffset(e + this.firstCharOffset) -
                this._firstTokenIndex
              )
            }),
            (e.prototype.getTokenStartOffset = function(e) {
              return (
                this._actual.getTokenStartOffset(e + this._firstTokenIndex) -
                this.firstCharOffset
              )
            }),
            (e.prototype.getStandardTokenType = function(e) {
              return this._actual.getStandardTokenType(
                e + this._firstTokenIndex
              )
            }),
            e
          )
        })()
        t.ScopedLineTokens = i
        var o
        !(function(e) {
          e[(e.value = 7)] = 'value'
        })(o || (o = {})),
          (t.ignoreBracketsInToken = function(e) {
            return 0 != (7 & e)
          })
      }),
      define(d[206], h([0, 1, 103, 106, 58]), function(e, t, n, i, o) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = (function() {
          function e(e, t, n) {
            ;(n = n || {}),
              (this._richEditBrackets = e),
              (this._complexAutoClosePairs = t
                .filter(function(e) {
                  return e.open.length > 1 && !!e.close
                })
                .map(function(e) {
                  return new o.StandardAutoClosingPairConditional(e)
                })),
              n.docComment &&
                this._complexAutoClosePairs.push(
                  new o.StandardAutoClosingPairConditional({
                    open: n.docComment.open,
                    close: n.docComment.close
                  })
                )
          }
          return (
            (e.prototype.getElectricCharacters = function() {
              var e = []
              if (this._richEditBrackets)
                for (
                  var t = 0, n = this._richEditBrackets.brackets.length;
                  t < n;
                  t++
                ) {
                  var i = this._richEditBrackets.brackets[t],
                    o = i.close.charAt(i.close.length - 1)
                  e.push(o)
                }
              for (
                var r = 0, s = this._complexAutoClosePairs;
                r < s.length;
                r++
              ) {
                var a = s[r]
                e.push(a.open.charAt(a.open.length - 1))
              }
              return (e = e.filter(function(e, t, n) {
                return n.indexOf(e) === t
              }))
            }),
            (e.prototype.onElectricCharacter = function(e, t, n) {
              return (
                this._onElectricAutoClose(e, t, n) ||
                this._onElectricAutoIndent(e, t, n)
              )
            }),
            (e.prototype._onElectricAutoIndent = function(e, t, o) {
              if (
                !this._richEditBrackets ||
                0 === this._richEditBrackets.brackets.length
              )
                return null
              var r = t.findTokenIndexAtOffset(o - 1)
              if (n.ignoreBracketsInToken(t.getStandardTokenType(r)))
                return null
              var s = this._richEditBrackets.reversedRegex,
                a = t.getLineContent().substring(0, o - 1) + e,
                u = i.BracketsUtils.findPrevBracketInToken(s, 1, a, 0, a.length)
              if (!u) return null
              var l = a.substring(u.startColumn - 1, u.endColumn - 1)
              if (
                ((l = l.toLowerCase()),
                this._richEditBrackets.textIsOpenBracket[l])
              )
                return null
              var c = a.substring(0, u.startColumn - 1)
              return /^\s*$/.test(c) ? { matchOpenBracket: l } : null
            }),
            (e.prototype._onElectricAutoClose = function(e, t, n) {
              if (!this._complexAutoClosePairs.length) return null
              for (
                var i = t.getLineContent(),
                  o = 0,
                  r = this._complexAutoClosePairs.length;
                o < r;
                o++
              ) {
                var s = this._complexAutoClosePairs[o]
                if (
                  e === s.open.charAt(s.open.length - 1) &&
                  i.substring(i.length - s.open.length + 1) + e === s.open
                ) {
                  var a = t.findTokenIndexAtOffset(n - 1),
                    u = t.getStandardTokenType(a)
                  if (s.isOK(u) && !(i.indexOf(s.close, n - 1) >= 0))
                    return { appendText: s.close }
                }
              }
              return null
            }),
            e
          )
        })()
        t.BracketElectricCharacterSupport = r
      }),
      define(d[43], h([
        0,
        1,
        205,
        206,
        201,
        204,
        106,
        11,
        10,
        9,
        100,
        103,
        2,
        58
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var f = (function() {
          function e(t, o, a) {
            var u = null
            o && (u = o._conf),
              (this._conf = e._mergeConf(u, a)),
              this._conf.brackets &&
                (this.brackets = new s.RichEditBrackets(
                  t,
                  this._conf.brackets
                )),
              (this.onEnter = e._handleOnEnter(this._conf)),
              (this.comments = e._handleComments(this._conf)),
              (this.characterPair = new n.CharacterPairSupport(this._conf)),
              (this.electricCharacter = new i.BracketElectricCharacterSupport(
                this.brackets,
                this.characterPair.getAutoClosingPairs(),
                this._conf.__electricCharacterSupport
              )),
              (this.wordDefinition =
                this._conf.wordPattern || c.DEFAULT_WORD_REGEXP),
              (this.indentationRules = this._conf.indentationRules),
              this._conf.indentationRules &&
                (this.indentRulesSupport = new r.IndentRulesSupport(
                  this._conf.indentationRules
                ))
          }
          return (
            (e._mergeConf = function(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,
                __electricCharacterSupport: e
                  ? t.__electricCharacterSupport || e.__electricCharacterSupport
                  : t.__electricCharacterSupport
              }
            }),
            (e._handleOnEnter = function(e) {
              var t = {},
                n = !0
              return (
                e.brackets && ((n = !1), (t.brackets = e.brackets)),
                e.indentationRules &&
                  ((n = !1), (t.indentationRules = e.indentationRules)),
                e.onEnterRules && ((n = !1), (t.regExpRules = e.onEnterRules)),
                n ? null : new o.OnEnterSupport(t)
              )
            }),
            (e._handleComments = function(e) {
              var t = e.comments
              if (!t) return null
              var n = {}
              if (
                (t.lineComment && (n.lineCommentToken = t.lineComment),
                t.blockComment)
              ) {
                var i = t.blockComment,
                  o = i[0],
                  r = i[1]
                ;(n.blockCommentStartToken = o), (n.blockCommentEndToken = r)
              }
              return n
            }),
            e
          )
        })()
        t.RichEditSupport = f
        var g = (function() {
          function e() {
            ;(this._onDidChange = new a.Emitter()),
              (this.onDidChange = this._onDidChange.event),
              (this._entries = [])
          }
          return (
            (e.prototype.register = function(e, t) {
              var n = this,
                i = this._getRichEditSupport(e.id),
                o = new f(e, i, t)
              return (
                (this._entries[e.id] = o),
                this._onDidChange.fire(void 0),
                {
                  dispose: function() {
                    n._entries[e.id] === o &&
                      ((n._entries[e.id] = i), n._onDidChange.fire(void 0))
                  }
                }
              )
            }),
            (e.prototype._getRichEditSupport = function(e) {
              return this._entries[e] || null
            }),
            (e.prototype.getIndentationRules = function(e) {
              var t = this._entries[e]
              return t ? t.indentationRules || null : null
            }),
            (e.prototype._getElectricCharacterSupport = function(e) {
              var t = this._getRichEditSupport(e)
              return t ? t.electricCharacter || null : null
            }),
            (e.prototype.getElectricCharacters = function(e) {
              var t = this._getElectricCharacterSupport(e)
              return t ? t.getElectricCharacters() : []
            }),
            (e.prototype.onElectricCharacter = function(e, t, n) {
              var i = d.createScopedLineTokens(t, n - 1),
                o = this._getElectricCharacterSupport(i.languageId)
              return o
                ? o.onElectricCharacter(e, i, n - i.firstCharOffset)
                : null
            }),
            (e.prototype.getComments = function(e) {
              var t = this._getRichEditSupport(e)
              return t ? t.comments || null : null
            }),
            (e.prototype._getCharacterPairSupport = function(e) {
              var t = this._getRichEditSupport(e)
              return t ? t.characterPair || null : null
            }),
            (e.prototype.getAutoClosingPairs = function(e) {
              var t = this._getCharacterPairSupport(e)
              return t ? t.getAutoClosingPairs() : []
            }),
            (e.prototype.getSurroundingPairs = function(e) {
              var t = this._getCharacterPairSupport(e)
              return t ? t.getSurroundingPairs() : []
            }),
            (e.prototype.shouldAutoClosePair = function(e, t, n) {
              var i = d.createScopedLineTokens(t, n - 1),
                o = this._getCharacterPairSupport(i.languageId)
              return !!o && o.shouldAutoClosePair(e, i, n - i.firstCharOffset)
            }),
            (e.prototype.getWordDefinition = function(e) {
              var t = this._getRichEditSupport(e)
              return t
                ? c.ensureValidWordDefinition(t.wordDefinition || null)
                : c.ensureValidWordDefinition(null)
            }),
            (e.prototype.getIndentRulesSupport = function(e) {
              var t = this._getRichEditSupport(e)
              return t ? t.indentRulesSupport || null : null
            }),
            (e.prototype.getPrecedingValidLine = function(e, t, n) {
              var i = e.getLanguageIdAtPosition(t, 0)
              if (t > 1) {
                var o = t - 1,
                  r = -1
                for (o = t - 1; o >= 1; o--) {
                  if (e.getLanguageIdAtPosition(o, 0) !== i) return r
                  var s = e.getLineContent(o)
                  if (!n.shouldIgnore(s) && !/^\s+$/.test(s) && '' !== s)
                    return o
                  r = o
                }
              }
              return -1
            }),
            (e.prototype.getInheritIndentForLine = function(e, t, n) {
              void 0 === n && (n = !0)
              var i = this.getIndentRulesSupport(e.getLanguageIdentifier().id)
              if (!i) return null
              if (t <= 1) return { indentation: '', action: null }
              var o = this.getPrecedingValidLine(e, t, i)
              if (o < 1) return { indentation: '', action: null }
              var r = e.getLineContent(o)
              if (i.shouldIncrease(r) || i.shouldIndentNextLine(r))
                return {
                  indentation: l.getLeadingWhitespace(r),
                  action: p.IndentAction.Indent,
                  line: o
                }
              if (i.shouldDecrease(r))
                return {
                  indentation: l.getLeadingWhitespace(r),
                  action: null,
                  line: o
                }
              if (1 === o)
                return {
                  indentation: l.getLeadingWhitespace(e.getLineContent(o)),
                  action: null,
                  line: o
                }
              var s = o - 1,
                a = i.getIndentMetadata(e.getLineContent(s))
              if (!(3 & a) && 4 & a) {
                for (var u = 0, c = s - 1; c > 0; c--)
                  if (!i.shouldIndentNextLine(e.getLineContent(c))) {
                    u = c
                    break
                  }
                return {
                  indentation: l.getLeadingWhitespace(e.getLineContent(u + 1)),
                  action: null,
                  line: u + 1
                }
              }
              if (n)
                return {
                  indentation: l.getLeadingWhitespace(e.getLineContent(o)),
                  action: null,
                  line: o
                }
              for (c = o; c > 0; c--) {
                var d = e.getLineContent(c)
                if (i.shouldIncrease(d))
                  return {
                    indentation: l.getLeadingWhitespace(d),
                    action: p.IndentAction.Indent,
                    line: c
                  }
                if (i.shouldIndentNextLine(d)) {
                  for (var u = 0, h = c - 1; h > 0; h--)
                    if (!i.shouldIndentNextLine(e.getLineContent(c))) {
                      u = h
                      break
                    }
                  return {
                    indentation: l.getLeadingWhitespace(
                      e.getLineContent(u + 1)
                    ),
                    action: null,
                    line: u + 1
                  }
                }
                if (i.shouldDecrease(d))
                  return {
                    indentation: l.getLeadingWhitespace(d),
                    action: null,
                    line: c
                  }
              }
              return {
                indentation: l.getLeadingWhitespace(e.getLineContent(1)),
                action: null,
                line: 1
              }
            }),
            (e.prototype.getGoodIndentForLine = function(e, t, n, i) {
              var o = this.getIndentRulesSupport(t)
              if (!o) return null
              var r = this.getInheritIndentForLine(e, n),
                s = e.getLineContent(n)
              if (r) {
                var a = r.line
                if (void 0 !== a) {
                  var c = this._getOnEnterSupport(t),
                    d = null
                  try {
                    d = c.onEnter('', e.getLineContent(a), '')
                  } catch (e) {
                    u.onUnexpectedError(e)
                  }
                  if (d) {
                    var h = l.getLeadingWhitespace(e.getLineContent(a))
                    return (
                      d.removeText &&
                        (h = h.substring(0, h.length - d.removeText)),
                      d.indentAction === p.IndentAction.Indent ||
                      d.indentAction === p.IndentAction.IndentOutdent
                        ? (h = i.shiftIndent(h))
                        : d.indentAction === p.IndentAction.Outdent &&
                          (h = i.unshiftIndent(h)),
                      o.shouldDecrease(s) && (h = i.unshiftIndent(h)),
                      d.appendText && (h += d.appendText),
                      l.getLeadingWhitespace(h)
                    )
                  }
                }
                return o.shouldDecrease(s)
                  ? r.action === p.IndentAction.Indent
                    ? r.indentation
                    : i.unshiftIndent(r.indentation)
                  : r.action === p.IndentAction.Indent
                    ? i.shiftIndent(r.indentation)
                    : r.indentation
              }
              return null
            }),
            (e.prototype.getIndentForEnter = function(e, t, n, i) {
              e.forceTokenization(t.startLineNumber)
              var o,
                r = e.getLineTokens(t.startLineNumber),
                s = r.findTokenIndexAtOffset(t.startColumn),
                a = r.findTokenIndexAtOffset(0),
                u = d.createScopedLineTokens(r, t.startColumn),
                c = u.getLineContent()
              o =
                r.getLanguageId(a) === r.getLanguageId(s)
                  ? r.getLineContent().substring(0, t.startColumn - 1)
                  : c.substr(0, t.startColumn - 1 - u.firstCharOffset)
              var h
              h = t.isEmpty()
                ? c.substr(t.startColumn - 1 - u.firstCharOffset)
                : this.getScopedLineTokens(e, t.endLineNumber, t.endColumn)
                    .getLineContent()
                    .substr(t.endColumn - 1 - u.firstCharOffset)
              var f = this.getIndentRulesSupport(u.languageId)
              if (!f) return null
              var g = o,
                m = l.getLeadingWhitespace(o)
              if (!i) {
                var v = this.getInheritIndentForLine(e, t.startLineNumber),
                  _ = l.getLeadingWhitespace(o)
                f.shouldDecrease(o) &&
                  v &&
                  ((_ = v.indentation),
                  v.action !== p.IndentAction.Indent &&
                    (_ = n.unshiftIndent(_))),
                  (g = _ + l.ltrim(l.ltrim(o, ' '), '\t'))
              }
              var y = {
                  getLineTokens: function(t) {
                    return e.getLineTokens(t)
                  },
                  getLanguageIdentifier: function() {
                    return e.getLanguageIdentifier()
                  },
                  getLanguageIdAtPosition: function(t, n) {
                    return e.getLanguageIdAtPosition(t, n)
                  },
                  getLineContent: function(n) {
                    return n === t.startLineNumber ? g : e.getLineContent(n)
                  }
                },
                b = this.getInheritIndentForLine(y, t.startLineNumber + 1)
              if (!b) return { beforeEnter: m, afterEnter: m }
              var C = b.indentation
              return (
                b.action === p.IndentAction.Indent && (C = n.shiftIndent(C)),
                f.shouldDecrease(h) && (C = n.unshiftIndent(C)),
                { beforeEnter: m, afterEnter: C }
              )
            }),
            (e.prototype.getIndentActionForType = function(e, t, n, i) {
              var o = this.getScopedLineTokens(
                  e,
                  t.startLineNumber,
                  t.startColumn
                ),
                r = this.getIndentRulesSupport(o.languageId)
              if (!r) return null
              var s,
                a = o.getLineContent(),
                u = a.substr(0, t.startColumn - 1 - o.firstCharOffset)
              if (
                ((s = t.isEmpty()
                  ? a.substr(t.startColumn - 1 - o.firstCharOffset)
                  : this.getScopedLineTokens(e, t.endLineNumber, t.endColumn)
                      .getLineContent()
                      .substr(t.endColumn - 1 - o.firstCharOffset)),
                r.shouldDecrease(u + n + s))
              ) {
                var l = this.getInheritIndentForLine(e, t.startLineNumber, !1)
                if (!l) return null
                var c = l.indentation
                return (
                  l.action !== p.IndentAction.Indent &&
                    (c = i.unshiftIndent(c)),
                  c
                )
              }
              return null
            }),
            (e.prototype.getIndentMetadata = function(e, t) {
              var n = this.getIndentRulesSupport(e.getLanguageIdentifier().id)
              return n
                ? t < 1 || t > e.getLineCount()
                  ? null
                  : n.getIndentMetadata(e.getLineContent(t))
                : null
            }),
            (e.prototype._getOnEnterSupport = function(e) {
              var t = this._getRichEditSupport(e)
              return t ? t.onEnter || null : null
            }),
            (e.prototype.getRawEnterActionAtPosition = function(e, t, n) {
              var i = this.getEnterAction(e, new h.Range(t, n, t, n))
              return i ? i.enterAction : null
            }),
            (e.prototype.getEnterAction = function(e, t) {
              var n = this.getIndentationAtPosition(
                  e,
                  t.startLineNumber,
                  t.startColumn
                ),
                i = this.getScopedLineTokens(
                  e,
                  t.startLineNumber,
                  t.startColumn
                ),
                o = this._getOnEnterSupport(i.languageId)
              if (!o) return null
              var r,
                s = i.getLineContent(),
                a = s.substr(0, t.startColumn - 1 - i.firstCharOffset)
              r = t.isEmpty()
                ? s.substr(t.startColumn - 1 - i.firstCharOffset)
                : this.getScopedLineTokens(e, t.endLineNumber, t.endColumn)
                    .getLineContent()
                    .substr(t.endColumn - 1 - i.firstCharOffset)
              var l = t.startLineNumber,
                c = ''
              if (l > 1 && 0 === i.firstCharOffset) {
                var d = this.getScopedLineTokens(e, l - 1)
                d.languageId === i.languageId && (c = d.getLineContent())
              }
              var h = null
              try {
                h = o.onEnter(c, a, r)
              } catch (e) {
                u.onUnexpectedError(e)
              }
              return h
                ? (h.appendText ||
                    (h.indentAction === p.IndentAction.Indent ||
                    h.indentAction === p.IndentAction.IndentOutdent
                      ? (h.appendText = '\t')
                      : (h.appendText = '')),
                  h.removeText && (n = n.substring(0, n.length - h.removeText)),
                  { enterAction: h, indentation: n })
                : null
            }),
            (e.prototype.getIndentationAtPosition = function(e, t, n) {
              var i = e.getLineContent(t),
                o = l.getLeadingWhitespace(i)
              return o.length > n - 1 && (o = o.substring(0, n - 1)), o
            }),
            (e.prototype.getScopedLineTokens = function(e, t, n) {
              e.forceTokenization(t)
              var i = e.getLineTokens(t),
                o = isNaN(n) ? e.getLineMaxColumn(t) - 1 : n
              return d.createScopedLineTokens(i, o)
            }),
            (e.prototype.getBracketsSupport = function(e) {
              var t = this._getRichEditSupport(e)
              return t ? t.brackets || null : null
            }),
            e
          )
        })()
        ;(t.LanguageConfigurationRegistryImpl = g),
          (t.LanguageConfigurationRegistry = new g())
      }),
      define(d[138], h([0, 1, 9, 17, 70, 133]), function(e, t, n, i, o, r) {
        'use strict'
        function s(e) {
          var t = i.TokenizationRegistry.get(e)
          return (
            t || {
              getInitialState: function() {
                return o.NULL_STATE
              },
              tokenize: void 0,
              tokenize2: function(e, t, n) {
                return o.nullTokenize2(0, e, t, n)
              }
            }
          )
        }
        function a(e, t) {
          for (
            var i = '<div class="monaco-tokenized-source">',
              o = e.split(/\r\n|\r|\n/),
              s = t.getInitialState(),
              a = 0,
              u = o.length;
            a < u;
            a++
          ) {
            var l = o[a]
            a > 0 && (i += '<br/>')
            for (
              var c = t.tokenize2(l, s, 0),
                d = new r.LineTokens(c.tokens, l).inflate(),
                h = 0,
                p = 0,
                f = d.length;
              p < f;
              p++
            ) {
              var g = d[p]
              ;(i +=
                '<span class="' +
                g.getType() +
                '">' +
                n.escape(l.substring(h, g.endIndex)) +
                '</span>'),
                (h = g.endIndex)
            }
            s = c.endState
          }
          return (i += '</div>')
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.tokenizeToString = function(e, t) {
            return a(e, s(t))
          }),
          (t.tokenizeLineToHTML = function(e, t, n, i, o, r) {
            for (
              var s = '<div>', a = i, u = 0, l = 0, c = t.length;
              l < c;
              l++
            ) {
              var d = t[l],
                h = d.endIndex
              if (!(d.endIndex <= i)) {
                for (var p = ''; a < h && a < o; a++) {
                  var f = e.charCodeAt(a)
                  switch (f) {
                    case 9:
                      var g = r - ((a + u) % r)
                      for (u += g - 1; g > 0; ) (p += '&nbsp;'), g--
                      break
                    case 60:
                      p += '&lt;'
                      break
                    case 62:
                      p += '&gt;'
                      break
                    case 38:
                      p += '&amp;'
                      break
                    case 0:
                      p += '&#00;'
                      break
                    case 65279:
                    case 8232:
                      p += '�'
                      break
                    case 13:
                      p += '&#8203'
                      break
                    default:
                      p += String.fromCharCode(f)
                  }
                }
                if (
                  ((s +=
                    '<span style="' +
                    d.getInlineStyle(n) +
                    '">' +
                    p +
                    '</span>'),
                  d.endIndex > o || a >= o)
                )
                  break
              }
            }
            return (s += '</div>')
          })
      }),
      define(d[209], h([0, 1, 11]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e() {
            ;(this._transientWatchers = {}),
              (this._codeEditors = Object.create(null)),
              (this._diffEditors = Object.create(null)),
              (this._onCodeEditorAdd = new n.Emitter()),
              (this._onCodeEditorRemove = new n.Emitter()),
              (this._onDiffEditorAdd = new n.Emitter()),
              (this._onDiffEditorRemove = new n.Emitter())
          }
          return (
            (e.prototype.addCodeEditor = function(e) {
              ;(this._codeEditors[e.getId()] = e), this._onCodeEditorAdd.fire(e)
            }),
            Object.defineProperty(e.prototype, 'onCodeEditorAdd', {
              get: function() {
                return this._onCodeEditorAdd.event
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.removeCodeEditor = function(e) {
              delete this._codeEditors[e.getId()] &&
                this._onCodeEditorRemove.fire(e)
            }),
            Object.defineProperty(e.prototype, 'onCodeEditorRemove', {
              get: function() {
                return this._onCodeEditorRemove.event
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.getCodeEditor = function(e) {
              return this._codeEditors[e] || null
            }),
            (e.prototype.listCodeEditors = function() {
              var e = this
              return Object.keys(this._codeEditors).map(function(t) {
                return e._codeEditors[t]
              })
            }),
            (e.prototype.addDiffEditor = function(e) {
              ;(this._diffEditors[e.getId()] = e), this._onDiffEditorAdd.fire(e)
            }),
            Object.defineProperty(e.prototype, 'onDiffEditorAdd', {
              get: function() {
                return this._onDiffEditorAdd.event
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.removeDiffEditor = function(e) {
              delete this._diffEditors[e.getId()] &&
                this._onDiffEditorRemove.fire(e)
            }),
            Object.defineProperty(e.prototype, 'onDiffEditorRemove', {
              get: function() {
                return this._onDiffEditorRemove.event
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.getDiffEditor = function(e) {
              return this._diffEditors[e] || null
            }),
            (e.prototype.listDiffEditors = function() {
              var e = this
              return Object.keys(this._diffEditors).map(function(t) {
                return e._diffEditors[t]
              })
            }),
            (e.prototype.getFocusedCodeEditor = function() {
              for (
                var e = null, t = this.listCodeEditors(), n = 0;
                n < t.length;
                n++
              ) {
                var i = t[n]
                if (i.isFocused()) return i
                i.hasWidgetFocus() && (e = i)
              }
              return e
            }),
            (e.prototype.setTransientModelProperty = function(e, t, n) {
              var i,
                r = e.uri.toString()
              this._transientWatchers.hasOwnProperty(r)
                ? (i = this._transientWatchers[r])
                : ((i = new o(r, e, this)), (this._transientWatchers[r] = i)),
                i.set(t, n)
            }),
            (e.prototype.getTransientModelProperty = function(e, t) {
              var n = e.uri.toString()
              if (this._transientWatchers.hasOwnProperty(n))
                return this._transientWatchers[n].get(t)
            }),
            (e.prototype._removeWatcher = function(e) {
              delete this._transientWatchers[e.uri]
            }),
            e
          )
        })()
        t.AbstractCodeEditorService = i
        var o = (function() {
          function e(e, t, n) {
            var i = this
            ;(this.uri = e),
              (this._values = {}),
              t.onWillDispose(function() {
                return n._removeWatcher(i)
              })
          }
          return (
            (e.prototype.set = function(e, t) {
              this._values[e] = t
            }),
            (e.prototype.get = function(e) {
              return this._values[e]
            }),
            e
          )
        })()
        t.ModelTransientSettingWatcher = o
      }),
      define(d[193], h([0, 1, 11, 39, 12, 2, 22, 8, 118, 96, 24]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var d
        !(function(e) {
          ;(e[(e.Ignore = 0)] = 'Ignore'),
            (e[(e.Info = 1)] = 'Info'),
            (e[(e.Warning = 2)] = 'Warning'),
            (e[(e.Error = 3)] = 'Error')
        })((d = t.Severity || (t.Severity = {})))
        var h = (function() {
          function e() {}
          return (
            (e.chord = function(e, t) {
              return i.KeyChord(e, t)
            }),
            e
          )
        })()
        ;(h.CtrlCmd = 2048),
          (h.Shift = 1024),
          (h.Alt = 512),
          (h.WinCtrl = 256),
          (t.KeyMod = h)
        var p
        !(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')
        })((p = t.KeyCode || (t.KeyCode = {}))),
          (t.createMonacoBaseAPI = function() {
            return {
              editor: void 0,
              languages: void 0,
              CancellationTokenSource: u.CancellationTokenSource,
              Emitter: n.Emitter,
              KeyCode: p,
              KeyMod: h,
              Position: o.Position,
              Range: r.Range,
              Selection: s.Selection,
              SelectionDirection: s.SelectionDirection,
              Severity: d,
              Promise: a.TPromise,
              Uri: c.default,
              Token: l.Token
            }
          })
      }),
      define(d[136], h([0, 1, 17, 11]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = (function() {
          function e() {
            var e = this
            ;(this._onDidChange = new i.Emitter()),
              (this.onDidChange = this._onDidChange.event),
              this._updateColorMap(),
              n.TokenizationRegistry.onDidChange(function(t) {
                t.changedColorMap && e._updateColorMap()
              })
          }
          return (
            (e.getInstance = function() {
              return (
                this._INSTANCE || (this._INSTANCE = new e()), this._INSTANCE
              )
            }),
            (e.prototype._updateColorMap = function() {
              var e = n.TokenizationRegistry.getColorMap()
              if (!e)
                return (
                  (this._colors = [null]), void (this._backgroundIsLight = !0)
                )
              this._colors = [null]
              for (var t = 1; t < e.length; t++) this._colors[t] = e[t].toRGBA()
              var i = e[2].getLuminosity()
              ;(this._backgroundIsLight = i >= 0.5),
                this._onDidChange.fire(void 0)
            }),
            (e.prototype.getColor = function(e) {
              return (
                (e < 1 || e >= this._colors.length) && (e = 2), this._colors[e]
              )
            }),
            (e.prototype.backgroundIsLight = function() {
              return this._backgroundIsLight
            }),
            e
          )
        })()
        ;(o._INSTANCE = null), (t.MinimapTokensColorTracker = o)
        !(function(e) {
          ;(e[(e.START_CH_CODE = 32)] = 'START_CH_CODE'),
            (e[(e.END_CH_CODE = 126)] = 'END_CH_CODE'),
            (e[(e.CHAR_COUNT = 95)] = 'CHAR_COUNT'),
            (e[(e.SAMPLED_CHAR_HEIGHT = 16)] = 'SAMPLED_CHAR_HEIGHT'),
            (e[(e.SAMPLED_CHAR_WIDTH = 10)] = 'SAMPLED_CHAR_WIDTH'),
            (e[(e.SAMPLED_HALF_CHAR_WIDTH = 5)] = 'SAMPLED_HALF_CHAR_WIDTH'),
            (e[(e.x2_CHAR_HEIGHT = 4)] = 'x2_CHAR_HEIGHT'),
            (e[(e.x2_CHAR_WIDTH = 2)] = 'x2_CHAR_WIDTH'),
            (e[(e.x1_CHAR_HEIGHT = 2)] = 'x1_CHAR_HEIGHT'),
            (e[(e.x1_CHAR_WIDTH = 1)] = 'x1_CHAR_WIDTH'),
            (e[(e.RGBA_CHANNELS_CNT = 4)] = 'RGBA_CHANNELS_CNT')
        })(t.Constants || (t.Constants = {}))
        var r = (function() {
          function e(t, n) {
            if (760 !== t.length) throw new Error('Invalid x2CharData')
            if (190 !== n.length) throw new Error('Invalid x1CharData')
            ;(this.x2charData = t),
              (this.x1charData = n),
              (this.x2charDataLight = e.soften(t, 0.8)),
              (this.x1charDataLight = e.soften(n, 50 / 60))
          }
          return (
            (e.soften = function(e, t) {
              for (
                var n = new Uint8ClampedArray(e.length), i = 0, o = e.length;
                i < o;
                i++
              )
                n[i] = e[i] * t
              return n
            }),
            (e._getChIndex = function(e) {
              return (e -= 32) < 0 && (e += 95), e % 95
            }),
            (e.prototype.x2RenderChar = function(t, n, i, o, r, s, a) {
              if (n + 2 > t.width || i + 4 > t.height)
                console.warn('bad render request outside image data')
              else {
                var u = a ? this.x2charDataLight : this.x2charData,
                  l = e._getChIndex(o),
                  c = 4 * t.width,
                  d = s.r,
                  h = s.g,
                  p = s.b,
                  f = r.r - d,
                  g = r.g - h,
                  m = r.b - p,
                  v = t.data,
                  _ = 4 * l * 2,
                  y = i * c + 4 * n,
                  b = u[_] / 255
                ;(v[y + 0] = d + f * b),
                  (v[y + 1] = h + g * b),
                  (v[y + 2] = p + m * b)
                b = u[_ + 1] / 255
                ;(v[y + 4] = d + f * b),
                  (v[y + 5] = h + g * b),
                  (v[y + 6] = p + m * b),
                  (y += c)
                b = u[_ + 2] / 255
                ;(v[y + 0] = d + f * b),
                  (v[y + 1] = h + g * b),
                  (v[y + 2] = p + m * b)
                b = u[_ + 3] / 255
                ;(v[y + 4] = d + f * b),
                  (v[y + 5] = h + g * b),
                  (v[y + 6] = p + m * b),
                  (y += c)
                b = u[_ + 4] / 255
                ;(v[y + 0] = d + f * b),
                  (v[y + 1] = h + g * b),
                  (v[y + 2] = p + m * b)
                b = u[_ + 5] / 255
                ;(v[y + 4] = d + f * b),
                  (v[y + 5] = h + g * b),
                  (v[y + 6] = p + m * b),
                  (y += c)
                b = u[_ + 6] / 255
                ;(v[y + 0] = d + f * b),
                  (v[y + 1] = h + g * b),
                  (v[y + 2] = p + m * b)
                b = u[_ + 7] / 255
                ;(v[y + 4] = d + f * b),
                  (v[y + 5] = h + g * b),
                  (v[y + 6] = p + m * b)
              }
            }),
            (e.prototype.x1RenderChar = function(t, n, i, o, r, s, a) {
              if (n + 1 > t.width || i + 2 > t.height)
                console.warn('bad render request outside image data')
              else {
                var u = a ? this.x1charDataLight : this.x1charData,
                  l = e._getChIndex(o),
                  c = 4 * t.width,
                  d = s.r,
                  h = s.g,
                  p = s.b,
                  f = r.r - d,
                  g = r.g - h,
                  m = r.b - p,
                  v = t.data,
                  _ = 2 * l * 1,
                  y = i * c + 4 * n,
                  b = u[_] / 255
                ;(v[y + 0] = d + f * b),
                  (v[y + 1] = h + g * b),
                  (v[y + 2] = p + m * b),
                  (y += c)
                b = u[_ + 1] / 255
                ;(v[y + 0] = d + f * b),
                  (v[y + 1] = h + g * b),
                  (v[y + 2] = p + m * b)
              }
            }),
            (e.prototype.x2BlockRenderChar = function(e, t, n, i, o, r) {
              if (t + 2 > e.width || n + 4 > e.height)
                console.warn('bad render request outside image data')
              else {
                var s = 4 * e.width,
                  a = o.r,
                  u = o.g,
                  l = o.b,
                  c = a + 0.5 * (i.r - a),
                  d = u + 0.5 * (i.g - u),
                  h = l + 0.5 * (i.b - l),
                  p = e.data,
                  f = n * s + 4 * t
                ;(p[f + 0] = c),
                  (p[f + 1] = d),
                  (p[f + 2] = h),
                  (p[f + 4] = c),
                  (p[f + 5] = d),
                  (p[f + 6] = h),
                  (p[(f += s) + 0] = c),
                  (p[f + 1] = d),
                  (p[f + 2] = h),
                  (p[f + 4] = c),
                  (p[f + 5] = d),
                  (p[f + 6] = h),
                  (p[(f += s) + 0] = c),
                  (p[f + 1] = d),
                  (p[f + 2] = h),
                  (p[f + 4] = c),
                  (p[f + 5] = d),
                  (p[f + 6] = h),
                  (p[(f += s) + 0] = c),
                  (p[f + 1] = d),
                  (p[f + 2] = h),
                  (p[f + 4] = c),
                  (p[f + 5] = d),
                  (p[f + 6] = h)
              }
            }),
            (e.prototype.x1BlockRenderChar = function(e, t, n, i, o, r) {
              if (t + 1 > e.width || n + 2 > e.height)
                console.warn('bad render request outside image data')
              else {
                var s = 4 * e.width,
                  a = o.r,
                  u = o.g,
                  l = o.b,
                  c = a + 0.5 * (i.r - a),
                  d = u + 0.5 * (i.g - u),
                  h = l + 0.5 * (i.b - l),
                  p = e.data,
                  f = n * s + 4 * t
                ;(p[f + 0] = c),
                  (p[f + 1] = d),
                  (p[f + 2] = h),
                  (p[(f += s) + 0] = c),
                  (p[f + 1] = d),
                  (p[f + 2] = h)
              }
            }),
            e
          )
        })()
        t.MinimapCharRenderer = r
      }),
      define(d[80], h([0, 1, 2]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e(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)
            var n = this._viewLayout.getCurrentViewport()
            ;(this.scrollTop = n.top),
              (this.scrollLeft = n.left),
              (this.viewportWidth = n.width),
              (this.viewportHeight = n.height)
          }
          return (
            (e.prototype.getScrolledTopFromAbsoluteTop = function(e) {
              return e - this.scrollTop
            }),
            (e.prototype.getVerticalOffsetForLineNumber = function(e) {
              return this._viewLayout.getVerticalOffsetForLineNumber(e)
            }),
            (e.prototype.lineIsVisible = function(e) {
              return (
                this.visibleRange.startLineNumber <= e &&
                e <= this.visibleRange.endLineNumber
              )
            }),
            (e.prototype.getDecorationsInViewport = function() {
              return this.viewportData.getDecorationsInViewport()
            }),
            e
          )
        })()
        t.RestrictedRenderingContext = i
        var o = (function(e) {
          function t(t, n, i) {
            var o = e.call(this, t, n) || this
            return (o._viewLines = i), o
          }
          return (
            f(t, e),
            (t.prototype.linesVisibleRangesForRange = function(e, t) {
              return this._viewLines.linesVisibleRangesForRange(e, t)
            }),
            (t.prototype.visibleRangeForPosition = function(e) {
              var t = this._viewLines.visibleRangesForRange2(
                new n.Range(e.lineNumber, e.column, e.lineNumber, e.column)
              )
              return t ? t[0] : null
            }),
            t
          )
        })(i)
        t.RenderingContext = o
        var r = (function() {
          return function(e, t) {
            ;(this.lineNumber = e), (this.ranges = t)
          }
        })()
        t.LineVisibleRanges = r
        var s = (function() {
          function e(e, t) {
            ;(this.left = Math.round(e)), (this.width = Math.round(t))
          }
          return (
            (e.prototype.toString = function() {
              return '[' + this.left + ',' + this.width + ']'
            }),
            e
          )
        })()
        t.HorizontalRange = s
      }),
      define(d[213], h([0, 1, 80]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
            function e(e, t) {
              ;(this.left = e), (this.width = t)
            }
            return (
              (e.prototype.toString = function() {
                return '[' + this.left + ',' + this.width + ']'
              }),
              (e.compare = function(e, t) {
                return e.left - t.left
              }),
              e
            )
          })(),
          o = (function() {
            function e() {}
            return (
              (e._createRange = function() {
                return (
                  this._handyReadyRange ||
                    (this._handyReadyRange = document.createRange()),
                  this._handyReadyRange
                )
              }),
              (e._detachRange = function(e, t) {
                e.selectNodeContents(t)
              }),
              (e._readClientRects = function(e, t, n, i, o) {
                var r = this._createRange()
                try {
                  return r.setStart(e, t), r.setEnd(n, i), r.getClientRects()
                } catch (e) {
                  return null
                } finally {
                  this._detachRange(r, o)
                }
              }),
              (e._mergeAdjacentRanges = function(e) {
                if (1 === e.length)
                  return [new n.HorizontalRange(e[0].left, e[0].width)]
                e.sort(i.compare)
                for (
                  var t = [],
                    o = 0,
                    r = e[0].left,
                    s = e[0].width,
                    a = 1,
                    u = e.length;
                  a < u;
                  a++
                ) {
                  var l = e[a],
                    c = l.left,
                    d = l.width
                  r + s + 0.9 >= c
                    ? (s = Math.max(s, c + d - r))
                    : ((t[o++] = new n.HorizontalRange(r, s)), (r = c), (s = d))
                }
                return (t[o++] = new n.HorizontalRange(r, s)), t
              }),
              (e._createHorizontalRangesFromClientRects = function(e, t) {
                if (!e || 0 === e.length) return null
                for (var n = [], o = 0, r = e.length; o < r; o++) {
                  var s = e[o]
                  n[o] = new i(Math.max(0, s.left - t), s.width)
                }
                return this._mergeAdjacentRanges(n)
              }),
              (e.readHorizontalRanges = function(e, t, n, i, o, r, s) {
                var a = e.children.length - 1
                if (0 > a) return null
                ;(t = Math.min(a, Math.max(0, t))) !==
                  (i = Math.min(a, Math.max(0, i))) &&
                  i > 0 &&
                  0 === o &&
                  (i--, (o = Number.MAX_VALUE))
                var u = e.children[t].firstChild,
                  l = e.children[i].firstChild
                if (!u || !l) return null
                ;(n = Math.min(u.textContent.length, Math.max(0, n))),
                  (o = Math.min(l.textContent.length, Math.max(0, o)))
                var c = this._readClientRects(u, n, l, o, s)
                return this._createHorizontalRangesFromClientRects(c, r)
              }),
              e
            )
          })()
        t.RangeUtil = o
      }),
      define(d[214], h([0, 1, 136]), function(e, t, n) {
        'use strict'
        function i(e) {
          for (
            var t = new Uint8ClampedArray(e.length), n = 0, i = e.length;
            n < i;
            n++
          )
            t[n] = e[n]
          return t
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = null
        t.getOrCreateMinimapCharRenderer = function() {
          if (!o) {
            var e = i(s)
            s = null
            var t = i(r)
            ;(r = null), (o = new n.MinimapCharRenderer(t, e))
          }
          return o
        }
        var r = [
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            39,
            14,
            39,
            14,
            14,
            5,
            29,
            10,
            96,
            96,
            29,
            29,
            0,
            0,
            0,
            0,
            49,
            113,
            195,
            214,
            227,
            166,
            135,
            42,
            40,
            29,
            194,
            38,
            75,
            148,
            197,
            187,
            145,
            0,
            160,
            61,
            75,
            143,
            2,
            183,
            138,
            58,
            163,
            6,
            177,
            223,
            197,
            227,
            38,
            13,
            11,
            4,
            0,
            0,
            0,
            0,
            10,
            54,
            52,
            8,
            62,
            4,
            71,
            122,
            73,
            2,
            19,
            40,
            10,
            50,
            155,
            36,
            79,
            70,
            145,
            121,
            7,
            5,
            0,
            0,
            2,
            1,
            36,
            12,
            204,
            166,
            16,
            5,
            0,
            0,
            0,
            0,
            1,
            0,
            154,
            34,
            0,
            0,
            0,
            0,
            96,
            83,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            46,
            34,
            0,
            82,
            2,
            56,
            53,
            3,
            146,
            0,
            146,
            119,
            152,
            132,
            152,
            131,
            145,
            119,
            170,
            42,
            15,
            42,
            15,
            42,
            172,
            194,
            131,
            132,
            0,
            139,
            80,
            28,
            227,
            143,
            159,
            135,
            15,
            118,
            11,
            126,
            171,
            144,
            20,
            124,
            88,
            106,
            217,
            196,
            0,
            106,
            189,
            92,
            168,
            43,
            5,
            130,
            164,
            133,
            130,
            115,
            183,
            65,
            134,
            120,
            141,
            141,
            170,
            196,
            2,
            106,
            31,
            32,
            105,
            2,
            145,
            130,
            116,
            114,
            132,
            135,
            138,
            140,
            138,
            113,
            147,
            137,
            81,
            183,
            129,
            94,
            0,
            0,
            21,
            16,
            4,
            3,
            46,
            34,
            0,
            0,
            45,
            34,
            1,
            0,
            160,
            49,
            0,
            0,
            43,
            143,
            203,
            23,
            1,
            76,
            0,
            0,
            38,
            28,
            131,
            96,
            38,
            28,
            0,
            0,
            168,
            31,
            29,
            191,
            98,
            0,
            118,
            139,
            5,
            113,
            45,
            13,
            37,
            6,
            97,
            115,
            161,
            179,
            204,
            105,
            223,
            224,
            83,
            52,
            111,
            100,
            184,
            186,
            120,
            132,
            212,
            145,
            180,
            139,
            174,
            161,
            212,
            182,
            104,
            162,
            131,
            0,
            131,
            0,
            104,
            161,
            219,
            120,
            110,
            116,
            110,
            116,
            219,
            120,
            207,
            154,
            163,
            40,
            147,
            22,
            207,
            154,
            202,
            159,
            161,
            47,
            145,
            23,
            111,
            0,
            139,
            154,
            144,
            30,
            144,
            135,
            139,
            187,
            110,
            110,
            168,
            161,
            150,
            145,
            110,
            110,
            185,
            162,
            43,
            16,
            43,
            16,
            185,
            162,
            73,
            129,
            0,
            110,
            0,
            110,
            191,
            87,
            149,
            149,
            236,
            48,
            195,
            91,
            146,
            149,
            146,
            0,
            146,
            0,
            146,
            0,
            187,
            173,
            200,
            201,
            222,
            215,
            172,
            147,
            95,
            95,
            193,
            97,
            224,
            129,
            159,
            206,
            97,
            192,
            155,
            139,
            153,
            115,
            153,
            115,
            156,
            140,
            189,
            158,
            123,
            136,
            190,
            64,
            111,
            0,
            155,
            139,
            153,
            115,
            153,
            114,
            156,
            241,
            197,
            148,
            150,
            152,
            170,
            116,
            110,
            157,
            156,
            128,
            169,
            14,
            13,
            159,
            158,
            149,
            212,
            189,
            43,
            16,
            43,
            16,
            43,
            16,
            148,
            110,
            148,
            110,
            147,
            109,
            182,
            151,
            133,
            121,
            106,
            118,
            114,
            103,
            89,
            66,
            94,
            94,
            211,
            188,
            205,
            207,
            139,
            168,
            151,
            152,
            87,
            76,
            101,
            79,
            151,
            152,
            130,
            156,
            125,
            116,
            47,
            29,
            43,
            16,
            169,
            228,
            11,
            103,
            120,
            6,
            230,
            176,
            55,
            49,
            55,
            6,
            55,
            6,
            193,
            102,
            92,
            0,
            71,
            0,
            13,
            30,
            0,
            147,
            63,
            43,
            12,
            43,
            12,
            43,
            142,
            152,
            71,
            53,
            61,
            61,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            158,
            146,
            25,
            2,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            0,
            107,
            130,
            170,
            194,
            176,
            188,
            109,
            0,
            203,
            159,
            113,
            111,
            202,
            158,
            0,
            0,
            135,
            135,
            114,
            0,
            136,
            135,
            0,
            109,
            187,
            190,
            148,
            126,
            177,
            187,
            0,
            0,
            149,
            130,
            218,
            105,
            169,
            135,
            37,
            113,
            146,
            113,
            49,
            13,
            49,
            13,
            0,
            0,
            178,
            195,
            147,
            114,
            255,
            255,
            109,
            0,
            193,
            149,
            110,
            109,
            109,
            109,
            12,
            15,
            125,
            41,
            33,
            41,
            144,
            188,
            1,
            6,
            75,
            53,
            10,
            53,
            210,
            161,
            110,
            0,
            152,
            148,
            210,
            60,
            110,
            156,
            213,
            5,
            63,
            5,
            63,
            5,
            45,
            111,
            0,
            0,
            232,
            172,
            190,
            168,
            190,
            169,
            0,
            0,
            190,
            144,
            109,
            109,
            109,
            109,
            0,
            0,
            168,
            140,
            148,
            111,
            168,
            140,
            0,
            0,
            200,
            151,
            113,
            110,
            255,
            158,
            0,
            0,
            184,
            188,
            147,
            139,
            186,
            255,
            0,
            0,
            122,
            130,
            111,
            0,
            109,
            0,
            0,
            0,
            132,
            69,
            109,
            93,
            110,
            136,
            51,
            5,
            205,
            103,
            61,
            6,
            47,
            106,
            0,
            0,
            110,
            109,
            110,
            122,
            155,
            179,
            0,
            0,
            132,
            120,
            113,
            114,
            84,
            63,
            0,
            0,
            124,
            108,
            202,
            189,
            160,
            174,
            0,
            0,
            144,
            142,
            79,
            57,
            159,
            146,
            0,
            0,
            138,
            138,
            119,
            117,
            255,
            69,
            0,
            0,
            97,
            198,
            47,
            38,
            208,
            84,
            23,
            112,
            41,
            14,
            157,
            7,
            121,
            192,
            35,
            11,
            35,
            11,
            35,
            11,
            160,
            61,
            129,
            9,
            40,
            19,
            20,
            139,
            236,
            44,
            0,
            0,
            15,
            3,
            97,
            93,
            0,
            0
          ],
          s = [
            0,
            0,
            23,
            12,
            53,
            0,
            130,
            127,
            58,
            149,
            67,
            77,
            72,
            198,
            13,
            0,
            25,
            51,
            25,
            49,
            94,
            2,
            8,
            64,
            0,
            24,
            0,
            21,
            0,
            9,
            19,
            27,
            126,
            126,
            51,
            80,
            72,
            105,
            87,
            98,
            73,
            93,
            106,
            85,
            111,
            123,
            87,
            30,
            116,
            126,
            123,
            110,
            4,
            16,
            9,
            28,
            21,
            53,
            8,
            62,
            23,
            52,
            73,
            21,
            132,
            183,
            78,
            142,
            168,
            175,
            70,
            70,
            128,
            128,
            123,
            110,
            125,
            43,
            100,
            139,
            125,
            119,
            78,
            78,
            54,
            77,
            139,
            139,
            33,
            87,
            201,
            117,
            162,
            149,
            130,
            130,
            138,
            60,
            130,
            172,
            149,
            127,
            95,
            98,
            95,
            25,
            118,
            135,
            110,
            85,
            147,
            175,
            105,
            110,
            121,
            30,
            101,
            113,
            34,
            68,
            20,
            26,
            34,
            68,
            56,
            0,
            0,
            44,
            3,
            0,
            27,
            175,
            80,
            133,
            31,
            66,
            85,
            147,
            32,
            150,
            90,
            25,
            45,
            230,
            77,
            101,
            36,
            83,
            22,
            84,
            71,
            118,
            44,
            44,
            52,
            172,
            38,
            101,
            35,
            130,
            40,
            197,
            43,
            197,
            29,
            26,
            23,
            103,
            67,
            44,
            25,
            129,
            29,
            85,
            27,
            177,
            33,
            97,
            32,
            145,
            33,
            77,
            38,
            96,
            20,
            55,
            36,
            95,
            2,
            22
          ]
      }),
      define(d[215], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var n = (function() {
          function e(e, t, n, i) {
            ;(this.configuration = e),
              (this.theme = t),
              (this.model = n),
              (this.viewLayout = n.viewLayout),
              (this.privateViewEventBus = i)
          }
          return (
            (e.prototype.addEventHandler = function(e) {
              this.privateViewEventBus.addEventHandler(e)
            }),
            (e.prototype.removeEventHandler = function(e) {
              this.privateViewEventBus.removeEventHandler(e)
            }),
            e
          )
        })()
        t.ViewContext = n
      }),
      define(d[216], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var n = (function() {
          function e(e) {
            ;(this._eventHandlerGateKeeper = e),
              (this._eventHandlers = []),
              (this._eventQueue = null),
              (this._isConsumingQueue = !1)
          }
          return (
            (e.prototype.addEventHandler = function(e) {
              for (var t = 0, n = this._eventHandlers.length; t < n; t++)
                this._eventHandlers[t] === e &&
                  console.warn(
                    'Detected duplicate listener in ViewEventDispatcher',
                    e
                  )
              this._eventHandlers.push(e)
            }),
            (e.prototype.removeEventHandler = function(e) {
              for (var t = 0; t < this._eventHandlers.length; t++)
                if (this._eventHandlers[t] === e) {
                  this._eventHandlers.splice(t, 1)
                  break
                }
            }),
            (e.prototype.emit = function(e) {
              this._eventQueue
                ? this._eventQueue.push(e)
                : (this._eventQueue = [e]),
                this._isConsumingQueue || this.consumeQueue()
            }),
            (e.prototype.emitMany = function(e) {
              this._eventQueue
                ? (this._eventQueue = this._eventQueue.concat(e))
                : (this._eventQueue = e),
                this._isConsumingQueue || this.consumeQueue()
            }),
            (e.prototype.consumeQueue = function() {
              var e = this
              this._eventHandlerGateKeeper(function() {
                try {
                  ;(e._isConsumingQueue = !0), e._doConsumeQueue()
                } finally {
                  e._isConsumingQueue = !1
                }
              })
            }),
            (e.prototype._doConsumeQueue = function() {
              for (; this._eventQueue; ) {
                var e = this._eventQueue
                this._eventQueue = null
                for (
                  var t = this._eventHandlers.slice(0), n = 0, i = t.length;
                  n < i;
                  n++
                )
                  t[n].handleEvents(e)
              }
            }),
            e
          )
        })()
        t.ViewEventDispatcher = n
      }),
      define(d[56], h([0, 1, 10, 3]), function(e, t, n, i) {
        'use strict'
        function o(e, t) {
          try {
            e(t)
          } catch (e) {
            n.onUnexpectedError(e)
          }
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        !(function(e) {
          ;(e[(e.ViewConfigurationChanged = 1)] = 'ViewConfigurationChanged'),
            (e[(e.ViewCursorStateChanged = 2)] = 'ViewCursorStateChanged'),
            (e[(e.ViewDecorationsChanged = 3)] = 'ViewDecorationsChanged'),
            (e[(e.ViewFlushed = 4)] = 'ViewFlushed'),
            (e[(e.ViewFocusChanged = 5)] = 'ViewFocusChanged'),
            (e[(e.ViewLineMappingChanged = 6)] = 'ViewLineMappingChanged'),
            (e[(e.ViewLinesChanged = 7)] = 'ViewLinesChanged'),
            (e[(e.ViewLinesDeleted = 8)] = 'ViewLinesDeleted'),
            (e[(e.ViewLinesInserted = 9)] = 'ViewLinesInserted'),
            (e[(e.ViewRevealRangeRequest = 10)] = 'ViewRevealRangeRequest'),
            (e[(e.ViewScrollChanged = 11)] = 'ViewScrollChanged'),
            (e[(e.ViewTokensChanged = 12)] = 'ViewTokensChanged'),
            (e[(e.ViewTokensColorsChanged = 13)] = 'ViewTokensColorsChanged'),
            (e[(e.ViewZonesChanged = 14)] = 'ViewZonesChanged'),
            (e[(e.ViewThemeChanged = 15)] = 'ViewThemeChanged')
        })(t.ViewEventType || (t.ViewEventType = {}))
        var r = (function() {
          return function(e) {
            ;(this.type = 1),
              (this.canUseLayerHinting = e.canUseLayerHinting),
              (this.pixelRatio = e.pixelRatio),
              (this.editorClassName = e.editorClassName),
              (this.lineHeight = e.lineHeight),
              (this.readOnly = e.readOnly),
              (this.accessibilitySupport = e.accessibilitySupport),
              (this.emptySelectionClipboard = e.emptySelectionClipboard),
              (this.layoutInfo = e.layoutInfo),
              (this.fontInfo = e.fontInfo),
              (this.viewInfo = e.viewInfo),
              (this.wrappingInfo = e.wrappingInfo)
          }
        })()
        t.ViewConfigurationChangedEvent = r
        var s = (function() {
          return function(e, t, n) {
            ;(this.type = 2),
              (this.selections = e),
              (this.isInEditableRange = t),
              (this.screenReaderMessage = n)
          }
        })()
        t.ViewCursorStateChangedEvent = s
        var a = (function() {
          return function() {
            this.type = 3
          }
        })()
        t.ViewDecorationsChangedEvent = a
        var u = (function() {
          return function() {
            this.type = 4
          }
        })()
        t.ViewFlushedEvent = u
        var l = (function() {
          return function(e) {
            ;(this.type = 5), (this.isFocused = e)
          }
        })()
        t.ViewFocusChangedEvent = l
        var c = (function() {
          return function() {
            this.type = 6
          }
        })()
        t.ViewLineMappingChangedEvent = c
        var d = (function() {
          return function(e, t) {
            ;(this.type = 7), (this.fromLineNumber = e), (this.toLineNumber = t)
          }
        })()
        t.ViewLinesChangedEvent = d
        var h = (function() {
          return function(e, t) {
            ;(this.type = 8), (this.fromLineNumber = e), (this.toLineNumber = t)
          }
        })()
        t.ViewLinesDeletedEvent = h
        var p = (function() {
          return function(e, t) {
            ;(this.type = 9), (this.fromLineNumber = e), (this.toLineNumber = t)
          }
        })()
        t.ViewLinesInsertedEvent = p
        !(function(e) {
          ;(e[(e.Simple = 0)] = 'Simple'),
            (e[(e.Center = 1)] = 'Center'),
            (e[(e.CenterIfOutsideViewport = 2)] = 'CenterIfOutsideViewport'),
            (e[(e.Top = 3)] = 'Top'),
            (e[(e.Bottom = 4)] = 'Bottom')
        })(t.VerticalRevealType || (t.VerticalRevealType = {}))
        var g = (function() {
          return function(e, t, n) {
            ;(this.type = 10),
              (this.range = e),
              (this.verticalType = t),
              (this.revealHorizontal = n)
          }
        })()
        t.ViewRevealRangeRequestEvent = g
        var m = (function() {
          return function(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)
          }
        })()
        t.ViewScrollChangedEvent = m
        var v = (function() {
          return function(e) {
            ;(this.type = 12), (this.ranges = e)
          }
        })()
        t.ViewTokensChangedEvent = v
        var _ = (function() {
          return function() {
            this.type = 15
          }
        })()
        t.ViewThemeChangedEvent = _
        var y = (function() {
          return function() {
            this.type = 13
          }
        })()
        t.ViewTokensColorsChangedEvent = y
        var b = (function() {
          return function() {
            this.type = 14
          }
        })()
        t.ViewZonesChangedEvent = b
        var C = (function(e) {
          function t() {
            var t = e.call(this) || this
            return (t._listeners = []), t
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              ;(this._listeners = []), e.prototype.dispose.call(this)
            }),
            (t.prototype._emit = function(e) {
              for (
                var t = this._listeners.slice(0), n = 0, i = t.length;
                n < i;
                n++
              )
                o(t[n], e)
            }),
            (t.prototype.addEventListener = function(e) {
              var t = this
              return (
                this._listeners.push(e),
                {
                  dispose: function() {
                    for (var n = t._listeners, i = 0, o = n.length; i < o; i++)
                      if (n[i] === e) {
                        n.splice(i, 1)
                        break
                      }
                  }
                }
              )
            }),
            t
          )
        })(i.Disposable)
        t.ViewEventEmitter = C
      }),
      define(d[126], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var n = (function() {
          function e(e, t, n, i) {
            ;(this.startColumn = e),
              (this.endColumn = t),
              (this.className = n),
              (this.insertsBeforeOrAfter = i)
          }
          return (
            (e._equals = function(e, t) {
              return (
                e.startColumn === t.startColumn &&
                e.endColumn === t.endColumn &&
                e.className === t.className &&
                e.insertsBeforeOrAfter === t.insertsBeforeOrAfter
              )
            }),
            (e.equalsArr = function(t, n) {
              var i = t.length
              if (i !== n.length) return !1
              for (var o = 0; o < i; o++) if (!e._equals(t[o], n[o])) return !1
              return !0
            }),
            (e.filter = function(t, n, i, o) {
              if (0 === t.length) return []
              for (var r = [], s = 0, a = 0, u = t.length; a < u; a++) {
                var l = t[a],
                  c = l.range
                if (
                  !(c.endLineNumber < n || c.startLineNumber > n) &&
                  !c.isEmpty()
                ) {
                  var d = c.startLineNumber === n ? c.startColumn : i,
                    h = c.endLineNumber === n ? c.endColumn : o
                  h <= 1 ||
                    (r[s++] = new e(
                      d,
                      h,
                      l.inlineClassName,
                      l.insertsBeforeOrAfter
                    ))
                }
              }
              return r
            }),
            (e.compare = function(e, t) {
              return e.startColumn === t.startColumn
                ? e.endColumn === t.endColumn
                  ? e.className < t.className
                    ? -1
                    : e.className > t.className
                      ? 1
                      : 0
                  : e.endColumn - t.endColumn
                : e.startColumn - t.startColumn
            }),
            e
          )
        })()
        t.LineDecoration = n
        var i = (function() {
          return function(e, t, n) {
            ;(this.startOffset = e), (this.endOffset = t), (this.className = n)
          }
        })()
        t.DecorationSegment = i
        var o = (function() {
            function e() {
              ;(this.stopOffsets = []), (this.classNames = []), (this.count = 0)
            }
            return (
              (e.prototype.consumeLowerThan = function(e, t, n) {
                for (; this.count > 0 && this.stopOffsets[0] < e; ) {
                  for (
                    var o = 0;
                    o + 1 < this.count &&
                    this.stopOffsets[o] === this.stopOffsets[o + 1];

                  )
                    o++
                  n.push(
                    new i(t, this.stopOffsets[o], this.classNames.join(' '))
                  ),
                    (t = this.stopOffsets[o] + 1),
                    this.stopOffsets.splice(0, o + 1),
                    this.classNames.splice(0, o + 1),
                    (this.count -= o + 1)
                }
                return (
                  this.count > 0 &&
                    t < e &&
                    (n.push(new i(t, e - 1, this.classNames.join(' '))),
                    (t = e)),
                  t
                )
              }),
              (e.prototype.insert = function(e, t) {
                if (0 === this.count || this.stopOffsets[this.count - 1] <= e)
                  this.stopOffsets.push(e), this.classNames.push(t)
                else
                  for (var n = 0; n < this.count; n++)
                    if (this.stopOffsets[n] >= e) {
                      this.stopOffsets.splice(n, 0, e),
                        this.classNames.splice(n, 0, t)
                      break
                    }
                this.count++
              }),
              e
            )
          })(),
          r = (function() {
            function e() {}
            return (
              (e.normalize = function(e) {
                if (0 === e.length) return []
                for (
                  var t = [], n = new o(), i = 0, r = 0, s = e.length;
                  r < s;
                  r++
                ) {
                  var a = e[r],
                    u = a.startColumn - 1,
                    l = a.endColumn - 2
                  ;(i = n.consumeLowerThan(u, i, t)),
                    0 === n.count && (i = u),
                    n.insert(l, a.className)
                }
                return n.consumeLowerThan(1073741824, i, t), t
              }),
              e
            )
          })()
        t.LineDecorationsNormalizer = r
      }),
      define(d[109], h([0, 1, 79, 126, 9]), function(e, t, n, i, o) {
        'use strict'
        function r(e) {
          var t,
            n,
            i = e.useMonospaceOptimizations,
            r = e.lineContent
          ;-1 !== e.stopRenderingLineAfter &&
          e.stopRenderingLineAfter < r.length
            ? ((t = !0), (n = e.stopRenderingLineAfter))
            : ((t = !1), (n = r.length))
          var c = s(e.lineTokens, e.fauxIndentLength, n)
          ;(2 !== e.renderWhitespace && 1 !== e.renderWhitespace) ||
            (c = u(
              r,
              n,
              c,
              e.fauxIndentLength,
              e.tabSize,
              i,
              1 === e.renderWhitespace
            ))
          var d = !1
          if (e.lineDecorations.length > 0) {
            for (var h = 0, p = e.lineDecorations.length; h < p; h++)
              if (e.lineDecorations[h].insertsBeforeOrAfter) {
                d = !0
                break
              }
            c = l(r, n, c, e.lineDecorations)
          }
          var f = !1
          return (
            e.mightContainRTL && (f = o.containsRTL(r)),
            f || e.fontLigatures || (c = a(r, c)),
            new m(
              i,
              r,
              n,
              t,
              c,
              d,
              e.tabSize,
              f,
              e.spaceWidth,
              e.renderWhitespace,
              e.renderControlCharacters
            )
          )
        }
        function s(e, t, n) {
          var i = [],
            o = 0
          t > 0 && (i[o++] = new d(t, ''))
          for (var r = 0, s = e.length; r < s; r++) {
            var a = e[r],
              u = a.endIndex
            if (!(u <= t)) {
              var l = a.getType()
              if (u >= n) {
                i[o++] = new d(n, l)
                break
              }
              i[o++] = new d(u, l)
            }
          }
          return i
        }
        function a(e, t) {
          for (var n = 0, i = [], r = 0, s = 0, a = t.length; s < a; s++) {
            var u = t[s],
              l = u.endIndex,
              c = l - n
            if (c > 50) {
              for (var h = u.type, p = Math.ceil(c / 50), f = 1; f < p; f++) {
                var g = n + 50 * f,
                  m = e.charCodeAt(g - 1)
                o.isHighSurrogate(m) && g--, (i[r++] = new d(g, h))
              }
              i[r++] = new d(l, h)
            } else i[r++] = u
            n = l
          }
          return i
        }
        function u(e, t, n, i, r, s, a) {
          var u,
            l = [],
            c = 0,
            h = 0,
            p = n[h].type,
            f = n[h].endIndex,
            g = o.firstNonWhitespaceIndex(e)
          ;-1 === g ? ((g = t), (u = t)) : (u = o.lastNonWhitespaceIndex(e))
          for (var m = 0, v = 0; v < i; v++)
            9 === (y = e.charCodeAt(v)) ? (m = r) : m++
          m %= r
          for (var _ = !1, v = i; v < t; v++) {
            var y = e.charCodeAt(v),
              b = void 0
            if (v < g || v > u) b = !0
            else if (9 === y) b = !0
            else if (32 === y)
              if (a)
                if (_) b = !0
                else {
                  var C = v + 1 < t ? e.charCodeAt(v + 1) : 0
                  b = 32 === C || 9 === C
                }
              else b = !0
            else b = !1
            _
              ? (!b || (!s && m >= r)) &&
                ((l[c++] = new d(v, 'vs-whitespace')), (m %= r))
              : (v === f || (b && v > i)) && ((l[c++] = new d(v, p)), (m %= r)),
              9 === y ? (m = r) : m++,
              (_ = b),
              v === f && ((p = n[++h].type), (f = n[h].endIndex))
          }
          return (l[c++] = _ ? new d(t, 'vs-whitespace') : new d(t, p)), l
        }
        function l(e, t, n, o) {
          o.sort(i.LineDecoration.compare)
          for (
            var r = i.LineDecorationsNormalizer.normalize(o),
              s = r.length,
              a = 0,
              u = [],
              l = 0,
              c = 0,
              h = 0,
              p = n.length;
            h < p;
            h++
          ) {
            for (
              var f = n[h], g = f.endIndex, m = f.type;
              a < s && r[a].startOffset < g;

            ) {
              var v = r[a]
              if (
                (v.startOffset > c &&
                  ((c = v.startOffset), (u[l++] = new d(c, m))),
                !(v.endOffset + 1 <= g))
              ) {
                ;(c = g), (u[l++] = new d(c, m + ' ' + v.className))
                break
              }
              ;(c = v.endOffset + 1),
                (u[l++] = new d(c, m + ' ' + v.className)),
                a++
            }
            g > c && ((c = g), (u[l++] = new d(c, m)))
          }
          return u
        }
        function c(e) {
          for (
            var t = e.fontIsMonospace,
              n = e.containsForeignElements,
              i = e.lineContent,
              o = e.len,
              r = e.isOverflowing,
              s = e.parts,
              a = e.tabSize,
              u = e.containsRTL,
              l = e.spaceWidth,
              c = e.renderWhitespace,
              d = e.renderControlCharacters,
              h = new p(o + 1, s.length),
              g = 0,
              m = 0,
              v = 0,
              _ = '<span>',
              y = 0,
              b = s.length;
            y < b;
            y++
          ) {
            var C = s[y],
              w = C.endIndex,
              S = C.type
            if (((v = 0), 0 !== c && S.indexOf('vs-whitespace') >= 0)) {
              for (var E = 0, L = ''; g < w; g++) {
                if ((h.setPartData(g, y, v), 9 === (x = i.charCodeAt(g))))
                  for (
                    m += (N = a - ((g + m) % a)) - 1,
                      v += N - 1,
                      N > 0 && ((L += '&rarr;'), E++, N--);
                    N > 0;

                  )
                    (L += '&nbsp;'), E++, N--
                else (L += '&middot;'), E++
                v++
              }
              h.setPartLength(y, E),
                (_ += t
                  ? '<span class="' + S + '">' + L + '</span>'
                  : '<span class="' +
                    S +
                    '" style="width:' +
                    l * E +
                    'px">' +
                    L +
                    '</span>')
            } else {
              for (var E = 0, L = ''; g < w; g++) {
                h.setPartData(g, y, v)
                var x = i.charCodeAt(g)
                switch (x) {
                  case 9:
                    var N = a - ((g + m) % a)
                    for (m += N - 1, v += N - 1; N > 0; )
                      (L += '&nbsp;'), E++, N--
                    break
                  case 32:
                    ;(L += '&nbsp;'), E++
                    break
                  case 60:
                    ;(L += '&lt;'), E++
                    break
                  case 62:
                    ;(L += '&gt;'), E++
                    break
                  case 38:
                    ;(L += '&amp;'), E++
                    break
                  case 0:
                    ;(L += '&#00;'), E++
                    break
                  case 65279:
                  case 8232:
                    ;(L += '�'), E++
                    break
                  case 13:
                    ;(L += '&#8203'), E++
                    break
                  default:
                    d && x < 32
                      ? ((L += String.fromCharCode(9216 + x)), E++)
                      : ((L += String.fromCharCode(x)), E++)
                }
                v++
              }
              h.setPartLength(y, E),
                (_ += u
                  ? '<span dir="ltr" class="' + S + '">' + L + '</span>'
                  : '<span class="' + S + '">' + L + '</span>')
            }
          }
          return (
            h.setPartData(o, s.length - 1, v),
            r && (_ += '<span>&hellip;</span>'),
            (_ += '</span>'),
            new f(h, _, u, n)
          )
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        !(function(e) {
          ;(e[(e.None = 0)] = 'None'),
            (e[(e.Boundary = 1)] = 'Boundary'),
            (e[(e.All = 2)] = 'All')
        })(t.RenderWhitespace || (t.RenderWhitespace = {}))
        var d = (function() {
            return function(e, t) {
              ;(this.endIndex = e), (this.type = t)
            }
          })(),
          h = (function() {
            function e(e, t, n, i, o, r, s, a, u, l, c, d) {
              ;(this.useMonospaceOptimizations = e),
                (this.lineContent = t),
                (this.mightContainRTL = n),
                (this.fauxIndentLength = i),
                (this.lineTokens = o),
                (this.lineDecorations = r),
                (this.tabSize = s),
                (this.spaceWidth = a),
                (this.stopRenderingLineAfter = u),
                (this.renderWhitespace =
                  'all' === l ? 2 : 'boundary' === l ? 1 : 0),
                (this.renderControlCharacters = c),
                (this.fontLigatures = d)
            }
            return (
              (e.prototype.equals = function(e) {
                return (
                  this.useMonospaceOptimizations ===
                    e.useMonospaceOptimizations &&
                  this.lineContent === e.lineContent &&
                  this.mightContainRTL === e.mightContainRTL &&
                  this.fauxIndentLength === e.fauxIndentLength &&
                  this.tabSize === e.tabSize &&
                  this.spaceWidth === e.spaceWidth &&
                  this.stopRenderingLineAfter === e.stopRenderingLineAfter &&
                  this.renderWhitespace === e.renderWhitespace &&
                  this.renderControlCharacters === e.renderControlCharacters &&
                  this.fontLigatures === e.fontLigatures &&
                  i.LineDecoration.equalsArr(
                    this.lineDecorations,
                    e.lineDecorations
                  ) &&
                  n.ViewLineToken.equalsArr(this.lineTokens, e.lineTokens)
                )
              }),
              e
            )
          })()
        t.RenderLineInput = h
        !(function(e) {
          ;(e[(e.PART_INDEX_MASK = 4294901760)] = 'PART_INDEX_MASK'),
            (e[(e.CHAR_INDEX_MASK = 65535)] = 'CHAR_INDEX_MASK'),
            (e[(e.CHAR_INDEX_OFFSET = 0)] = 'CHAR_INDEX_OFFSET'),
            (e[(e.PART_INDEX_OFFSET = 16)] = 'PART_INDEX_OFFSET')
        })(t.CharacterMappingConstants || (t.CharacterMappingConstants = {}))
        var p = (function() {
          function e(e, t) {
            ;(this.length = e),
              (this._data = new Uint32Array(this.length)),
              (this._partLengths = new Uint16Array(t))
          }
          return (
            (e.getPartIndex = function(e) {
              return (4294901760 & e) >>> 16
            }),
            (e.getCharIndex = function(e) {
              return (65535 & e) >>> 0
            }),
            (e.prototype.setPartData = function(e, t, n) {
              var i = ((t << 16) | (n << 0)) >>> 0
              this._data[e] = i
            }),
            (e.prototype.setPartLength = function(e, t) {
              this._partLengths[e] = t
            }),
            (e.prototype.getPartLengths = function() {
              return this._partLengths
            }),
            (e.prototype.charOffsetToPartData = function(e) {
              return 0 === this.length
                ? 0
                : e < 0
                  ? this._data[0]
                  : e >= this.length
                    ? this._data[this.length - 1]
                    : this._data[e]
            }),
            (e.prototype.partDataToCharOffset = function(t, n, i) {
              if (0 === this.length) return 0
              for (
                var o = ((t << 16) | (i << 0)) >>> 0,
                  r = 0,
                  s = this.length - 1;
                r + 1 < s;

              ) {
                var a = (r + s) >>> 1,
                  u = this._data[a]
                if (u === o) return a
                u > o ? (s = a) : (r = a)
              }
              if (r === s) return r
              var l = this._data[r],
                c = this._data[s]
              if (l === o) return r
              if (c === o) return s
              var d = e.getPartIndex(l)
              return i - e.getCharIndex(l) <=
                (d !== e.getPartIndex(c) ? n : e.getCharIndex(c)) - i
                ? r
                : s
            }),
            e
          )
        })()
        t.CharacterMapping = p
        var f = (function() {
          return function(e, t, n, i) {
            ;(this.characterMapping = e),
              (this.html = t),
              (this.containsRTL = n),
              (this.containsForeignElements = i)
          }
        })()
        ;(t.RenderLineOutput = f),
          (t.renderViewLine = function(e) {
            return 0 === e.lineContent.length
              ? new f(new p(0, 0), '<span><span>&nbsp;</span></span>', !1, !1)
              : c(r(e))
          })
        var g,
          m = (function() {
            return function(e, t, n, i, o, r, s, a, u, l, c) {
              ;(this.fontIsMonospace = e),
                (this.lineContent = t),
                (this.len = n),
                (this.isOverflowing = i),
                (this.parts = o),
                (this.containsForeignElements = r),
                (this.tabSize = s),
                (this.containsRTL = a),
                (this.spaceWidth = u),
                (this.renderWhitespace = l),
                (this.renderControlCharacters = c)
            }
          })()
        !(function(e) {
          e[(e.LongToken = 50)] = 'LongToken'
        })(g || (g = {}))
      }),
      define(d[220], h([0, 1, 2]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e(e, t, i, o) {
            ;(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 = o),
              (this.visibleRange = new n.Range(
                t.startLineNumber,
                this._model.getLineMinColumn(t.startLineNumber),
                t.endLineNumber,
                this._model.getLineMaxColumn(t.endLineNumber)
              ))
          }
          return (
            (e.prototype.getViewLineRenderingData = function(e) {
              return this._model.getViewLineRenderingData(this.visibleRange, e)
            }),
            (e.prototype.getDecorationsInViewport = function() {
              return this._model.getDecorationsInViewport(this.visibleRange)
            }),
            e
          )
        })()
        t.ViewportData = i
      }),
      define(d[221], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var n = (function() {
          function e() {
            ;(this._heights = []),
              (this._ids = []),
              (this._afterLineNumbers = []),
              (this._ordinals = []),
              (this._prefixSum = []),
              (this._prefixSumValidIndex = -1),
              (this._whitespaceId2Index = {}),
              (this._lastWhitespaceId = 0)
          }
          return (
            (e.findInsertionIndex = function(e, t, n, i) {
              for (var o = 0, r = e.length; o < r; ) {
                var s = (o + r) >>> 1
                t === e[s]
                  ? i < n[s]
                    ? (r = s)
                    : (o = s + 1)
                  : t < e[s]
                    ? (r = s)
                    : (o = s + 1)
              }
              return o
            }),
            (e.prototype.insertWhitespace = function(t, n, i) {
              ;(t |= 0), (n |= 0), (i |= 0)
              var o = ++this._lastWhitespaceId,
                r = e.findInsertionIndex(
                  this._afterLineNumbers,
                  t,
                  this._ordinals,
                  n
                )
              return this._insertWhitespaceAtIndex(o, r, t, n, i), o
            }),
            (e.prototype._insertWhitespaceAtIndex = function(e, t, n, i, o) {
              ;(e |= 0),
                (t |= 0),
                (n |= 0),
                (i |= 0),
                (o |= 0),
                this._heights.splice(t, 0, o),
                this._ids.splice(t, 0, e),
                this._afterLineNumbers.splice(t, 0, n),
                this._ordinals.splice(t, 0, i),
                this._prefixSum.splice(t, 0, 0)
              for (
                var r = Object.keys(this._whitespaceId2Index),
                  s = 0,
                  a = r.length;
                s < a;
                s++
              ) {
                var u = r[s],
                  l = this._whitespaceId2Index[u]
                l >= t && (this._whitespaceId2Index[u] = l + 1)
              }
              ;(this._whitespaceId2Index[e.toString()] = t),
                (this._prefixSumValidIndex = Math.min(
                  this._prefixSumValidIndex,
                  t - 1
                ))
            }),
            (e.prototype.changeWhitespace = function(e, t, n) {
              ;(e |= 0), (t |= 0), (n |= 0)
              var i = !1
              return (
                (i = this.changeWhitespaceHeight(e, n) || i),
                (i = this.changeWhitespaceAfterLineNumber(e, t) || i)
              )
            }),
            (e.prototype.changeWhitespaceHeight = function(e, t) {
              t |= 0
              var n = (e |= 0).toString()
              if (this._whitespaceId2Index.hasOwnProperty(n)) {
                var i = this._whitespaceId2Index[n]
                if (this._heights[i] !== t)
                  return (
                    (this._heights[i] = t),
                    (this._prefixSumValidIndex = Math.min(
                      this._prefixSumValidIndex,
                      i - 1
                    )),
                    !0
                  )
              }
              return !1
            }),
            (e.prototype.changeWhitespaceAfterLineNumber = function(t, n) {
              n |= 0
              var i = (t |= 0).toString()
              if (this._whitespaceId2Index.hasOwnProperty(i)) {
                var o = this._whitespaceId2Index[i]
                if (this._afterLineNumbers[o] !== n) {
                  var r = this._ordinals[o],
                    s = this._heights[o]
                  this.removeWhitespace(t)
                  var a = e.findInsertionIndex(
                    this._afterLineNumbers,
                    n,
                    this._ordinals,
                    r
                  )
                  return this._insertWhitespaceAtIndex(t, a, n, r, s), !0
                }
              }
              return !1
            }),
            (e.prototype.removeWhitespace = function(e) {
              var t = (e |= 0).toString()
              if (this._whitespaceId2Index.hasOwnProperty(t)) {
                var n = this._whitespaceId2Index[t]
                return (
                  delete this._whitespaceId2Index[t],
                  this._removeWhitespaceAtIndex(n),
                  !0
                )
              }
              return !1
            }),
            (e.prototype._removeWhitespaceAtIndex = function(e) {
              ;(e |= 0),
                this._heights.splice(e, 1),
                this._ids.splice(e, 1),
                this._afterLineNumbers.splice(e, 1),
                this._ordinals.splice(e, 1),
                this._prefixSum.splice(e, 1),
                (this._prefixSumValidIndex = Math.min(
                  this._prefixSumValidIndex,
                  e - 1
                ))
              for (
                var t = Object.keys(this._whitespaceId2Index),
                  n = 0,
                  i = t.length;
                n < i;
                n++
              ) {
                var o = t[n],
                  r = this._whitespaceId2Index[o]
                r >= e && (this._whitespaceId2Index[o] = r - 1)
              }
            }),
            (e.prototype.onLinesDeleted = function(e, t) {
              ;(e |= 0), (t |= 0)
              for (var n = 0, i = this._afterLineNumbers.length; n < i; n++) {
                var o = this._afterLineNumbers[n]
                e <= o && o <= t
                  ? (this._afterLineNumbers[n] = e - 1)
                  : o > t && (this._afterLineNumbers[n] -= t - e + 1)
              }
            }),
            (e.prototype.onLinesInserted = function(e, t) {
              ;(e |= 0), (t |= 0)
              for (var n = 0, i = this._afterLineNumbers.length; n < i; n++)
                e <= this._afterLineNumbers[n] &&
                  (this._afterLineNumbers[n] += t - e + 1)
            }),
            (e.prototype.getTotalHeight = function() {
              return 0 === this._heights.length
                ? 0
                : this.getAccumulatedHeight(this._heights.length - 1)
            }),
            (e.prototype.getAccumulatedHeight = function(e) {
              e |= 0
              var t = Math.max(0, this._prefixSumValidIndex + 1)
              0 === t && ((this._prefixSum[0] = this._heights[0]), t++)
              for (var n = t; n <= e; n++)
                this._prefixSum[n] = this._prefixSum[n - 1] + this._heights[n]
              return (
                (this._prefixSumValidIndex = Math.max(
                  this._prefixSumValidIndex,
                  e
                )),
                this._prefixSum[e]
              )
            }),
            (e.prototype.getAccumulatedHeightBeforeLineNumber = function(e) {
              e |= 0
              var t = this._findLastWhitespaceBeforeLineNumber(e)
              return -1 === t ? 0 : this.getAccumulatedHeight(t)
            }),
            (e.prototype._findLastWhitespaceBeforeLineNumber = function(e) {
              e |= 0
              for (
                var t = this._afterLineNumbers, n = 0, i = t.length - 1;
                n <= i;

              ) {
                var o = (n + ((((i - n) | 0) / 2) | 0)) | 0
                if (t[o] < e) {
                  if (o + 1 >= t.length || t[o + 1] >= e) return o
                  n = (o + 1) | 0
                } else i = (o - 1) | 0
              }
              return -1
            }),
            (e.prototype._findFirstWhitespaceAfterLineNumber = function(e) {
              e |= 0
              var t = this._findLastWhitespaceBeforeLineNumber(e) + 1
              return t < this._heights.length ? t : -1
            }),
            (e.prototype.getFirstWhitespaceIndexAfterLineNumber = function(e) {
              return (e |= 0), this._findFirstWhitespaceAfterLineNumber(e)
            }),
            (e.prototype.getCount = function() {
              return this._heights.length
            }),
            (e.prototype.getAfterLineNumberForWhitespaceIndex = function(e) {
              return (e |= 0), this._afterLineNumbers[e]
            }),
            (e.prototype.getIdForWhitespaceIndex = function(e) {
              return (e |= 0), this._ids[e]
            }),
            (e.prototype.getHeightForWhitespaceIndex = function(e) {
              return (e |= 0), this._heights[e]
            }),
            (e.prototype.getWhitespaces = function(e) {
              e |= 0
              for (var t = [], n = 0; n < this._heights.length; n++)
                t.push({
                  id: this._ids[n],
                  afterLineNumber: this._afterLineNumbers[n],
                  heightInLines: this._heights[n] / e
                })
              return t
            }),
            e
          )
        })()
        t.WhitespaceComputer = n
      }),
      define(d[222], h([0, 1, 221]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e(e, t) {
            ;(this._lineCount = e),
              (this._lineHeight = t),
              (this._whitespaces = new n.WhitespaceComputer())
          }
          return (
            (e.prototype.setLineHeight = function(e) {
              this._lineHeight = e
            }),
            (e.prototype.onFlushed = function(e) {
              this._lineCount = e
            }),
            (e.prototype.insertWhitespace = function(e, t, n) {
              return this._whitespaces.insertWhitespace(e, t, n)
            }),
            (e.prototype.changeWhitespace = function(e, t, n) {
              return this._whitespaces.changeWhitespace(e, t, n)
            }),
            (e.prototype.removeWhitespace = function(e) {
              return this._whitespaces.removeWhitespace(e)
            }),
            (e.prototype.onLinesDeleted = function(e, t) {
              ;(this._lineCount -= t - e + 1),
                this._whitespaces.onLinesDeleted(e, t)
            }),
            (e.prototype.onLinesInserted = function(e, t) {
              ;(this._lineCount += t - e + 1),
                this._whitespaces.onLinesInserted(e, t)
            }),
            (e.prototype.getLinesTotalHeight = function() {
              return (
                this._lineHeight * this._lineCount +
                this._whitespaces.getTotalHeight()
              )
            }),
            (e.prototype.getVerticalOffsetForLineNumber = function(e) {
              return (
                ((e |= 0) > 1 ? this._lineHeight * (e - 1) : 0) +
                this._whitespaces.getAccumulatedHeightBeforeLineNumber(e)
              )
            }),
            (e.prototype.getWhitespaceAccumulatedHeightBeforeLineNumber = function(
              e
            ) {
              return this._whitespaces.getAccumulatedHeightBeforeLineNumber(e)
            }),
            (e.prototype.hasWhitespace = function() {
              return this._whitespaces.getCount() > 0
            }),
            (e.prototype.isAfterLines = function(e) {
              return e > this.getLinesTotalHeight()
            }),
            (e.prototype.getLineNumberAtOrAfterVerticalOffset = function(e) {
              if ((e |= 0) < 0) return 1
              for (
                var t = 0 | this._lineCount, n = this._lineHeight, i = 1, o = t;
                i < o;

              ) {
                var r = ((i + o) / 2) | 0,
                  s = 0 | this.getVerticalOffsetForLineNumber(r)
                if (e >= s + n) i = r + 1
                else {
                  if (e >= s) return r
                  o = r
                }
              }
              return i > t ? t : i
            }),
            (e.prototype.getLinesViewportData = function(e, t) {
              ;(e |= 0), (t |= 0)
              var n,
                i,
                o = this._lineHeight,
                r = 0 | this.getLineNumberAtOrAfterVerticalOffset(e),
                s = 0 | this.getVerticalOffsetForLineNumber(r),
                a = 0 | this._lineCount,
                u =
                  0 |
                  this._whitespaces.getFirstWhitespaceIndexAfterLineNumber(r),
                l = 0 | this._whitespaces.getCount()
              ;-1 === u
                ? ((u = l), (i = a + 1), (n = 0))
                : ((i =
                    0 |
                    this._whitespaces.getAfterLineNumberForWhitespaceIndex(u)),
                  (n = 0 | this._whitespaces.getHeightForWhitespaceIndex(u)))
              var c = s,
                d = c,
                h = 0
              s >= 5e5 &&
                ((h = 5e5 * Math.floor(s / 5e5)),
                (d -= h = Math.floor(h / o) * o))
              for (
                var p = [], f = e + (t - e) / 2, g = -1, m = r;
                m <= a;
                m++
              ) {
                if (-1 === g) {
                  var v = c,
                    _ = c + o
                  ;((v <= f && f < _) || v > f) && (g = m)
                }
                for (c += o, p[m - r] = d, d += o; i === m; )
                  (d += n),
                    (c += n),
                    ++u >= l
                      ? (i = a + 1)
                      : ((i =
                          0 |
                          this._whitespaces.getAfterLineNumberForWhitespaceIndex(
                            u
                          )),
                        (n =
                          0 | this._whitespaces.getHeightForWhitespaceIndex(u)))
                if (c >= t) {
                  a = m
                  break
                }
              }
              ;-1 === g && (g = a)
              var y = 0 | this.getVerticalOffsetForLineNumber(a),
                b = r,
                C = a
              return (
                b < C && s < e && b++,
                b < C && y + o > t && C--,
                {
                  bigNumbersDelta: h,
                  startLineNumber: r,
                  endLineNumber: a,
                  relativeVerticalOffset: p,
                  centeredLineNumber: g,
                  completelyVisibleStartLineNumber: b,
                  completelyVisibleEndLineNumber: C
                }
              )
            }),
            (e.prototype.getVerticalOffsetForWhitespaceIndex = function(e) {
              e |= 0
              var t,
                n = this._whitespaces.getAfterLineNumberForWhitespaceIndex(e)
              t = n >= 1 ? this._lineHeight * n : 0
              var i
              return (
                (i = e > 0 ? this._whitespaces.getAccumulatedHeight(e - 1) : 0),
                t + i
              )
            }),
            (e.prototype.getWhitespaceIndexAtOrAfterVerticallOffset = function(
              e
            ) {
              e |= 0
              var t,
                n,
                i,
                o = 0,
                r = this._whitespaces.getCount() - 1
              if (r < 0) return -1
              if (
                e >=
                this.getVerticalOffsetForWhitespaceIndex(r) +
                  this._whitespaces.getHeightForWhitespaceIndex(r)
              )
                return -1
              for (; o < r; )
                if (
                  ((t = Math.floor((o + r) / 2)),
                  (n = this.getVerticalOffsetForWhitespaceIndex(t)),
                  (i = this._whitespaces.getHeightForWhitespaceIndex(t)),
                  e >= n + i)
                )
                  o = t + 1
                else {
                  if (e >= n) return t
                  r = t
                }
              return o
            }),
            (e.prototype.getWhitespaceAtVerticalOffset = function(e) {
              e |= 0
              var t = this.getWhitespaceIndexAtOrAfterVerticallOffset(e)
              if (t < 0) return null
              if (t >= this._whitespaces.getCount()) return null
              var n = this.getVerticalOffsetForWhitespaceIndex(t)
              if (n > e) return null
              var i = this._whitespaces.getHeightForWhitespaceIndex(t)
              return {
                id: this._whitespaces.getIdForWhitespaceIndex(t),
                afterLineNumber: this._whitespaces.getAfterLineNumberForWhitespaceIndex(
                  t
                ),
                verticalOffset: n,
                height: i
              }
            }),
            (e.prototype.getWhitespaceViewportData = function(e, t) {
              ;(e |= 0), (t |= 0)
              var n = this.getWhitespaceIndexAtOrAfterVerticallOffset(e),
                i = this._whitespaces.getCount() - 1
              if (n < 0) return []
              for (var o = [], r = n; r <= i; r++) {
                var s = this.getVerticalOffsetForWhitespaceIndex(r),
                  a = this._whitespaces.getHeightForWhitespaceIndex(r)
                if (s >= t) break
                o.push({
                  id: this._whitespaces.getIdForWhitespaceIndex(r),
                  afterLineNumber: this._whitespaces.getAfterLineNumberForWhitespaceIndex(
                    r
                  ),
                  verticalOffset: s,
                  height: a
                })
              }
              return o
            }),
            (e.prototype.getWhitespaces = function() {
              return this._whitespaces.getWhitespaces(this._lineHeight)
            }),
            e
          )
        })()
        t.LinesLayout = i
      }),
      define(d[98], h([0, 1, 95]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          return function(e, t) {
            ;(this.index = e), (this.remainder = t)
          }
        })()
        t.PrefixSumIndexOfResult = i
        var o = (function() {
          function e(e) {
            ;(this.values = e),
              (this.prefixSum = new Uint32Array(e.length)),
              (this.prefixSumValidIndex = new Int32Array(1)),
              (this.prefixSumValidIndex[0] = -1)
          }
          return (
            (e.prototype.getCount = function() {
              return this.values.length
            }),
            (e.prototype.insertValues = function(e, t) {
              e = n.toUint32(e)
              var i = this.values,
                o = this.prefixSum,
                r = t.length
              return (
                0 !== r &&
                ((this.values = new Uint32Array(i.length + r)),
                this.values.set(i.subarray(0, e), 0),
                this.values.set(i.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(
                    o.subarray(0, this.prefixSumValidIndex[0] + 1)
                  ),
                !0)
              )
            }),
            (e.prototype.changeValue = function(e, t) {
              return (
                (e = n.toUint32(e)),
                (t = n.toUint32(t)),
                this.values[e] !== t &&
                  ((this.values[e] = t),
                  e - 1 < this.prefixSumValidIndex[0] &&
                    (this.prefixSumValidIndex[0] = e - 1),
                  !0)
              )
            }),
            (e.prototype.removeValues = function(e, t) {
              ;(e = n.toUint32(e)), (t = n.toUint32(t))
              var i = this.values,
                o = this.prefixSum
              if (e >= i.length) return !1
              var r = i.length - e
              return (
                t >= r && (t = r),
                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(
                      o.subarray(0, this.prefixSumValidIndex[0] + 1)
                    ),
                  !0)
              )
            }),
            (e.prototype.getTotalValue = function() {
              return 0 === this.values.length
                ? 0
                : this._getAccumulatedValue(this.values.length - 1)
            }),
            (e.prototype.getAccumulatedValue = function(e) {
              return e < 0
                ? 0
                : ((e = n.toUint32(e)), this._getAccumulatedValue(e))
            }),
            (e.prototype._getAccumulatedValue = function(e) {
              if (e <= this.prefixSumValidIndex[0]) return this.prefixSum[e]
              var t = this.prefixSumValidIndex[0] + 1
              0 === t && ((this.prefixSum[0] = this.values[0]), t++),
                e >= this.values.length && (e = this.values.length - 1)
              for (var 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]
              )
            }),
            (e.prototype.getIndexOf = function(e) {
              ;(e = Math.floor(e)), this.getTotalValue()
              for (var t, n, o, r = 0, s = this.values.length - 1; r <= s; )
                if (
                  ((t = (r + (s - r) / 2) | 0),
                  (n = this.prefixSum[t]),
                  (o = n - this.values[t]),
                  e < o)
                )
                  s = t - 1
                else {
                  if (!(e >= n)) break
                  r = t + 1
                }
              return new i(t, e - o)
            }),
            e
          )
        })()
        t.PrefixSumComputer = o
        var r = (function() {
          function e(e) {
            ;(this._cacheAccumulatedValueStart = 0),
              (this._cache = null),
              (this._actual = new o(e)),
              this._bustCache()
          }
          return (
            (e.prototype._bustCache = function() {
              ;(this._cacheAccumulatedValueStart = 0), (this._cache = null)
            }),
            (e.prototype.getCount = function() {
              return this._actual.getCount()
            }),
            (e.prototype.insertValues = function(e, t) {
              this._actual.insertValues(e, t) && this._bustCache()
            }),
            (e.prototype.changeValue = function(e, t) {
              this._actual.changeValue(e, t) && this._bustCache()
            }),
            (e.prototype.removeValues = function(e, t) {
              this._actual.removeValues(e, t) && this._bustCache()
            }),
            (e.prototype.getTotalValue = function() {
              return this._actual.getTotalValue()
            }),
            (e.prototype.getAccumulatedValue = function(e) {
              return this._actual.getAccumulatedValue(e)
            }),
            (e.prototype.getIndexOf = function(e) {
              if (((e = Math.floor(e)), null !== this._cache)) {
                var t = e - this._cacheAccumulatedValueStart
                if (t >= 0 && t < this._cache.length) return this._cache[t]
              }
              return this._actual.getIndexOf(e)
            }),
            (e.prototype.warmUpCache = function(e, t) {
              for (var n = [], i = e; i <= t; i++) n[i - e] = this.getIndexOf(i)
              ;(this._cache = n), (this._cacheAccumulatedValueStart = e)
            }),
            e
          )
        })()
        t.PrefixSumComputerWithCache = r
      }),
      define(d[224], h([0, 1, 98]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e(e, t, n, i) {
            ;(this._uri = e),
              (this._lines = t),
              (this._eol = n),
              (this._versionId = i)
          }
          return (
            (e.prototype.dispose = function() {
              this._lines.length = 0
            }),
            Object.defineProperty(e.prototype, 'version', {
              get: function() {
                return this._versionId
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.getText = function() {
              return this._lines.join(this._eol)
            }),
            (e.prototype.onEvents = function(e) {
              e.eol &&
                e.eol !== this._eol &&
                ((this._eol = e.eol), (this._lineStarts = null))
              for (var t = e.changes, n = 0, i = t.length; n < i; n++) {
                var o = t[n]
                this._acceptDeleteRange(o.range),
                  this._acceptInsertText(
                    {
                      lineNumber: o.range.startLineNumber,
                      column: o.range.startColumn
                    },
                    o.text
                  )
              }
              this._versionId = e.versionId
            }),
            (e.prototype._ensureLineStarts = function() {
              if (!this._lineStarts) {
                for (
                  var e = this._eol.length,
                    t = this._lines.length,
                    i = new Uint32Array(t),
                    o = 0;
                  o < t;
                  o++
                )
                  i[o] = this._lines[o].length + e
                this._lineStarts = new n.PrefixSumComputer(i)
              }
            }),
            (e.prototype._setLineText = function(e, t) {
              ;(this._lines[e] = t),
                this._lineStarts &&
                  this._lineStarts.changeValue(
                    e,
                    this._lines[e].length + this._eol.length
                  )
            }),
            (e.prototype._acceptDeleteRange = function(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
                    )
                )
              }
            }),
            (e.prototype._acceptInsertText = function(e, t) {
              if (0 !== t.length) {
                var n = t.split(/\r\n|\r|\n/)
                if (1 !== n.length) {
                  ;(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]
                    )
                  for (
                    var i = new Uint32Array(n.length - 1), o = 1;
                    o < n.length;
                    o++
                  )
                    this._lines.splice(e.lineNumber + o - 1, 0, n[o]),
                      (i[o - 1] = n[o].length + this._eol.length)
                  this._lineStarts &&
                    this._lineStarts.insertValues(e.lineNumber, i)
                } else
                  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)
                  )
              }
            }),
            e
          )
        })()
        t.MirrorModel = i
      }),
      define(d[225], h([
        0,
        1,
        24,
        8,
        2,
        219,
        139,
        12,
        224,
        207,
        203,
        100,
        193
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var p = (function(e) {
            function t() {
              return (null !== e && e.apply(this, arguments)) || this
            }
            return (
              f(t, e),
              Object.defineProperty(t.prototype, 'uri', {
                get: function() {
                  return this._uri
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(t.prototype, 'version', {
                get: function() {
                  return this._versionId
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(t.prototype, 'eol', {
                get: function() {
                  return this._eol
                },
                enumerable: !0,
                configurable: !0
              }),
              (t.prototype.getValue = function() {
                return this.getText()
              }),
              (t.prototype.getLinesContent = function() {
                return this._lines.slice(0)
              }),
              (t.prototype.getLineCount = function() {
                return this._lines.length
              }),
              (t.prototype.getLineContent = function(e) {
                return this._lines[e - 1]
              }),
              (t.prototype.getWordAtPosition = function(e, t) {
                var n = d.getWordAtText(
                  e.column,
                  d.ensureValidWordDefinition(t),
                  this._lines[e.lineNumber - 1],
                  0
                )
                return n
                  ? new o.Range(
                      e.lineNumber,
                      n.startColumn,
                      e.lineNumber,
                      n.endColumn
                    )
                  : null
              }),
              (t.prototype.getWordUntilPosition = function(e, t) {
                var n = this.getWordAtPosition(e, t)
                return n
                  ? {
                      word: this._lines[e.lineNumber - 1].substring(
                        n.startColumn - 1,
                        e.column - 1
                      ),
                      startColumn: n.startColumn,
                      endColumn: e.column
                    }
                  : { word: '', startColumn: e.column, endColumn: e.column }
              }),
              (t.prototype._getAllWords = function(e) {
                var t = this,
                  n = []
                return (
                  this._lines.forEach(function(i) {
                    t._wordenize(i, e).forEach(function(e) {
                      n.push(i.substring(e.start, e.end))
                    })
                  }),
                  n
                )
              }),
              (t.prototype.getAllUniqueWords = function(e, t) {
                var n = !1,
                  i = Object.create(null)
                return this._getAllWords(e).filter(function(e) {
                  return t && !n && t === e
                    ? ((n = !0), !1)
                    : !i[e] && ((i[e] = !0), !0)
                })
              }),
              (t.prototype._wordenize = function(e, t) {
                var n,
                  i = []
                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
              }),
              (t.prototype.getValueInRange = function(e) {
                if (
                  (e = this._validateRange(e)).startLineNumber ===
                  e.endLineNumber
                )
                  return this._lines[e.startLineNumber - 1].substring(
                    e.startColumn - 1,
                    e.endColumn - 1
                  )
                var t = this._eol,
                  n = e.startLineNumber - 1,
                  i = e.endLineNumber - 1,
                  o = []
                o.push(this._lines[n].substring(e.startColumn - 1))
                for (var r = n + 1; r < i; r++) o.push(this._lines[r])
                return (
                  o.push(this._lines[i].substring(0, e.endColumn - 1)),
                  o.join(t)
                )
              }),
              (t.prototype.offsetAt = function(e) {
                return (
                  (e = this._validatePosition(e)),
                  this._ensureLineStarts(),
                  this._lineStarts.getAccumulatedValue(e.lineNumber - 2) +
                    (e.column - 1)
                )
              }),
              (t.prototype.positionAt = function(e) {
                ;(e = Math.floor(e)),
                  (e = Math.max(0, e)),
                  this._ensureLineStarts()
                var t = this._lineStarts.getIndexOf(e),
                  n = this._lines[t.index].length
                return {
                  lineNumber: 1 + t.index,
                  column: 1 + Math.min(t.remainder, n)
                }
              }),
              (t.prototype._validateRange = function(e) {
                var 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
              }),
              (t.prototype._validatePosition = function(e) {
                if (!a.Position.isIPosition(e)) throw new Error('bad position')
                var t = e.lineNumber,
                  n = e.column,
                  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 {
                  var o = this._lines[t - 1].length + 1
                  n < 1 ? ((n = 1), (i = !0)) : n > o && ((n = o), (i = !0))
                }
                return i ? { lineNumber: t, column: n } : e
              }),
              t
            )
          })(u.MirrorModel),
          g = (function() {
            function e() {
              this._foreignModule = null
            }
            return (
              (e.prototype.computeDiff = function(e, t, n) {
                var o = this._getModel(e),
                  s = this._getModel(t)
                if (!o || !s) return null
                var a = o.getLinesContent(),
                  u = s.getLinesContent(),
                  l = new r.DiffComputer(a, u, {
                    shouldPostProcessCharChanges: !0,
                    shouldIgnoreTrimWhitespace: n,
                    shouldConsiderTrimWhitespaceInEmptyCase: !0
                  })
                return i.TPromise.as(l.computeDiff())
              }),
              (e.prototype.computeDirtyDiff = function(e, t, n) {
                var o = this._getModel(e),
                  s = this._getModel(t)
                if (!o || !s) return null
                var a = o.getLinesContent(),
                  u = s.getLinesContent(),
                  l = new r.DiffComputer(a, u, {
                    shouldPostProcessCharChanges: !1,
                    shouldIgnoreTrimWhitespace: n,
                    shouldConsiderTrimWhitespaceInEmptyCase: !1
                  })
                return i.TPromise.as(l.computeDiff())
              }),
              (e.prototype.computeMoreMinimalEdits = function(t, n, r) {
                var a = this._getModel(t)
                if (!a) return i.TPromise.as(n)
                for (var u, l = [], c = 0, d = n; c < d.length; c++) {
                  var h = d[c],
                    p = h.range,
                    f = h.text,
                    g = h.eol
                  if (('number' == typeof g && (u = g), p)) {
                    var m = a.getValueInRange(p)
                    if (((f = f.replace(/\r\n|\n|\r/g, a.eol)), m !== f))
                      if (Math.max(f.length, m.length) > e._diffLimit)
                        l.push({ range: p, text: f })
                      else
                        for (
                          var v = s.stringDiff(m, f),
                            _ = a.offsetAt(o.Range.lift(p).getStartPosition()),
                            y = 0,
                            b = v;
                          y < b.length;
                          y++
                        ) {
                          var C = b[y],
                            w = a.positionAt(_ + C.originalStart),
                            S = a.positionAt(
                              _ + C.originalStart + C.originalLength
                            ),
                            E = {
                              text: f.substr(C.modifiedStart, C.modifiedLength),
                              range: {
                                startLineNumber: w.lineNumber,
                                startColumn: w.column,
                                endLineNumber: S.lineNumber,
                                endColumn: S.column
                              }
                            }
                          a.getValueInRange(E.range) !== E.text && l.push(E)
                        }
                  }
                }
                return (
                  'number' == typeof u &&
                    l.push({ eol: u, text: void 0, range: void 0 }),
                  i.TPromise.as(l)
                )
              }),
              (e.prototype.computeLinks = function(e) {
                var t = this._getModel(e)
                return t ? i.TPromise.as(l.computeLinks(t)) : null
              }),
              (e.prototype.textualSuggest = function(e, t, n, o) {
                var r = this._getModel(e)
                if (r) {
                  for (
                    var s = [],
                      a = new RegExp(n, o),
                      u = r.getWordUntilPosition(t, a).word,
                      l = 0,
                      c = r.getAllUniqueWords(a);
                    l < c.length;
                    l++
                  ) {
                    var d = c[l]
                    d !== u &&
                      isNaN(Number(d)) &&
                      s.push({
                        type: 'text',
                        label: d,
                        insertText: d,
                        noAutoAccept: !0,
                        overwriteBefore: u.length
                      })
                  }
                  return i.TPromise.as({ suggestions: s })
                }
              }),
              (e.prototype.navigateValueSet = function(e, t, n, o, r) {
                var s = this._getModel(e)
                if (!s) return null
                var a = new RegExp(o, r)
                t.startColumn === t.endColumn &&
                  (t = {
                    startLineNumber: t.startLineNumber,
                    startColumn: t.startColumn,
                    endLineNumber: t.endLineNumber,
                    endColumn: t.endColumn + 1
                  })
                var u = s.getValueInRange(t),
                  l = s.getWordAtPosition(
                    { lineNumber: t.startLineNumber, column: t.startColumn },
                    a
                  ),
                  d = null
                null !== l && (d = s.getValueInRange(l))
                var h = c.BasicInplaceReplace.INSTANCE.navigateValueSet(
                  t,
                  u,
                  l,
                  d,
                  n
                )
                return i.TPromise.as(h)
              }),
              (e.prototype.loadForeignModule = function(e, t) {
                var n = this
                return new i.TPromise(function(i, o) {
                  self.require(
                    [e],
                    function(e) {
                      var o = {
                        getMirrorModels: function() {
                          return n._getModels()
                        }
                      }
                      n._foreignModule = e.create(o, t)
                      var r = []
                      for (var s in n._foreignModule)
                        'function' == typeof n._foreignModule[s] && r.push(s)
                      i(r)
                    },
                    o
                  )
                })
              }),
              (e.prototype.fmr = function(e, t) {
                if (
                  !this._foreignModule ||
                  'function' != typeof this._foreignModule[e]
                )
                  return i.TPromise.wrapError(
                    new Error('Missing requestHandler or method: ' + e)
                  )
                try {
                  return i.TPromise.as(
                    this._foreignModule[e].apply(this._foreignModule, t)
                  )
                } catch (e) {
                  return i.TPromise.wrapError(e)
                }
              }),
              e
            )
          })()
        ;(g._diffLimit = 1e4), (t.BaseEditorSimpleWorker = g)
        var m = (function(e) {
          function t() {
            var t = e.call(this) || this
            return (t._models = Object.create(null)), t
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              this._models = Object.create(null)
            }),
            (t.prototype._getModel = function(e) {
              return this._models[e]
            }),
            (t.prototype._getModels = function() {
              var e = this,
                t = []
              return (
                Object.keys(this._models).forEach(function(n) {
                  return t.push(e._models[n])
                }),
                t
              )
            }),
            (t.prototype.acceptNewModel = function(e) {
              this._models[e.url] = new p(
                n.default.parse(e.url),
                e.lines,
                e.EOL,
                e.versionId
              )
            }),
            (t.prototype.acceptModelChanged = function(e, t) {
              this._models[e] && this._models[e].onEvents(t)
            }),
            (t.prototype.acceptRemovedModel = function(e) {
              this._models[e] && delete this._models[e]
            }),
            t
          )
        })(g)
        ;(t.EditorSimpleWorkerImpl = m),
          (t.create = function() {
            return new m()
          })
        var v = self
        'function' == typeof v.importScripts &&
          (v.monaco = h.createMonacoBaseAPI())
      }),
      define(d[87], h([0, 1, 56, 3]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = (function(e) {
          function t() {
            var t = e.call(this) || this
            return (t._shouldRender = !0), t
          }
          return (
            f(t, e),
            (t.prototype.shouldRender = function() {
              return this._shouldRender
            }),
            (t.prototype.forceShouldRender = function() {
              this._shouldRender = !0
            }),
            (t.prototype.setShouldRender = function() {
              this._shouldRender = !0
            }),
            (t.prototype.onDidRender = function() {
              this._shouldRender = !1
            }),
            (t.prototype.onConfigurationChanged = function(e) {
              return !1
            }),
            (t.prototype.onCursorStateChanged = function(e) {
              return !1
            }),
            (t.prototype.onDecorationsChanged = function(e) {
              return !1
            }),
            (t.prototype.onFlushed = function(e) {
              return !1
            }),
            (t.prototype.onFocusChanged = function(e) {
              return !1
            }),
            (t.prototype.onLineMappingChanged = function(e) {
              return !1
            }),
            (t.prototype.onLinesChanged = function(e) {
              return !1
            }),
            (t.prototype.onLinesDeleted = function(e) {
              return !1
            }),
            (t.prototype.onLinesInserted = function(e) {
              return !1
            }),
            (t.prototype.onRevealRangeRequest = function(e) {
              return !1
            }),
            (t.prototype.onScrollChanged = function(e) {
              return !1
            }),
            (t.prototype.onTokensChanged = function(e) {
              return !1
            }),
            (t.prototype.onTokensColorsChanged = function(e) {
              return !1
            }),
            (t.prototype.onZonesChanged = function(e) {
              return !1
            }),
            (t.prototype.onThemeChanged = function(e) {
              return !1
            }),
            (t.prototype.handleEvents = function(e) {
              for (var t = !1, n = 0, i = e.length; n < i; n++) {
                var o = e[n]
                switch (o.type) {
                  case 1:
                    this.onConfigurationChanged(o) && (t = !0)
                    break
                  case 2:
                    this.onCursorStateChanged(o) && (t = !0)
                    break
                  case 3:
                    this.onDecorationsChanged(o) && (t = !0)
                    break
                  case 4:
                    this.onFlushed(o) && (t = !0)
                    break
                  case 5:
                    this.onFocusChanged(o) && (t = !0)
                    break
                  case 6:
                    this.onLineMappingChanged(o) && (t = !0)
                    break
                  case 7:
                    this.onLinesChanged(o) && (t = !0)
                    break
                  case 8:
                    this.onLinesDeleted(o) && (t = !0)
                    break
                  case 9:
                    this.onLinesInserted(o) && (t = !0)
                    break
                  case 10:
                    this.onRevealRangeRequest(o) && (t = !0)
                    break
                  case 11:
                    this.onScrollChanged(o) && (t = !0)
                    break
                  case 12:
                    this.onTokensChanged(o) && (t = !0)
                    break
                  case 13:
                    this.onTokensColorsChanged(o) && (t = !0)
                    break
                  case 14:
                    this.onZonesChanged(o) && (t = !0)
                    break
                  case 15:
                    this.onThemeChanged(o) && (t = !0)
                    break
                  default:
                    console.info('View received unknown event: '),
                      console.info(o)
                }
              }
              t && (this._shouldRender = !0)
            }),
            t
          )
        })(i.Disposable)
        t.ViewEventHandler = o
      }),
      define(d[60], h([0, 1, 87]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function(e) {
          function t() {
            return (null !== e && e.apply(this, arguments)) || this
          }
          return f(t, e), t
        })(n.ViewEventHandler)
        t.DynamicViewOverlay = i
      }),
      define(d[35], h([0, 1, 87, 26]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = (function(e) {
          function t(t) {
            var n = e.call(this) || this
            return (n._context = t), n._context.addEventHandler(n), n
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              this._context.removeEventHandler(this),
                (this._context = null),
                e.prototype.dispose.call(this)
            }),
            t
          )
        })(n.ViewEventHandler)
        t.ViewPart = o
        !(function(e) {
          ;(e[(e.None = 0)] = 'None'),
            (e[(e.ContentWidgets = 1)] = 'ContentWidgets'),
            (e[(e.OverflowingContentWidgets = 2)] =
              'OverflowingContentWidgets'),
            (e[(e.OverflowGuard = 3)] = 'OverflowGuard'),
            (e[(e.OverlayWidgets = 4)] = 'OverlayWidgets'),
            (e[(e.ScrollableElement = 5)] = 'ScrollableElement'),
            (e[(e.TextArea = 6)] = 'TextArea'),
            (e[(e.ViewLines = 7)] = 'ViewLines'),
            (e[(e.Minimap = 8)] = 'Minimap')
        })(t.PartFingerprint || (t.PartFingerprint = {}))
        var r = (function() {
          function e() {}
          return (
            (e.write = function(e, t) {
              i.FastDomNode, e.setAttribute('data-mprt', String(t))
            }),
            (e.read = function(e) {
              var t = e.getAttribute('data-mprt')
              return null === t ? 0 : parseInt(t, 10)
            }),
            (e.collect = function(e, t) {
              for (var n = [], i = 0; e && e !== document.body && e !== t; )
                e.nodeType === e.ELEMENT_NODE && (n[i++] = this.read(e)),
                  (e = e.parentElement)
              for (var o = new Uint8Array(i), r = 0; r < i; r++)
                o[r] = n[i - r - 1]
              return o
            }),
            e
          )
        })()
        t.PartFingerprints = r
      }),
      define(d[229], h([0, 1, 6, 26, 25, 35]), function(e, t, n, i, o, r) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = (function() {
            return function(e, t) {
              ;(this.top = e), (this.left = t)
            }
          })(),
          a = (function(e) {
            function t(t, n) {
              var o = e.call(this, t) || this
              return (
                (o._viewDomNode = n),
                (o._widgets = {}),
                (o.domNode = i.createFastDomNode(
                  document.createElement('div')
                )),
                r.PartFingerprints.write(o.domNode, 1),
                o.domNode.setClassName('contentWidgets'),
                o.domNode.setPosition('absolute'),
                o.domNode.setTop(0),
                (o.overflowingContentWidgetsDomNode = i.createFastDomNode(
                  document.createElement('div')
                )),
                r.PartFingerprints.write(o.overflowingContentWidgetsDomNode, 2),
                o.overflowingContentWidgetsDomNode.setClassName(
                  'overflowingContentWidgets'
                ),
                o
              )
            }
            return (
              f(t, e),
              (t.prototype.dispose = function() {
                e.prototype.dispose.call(this),
                  (this._widgets = null),
                  (this.domNode = null)
              }),
              (t.prototype.onConfigurationChanged = function(e) {
                for (
                  var t = Object.keys(this._widgets), n = 0, i = t.length;
                  n < i;
                  n++
                ) {
                  var o = t[n]
                  this._widgets[o].onConfigurationChanged(e)
                }
                return !0
              }),
              (t.prototype.onDecorationsChanged = function(e) {
                return !0
              }),
              (t.prototype.onFlushed = function(e) {
                return !0
              }),
              (t.prototype.onLinesChanged = function(e) {
                return !0
              }),
              (t.prototype.onLinesDeleted = function(e) {
                return !0
              }),
              (t.prototype.onLinesInserted = function(e) {
                return !0
              }),
              (t.prototype.onScrollChanged = function(e) {
                return !0
              }),
              (t.prototype.onZonesChanged = function(e) {
                return !0
              }),
              (t.prototype.addWidget = function(e) {
                var t = new u(this._context, this._viewDomNode, e)
                ;(this._widgets[t.id] = t),
                  t.allowEditorOverflow
                    ? this.overflowingContentWidgetsDomNode.appendChild(
                        t.domNode
                      )
                    : this.domNode.appendChild(t.domNode),
                  this.setShouldRender()
              }),
              (t.prototype.setWidgetPosition = function(e, t, n) {
                this._widgets[e.getId()].setPosition(t, n),
                  this.setShouldRender()
              }),
              (t.prototype.removeWidget = function(e) {
                var t = e.getId()
                if (this._widgets.hasOwnProperty(t)) {
                  var n = this._widgets[t]
                  delete this._widgets[t]
                  var i = n.domNode.domNode
                  i.parentNode.removeChild(i),
                    i.removeAttribute('monaco-visible-content-widget'),
                    this.setShouldRender()
                }
              }),
              (t.prototype.shouldSuppressMouseDownOnWidget = function(e) {
                return (
                  !!this._widgets.hasOwnProperty(e) &&
                  this._widgets[e].suppressMouseDown
                )
              }),
              (t.prototype.prepareRender = function(e) {
                for (
                  var t = Object.keys(this._widgets), n = 0, i = t.length;
                  n < i;
                  n++
                ) {
                  var o = t[n]
                  this._widgets[o].prepareRender(e)
                }
              }),
              (t.prototype.render = function(e) {
                for (
                  var t = Object.keys(this._widgets), n = 0, i = t.length;
                  n < i;
                  n++
                ) {
                  var o = t[n]
                  this._widgets[o].render(e)
                }
              }),
              t
            )
          })(r.ViewPart)
        t.ViewContentWidgets = a
        var u = (function() {
          function e(e, t, n) {
            ;(this._context = e),
              (this._viewDomNode = t),
              (this._actual = n),
              (this.domNode = i.createFastDomNode(this._actual.getDomNode())),
              (this.id = this._actual.getId()),
              (this.allowEditorOverflow =
                this._actual.allowEditorOverflow || !1),
              (this.suppressMouseDown = this._actual.suppressMouseDown || !1),
              (this._fixedOverflowWidgets = this._context.configuration.editor.viewInfo.fixedOverflowWidgets),
              (this._contentWidth = this._context.configuration.editor.layoutInfo.contentWidth),
              (this._contentLeft = this._context.configuration.editor.layoutInfo.contentLeft),
              (this._lineHeight = this._context.configuration.editor.lineHeight),
              (this._position = null),
              (this._preference = null),
              (this._isVisible = !1),
              (this._renderData = null),
              this.domNode.setPosition(
                this._fixedOverflowWidgets && this.allowEditorOverflow
                  ? 'fixed'
                  : 'absolute'
              ),
              this._updateMaxWidth(),
              this.domNode.setVisibility('hidden'),
              this.domNode.setAttribute('widgetId', this.id)
          }
          return (
            (e.prototype.onConfigurationChanged = function(e) {
              e.lineHeight &&
                (this._lineHeight = this._context.configuration.editor.lineHeight),
                e.layoutInfo &&
                  ((this._contentLeft = this._context.configuration.editor.layoutInfo.contentLeft),
                  (this._contentWidth = this._context.configuration.editor.layoutInfo.contentWidth),
                  this._updateMaxWidth())
            }),
            (e.prototype._updateMaxWidth = function() {
              var e = this.allowEditorOverflow
                ? window.innerWidth ||
                  document.documentElement.clientWidth ||
                  document.body.clientWidth
                : this._contentWidth
              this.domNode.setMaxWidth(e)
            }),
            (e.prototype.setPosition = function(e, t) {
              ;(this._position = e), (this._preference = t)
            }),
            (e.prototype._layoutBoxInViewport = function(e, t, n, i) {
              var o = e.top,
                r = o,
                s = e.top + this._lineHeight,
                a = o - n,
                u = r >= n,
                l = s,
                c = i.viewportHeight - s >= n,
                d = e.left
              return (
                d + t > i.scrollLeft + i.viewportWidth &&
                  (d = i.scrollLeft + i.viewportWidth - t),
                d < i.scrollLeft && (d = i.scrollLeft),
                {
                  aboveTop: a,
                  fitsAbove: u,
                  belowTop: l,
                  fitsBelow: c,
                  left: d
                }
              )
            }),
            (e.prototype._layoutBoxInPage = function(e, t, i, o) {
              var r = e.left - o.scrollLeft
              if (r + t < 0 || r > this._contentWidth) return null
              var s = e.top - i,
                a = e.top + this._lineHeight,
                u = r + this._contentLeft,
                l = n.getDomNodePagePosition(this._viewDomNode.domNode),
                c = l.top + s - n.StandardWindow.scrollY,
                d = l.top + a - n.StandardWindow.scrollY,
                h = l.left + u - n.StandardWindow.scrollX,
                p =
                  window.innerWidth ||
                  document.documentElement.clientWidth ||
                  document.body.clientWidth,
                f = c >= 22,
                g =
                  d + i <=
                  (window.innerHeight ||
                    document.documentElement.clientHeight ||
                    document.body.clientHeight) -
                    22
              if (
                (h + t + 20 > p && ((h -= m = h - (p - t - 20)), (u -= m)),
                h < 0)
              ) {
                var m = h
                ;(h -= m), (u -= m)
              }
              return (
                this._fixedOverflowWidgets && ((s = c), (a = d), (u = h)),
                {
                  aboveTop: s,
                  fitsAbove: f,
                  belowTop: a,
                  fitsBelow: g,
                  left: u
                }
              )
            }),
            (e.prototype._prepareRenderWidgetAtExactPositionOverflowing = function(
              e
            ) {
              return new s(e.top, e.left + this._contentLeft)
            }),
            (e.prototype._getTopLeft = function(e, t) {
              var n = e.visibleRangeForPosition(t)
              if (!n) return null
              var i =
                e.getVerticalOffsetForLineNumber(t.lineNumber) - e.scrollTop
              return new s(i, n.left)
            }),
            (e.prototype._prepareRenderWidget = function(e) {
              var t = this
              if (!this._position || !this._preference) return null
              var n = this._context.model.validateModelPosition(this._position)
              if (
                !this._context.model.coordinatesConverter.modelPositionIsVisible(
                  n
                )
              )
                return null
              for (
                var i = this._context.model.coordinatesConverter.convertModelPositionToViewPosition(
                    n
                  ),
                  r = null,
                  a = function() {
                    if (!r) {
                      var n = t._getTopLeft(e, i)
                      if (n) {
                        var o = t.domNode.domNode,
                          s = o.clientWidth,
                          a = o.clientHeight
                        r = t.allowEditorOverflow
                          ? t._layoutBoxInPage(n, s, a, e)
                          : t._layoutBoxInViewport(n, s, a, e)
                      }
                    }
                  },
                  u = 1;
                u <= 2;
                u++
              )
                for (var l = 0; l < this._preference.length; l++) {
                  var c = this._preference[l]
                  if (c === o.ContentWidgetPositionPreference.ABOVE) {
                    if ((a(), !r)) return null
                    if (2 === u || r.fitsAbove) return new s(r.aboveTop, r.left)
                  } else {
                    if (c !== o.ContentWidgetPositionPreference.BELOW) {
                      var d = this._getTopLeft(e, i)
                      return d
                        ? this.allowEditorOverflow
                          ? this._prepareRenderWidgetAtExactPositionOverflowing(
                              d
                            )
                          : d
                        : null
                    }
                    if ((a(), !r)) return null
                    if (2 === u || r.fitsBelow) return new s(r.belowTop, r.left)
                  }
                }
              return null
            }),
            (e.prototype.prepareRender = function(e) {
              this._renderData = this._prepareRenderWidget(e)
            }),
            (e.prototype.render = function(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'))
            }),
            e
          )
        })()
      }),
      define(d[230], h([0, 1, 60, 2, 80, 383]), function(e, t, n, i, o) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = (function(e) {
          function t(t) {
            var n = e.call(this) || this
            return (
              (n._context = t),
              (n._lineHeight = n._context.configuration.editor.lineHeight),
              (n._typicalHalfwidthCharacterWidth =
                n._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth),
              (n._renderResult = null),
              n._context.addEventHandler(n),
              n
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              this._context.removeEventHandler(this),
                (this._context = null),
                (this._renderResult = null),
                e.prototype.dispose.call(this)
            }),
            (t.prototype.onConfigurationChanged = function(e) {
              return (
                e.lineHeight &&
                  (this._lineHeight = this._context.configuration.editor.lineHeight),
                e.fontInfo &&
                  (this._typicalHalfwidthCharacterWidth = this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth),
                !0
              )
            }),
            (t.prototype.onDecorationsChanged = function(e) {
              return !0
            }),
            (t.prototype.onFlushed = function(e) {
              return !0
            }),
            (t.prototype.onLinesChanged = function(e) {
              return !0
            }),
            (t.prototype.onLinesDeleted = function(e) {
              return !0
            }),
            (t.prototype.onLinesInserted = function(e) {
              return !0
            }),
            (t.prototype.onScrollChanged = function(e) {
              return e.scrollTopChanged || e.scrollWidthChanged
            }),
            (t.prototype.onZonesChanged = function(e) {
              return !0
            }),
            (t.prototype.prepareRender = function(e) {
              for (
                var t = e.getDecorationsInViewport(),
                  n = [],
                  o = 0,
                  r = 0,
                  s = t.length;
                r < s;
                r++
              ) {
                var a = t[r]
                a.source.options.className && (n[o++] = a)
              }
              n = n.sort(function(e, t) {
                var n = e.source.options.className,
                  o = t.source.options.className
                return n < o
                  ? -1
                  : n > o
                    ? 1
                    : i.Range.compareRangesUsingStarts(e.range, t.range)
              })
              for (
                var u = e.visibleRange.startLineNumber,
                  l = e.visibleRange.endLineNumber,
                  c = [],
                  d = u;
                d <= l;
                d++
              )
                c[d - u] = ''
              this._renderWholeLineDecorations(e, n, c),
                this._renderNormalDecorations(e, n, c),
                (this._renderResult = c)
            }),
            (t.prototype._renderWholeLineDecorations = function(e, t, n) {
              for (
                var i = String(this._lineHeight),
                  o = e.visibleRange.startLineNumber,
                  r = e.visibleRange.endLineNumber,
                  s = 0,
                  a = t.length;
                s < a;
                s++
              ) {
                var u = t[s]
                if (u.source.options.isWholeLine)
                  for (
                    var l =
                        '<div class="cdr ' +
                        u.source.options.className +
                        '" style="left:0;width:100%;height:' +
                        i +
                        'px;"></div>',
                      c = Math.max(u.range.startLineNumber, o),
                      d = Math.min(u.range.endLineNumber, r),
                      h = c;
                    h <= d;
                    h++
                  )
                    n[h - o] += l
              }
            }),
            (t.prototype._renderNormalDecorations = function(e, t, n) {
              for (
                var r = String(this._lineHeight),
                  s = e.visibleRange.startLineNumber,
                  a = 0,
                  u = t.length;
                a < u;
                a++
              ) {
                var l = t[a]
                if (!l.source.options.isWholeLine) {
                  var c = l.source.options.className,
                    d = l.source.options.showIfCollapsed,
                    h = l.range
                  d &&
                    1 === h.endColumn &&
                    h.endLineNumber !== h.startLineNumber &&
                    (h = new i.Range(
                      h.startLineNumber,
                      h.startColumn,
                      h.endLineNumber - 1,
                      this._context.model.getLineMaxColumn(h.endLineNumber - 1)
                    ))
                  var p = e.linesVisibleRangesForRange(h, 'findMatch' === c)
                  if (p)
                    for (var f = 0, g = p.length; f < g; f++) {
                      var m = p[f],
                        v = m.lineNumber - s
                      if (d && 1 === m.ranges.length) {
                        var _ = m.ranges[0]
                        0 === _.width &&
                          (m.ranges[0] = new o.HorizontalRange(
                            _.left,
                            this._typicalHalfwidthCharacterWidth
                          ))
                      }
                      for (var y = 0, b = m.ranges.length; y < b; y++) {
                        var C = m.ranges[y],
                          w =
                            '<div class="cdr ' +
                            c +
                            '" style="left:' +
                            String(C.left) +
                            'px;width:' +
                            String(C.width) +
                            'px;height:' +
                            r +
                            'px;"></div>'
                        n[v] += w
                      }
                    }
                }
              }
            }),
            (t.prototype.render = function(e, t) {
              if (!this._renderResult) return ''
              var n = t - e
              if (n < 0 || n >= this._renderResult.length)
                throw new Error('Unexpected render request')
              return this._renderResult[n]
            }),
            t
          )
        })(n.DynamicViewOverlay)
        t.DecorationsOverlay = r
      }),
      define(d[116], h([0, 1, 60, 382]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          return function(e, t, n) {
            ;(this.startLineNumber = +e),
              (this.endLineNumber = +t),
              (this.className = String(n))
          }
        })()
        t.DecorationToRender = i
        var o = (function(e) {
          function t() {
            return (null !== e && e.apply(this, arguments)) || this
          }
          return (
            f(t, e),
            (t.prototype._render = function(e, t, n) {
              for (var i = [], o = e; o <= t; o++) i[o - e] = []
              if (0 === n.length) return i
              n.sort(function(e, t) {
                return e.className === t.className
                  ? e.startLineNumber === t.startLineNumber
                    ? e.endLineNumber - t.endLineNumber
                    : e.startLineNumber - t.startLineNumber
                  : e.className < t.className
                    ? -1
                    : 1
              })
              for (var r = null, s = 0, a = 0, u = n.length; a < u; a++) {
                var l = n[a],
                  c = l.className,
                  d = Math.max(l.startLineNumber, e) - e,
                  h = Math.min(l.endLineNumber, t) - e
                r === c
                  ? ((d = Math.max(s + 1, d)), (s = Math.max(s, h)))
                  : ((r = c), (s = h))
                for (var p = d; p <= s; p++) i[p].push(r)
              }
              return i
            }),
            t
          )
        })(n.DynamicViewOverlay)
        t.DedupOverlay = o
        var r = (function(e) {
          function t(t) {
            var n = e.call(this) || this
            return (
              (n._context = t),
              (n._lineHeight = n._context.configuration.editor.lineHeight),
              (n._glyphMargin =
                n._context.configuration.editor.viewInfo.glyphMargin),
              (n._glyphMarginLeft =
                n._context.configuration.editor.layoutInfo.glyphMarginLeft),
              (n._glyphMarginWidth =
                n._context.configuration.editor.layoutInfo.glyphMarginWidth),
              (n._renderResult = null),
              n._context.addEventHandler(n),
              n
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              this._context.removeEventHandler(this),
                (this._context = null),
                (this._renderResult = null),
                e.prototype.dispose.call(this)
            }),
            (t.prototype.onConfigurationChanged = function(e) {
              return (
                e.lineHeight &&
                  (this._lineHeight = this._context.configuration.editor.lineHeight),
                e.viewInfo &&
                  (this._glyphMargin = this._context.configuration.editor.viewInfo.glyphMargin),
                e.layoutInfo &&
                  ((this._glyphMarginLeft = this._context.configuration.editor.layoutInfo.glyphMarginLeft),
                  (this._glyphMarginWidth = this._context.configuration.editor.layoutInfo.glyphMarginWidth)),
                !0
              )
            }),
            (t.prototype.onDecorationsChanged = function(e) {
              return !0
            }),
            (t.prototype.onFlushed = function(e) {
              return !0
            }),
            (t.prototype.onLinesChanged = function(e) {
              return !0
            }),
            (t.prototype.onLinesDeleted = function(e) {
              return !0
            }),
            (t.prototype.onLinesInserted = function(e) {
              return !0
            }),
            (t.prototype.onScrollChanged = function(e) {
              return e.scrollTopChanged
            }),
            (t.prototype.onZonesChanged = function(e) {
              return !0
            }),
            (t.prototype._getDecorations = function(e) {
              for (
                var t = e.getDecorationsInViewport(),
                  n = [],
                  o = 0,
                  r = t.length;
                o < r;
                o++
              ) {
                var s = t[o],
                  a = s.source.options.glyphMarginClassName
                a &&
                  n.push(
                    new i(s.range.startLineNumber, s.range.endLineNumber, a)
                  )
              }
              return n
            }),
            (t.prototype.prepareRender = function(e) {
              if (this._glyphMargin) {
                for (
                  var t = e.visibleRange.startLineNumber,
                    n = e.visibleRange.endLineNumber,
                    i = this._render(t, n, this._getDecorations(e)),
                    o = this._lineHeight.toString(),
                    r =
                      '" style="left:' +
                      this._glyphMarginLeft.toString() +
                      'px;width:' +
                      this._glyphMarginWidth.toString() +
                      'px;height:' +
                      o +
                      'px;"></div>',
                    s = [],
                    a = t;
                  a <= n;
                  a++
                ) {
                  var u = a - t,
                    l = i[u]
                  0 === l.length
                    ? (s[u] = '')
                    : (s[u] = '<div class="cgmr ' + l.join(' ') + r)
                }
                this._renderResult = s
              } else this._renderResult = null
            }),
            (t.prototype.render = function(e, t) {
              if (!this._renderResult) return ''
              var n = t - e
              if (n < 0 || n >= this._renderResult.length)
                throw new Error('Unexpected render request')
              return this._renderResult[n]
            }),
            t
          )
        })(o)
        t.GlyphMarginOverlay = r
      }),
      define(d[232], h([0, 1, 116, 378]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function(e) {
          function t(t) {
            var n = e.call(this) || this
            return (
              (n._context = t),
              (n._decorationsLeft =
                n._context.configuration.editor.layoutInfo.decorationsLeft),
              (n._decorationsWidth =
                n._context.configuration.editor.layoutInfo.decorationsWidth),
              (n._renderResult = null),
              n._context.addEventHandler(n),
              n
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              this._context.removeEventHandler(this),
                (this._context = null),
                (this._renderResult = null),
                e.prototype.dispose.call(this)
            }),
            (t.prototype.onConfigurationChanged = function(e) {
              return (
                e.layoutInfo &&
                  ((this._decorationsLeft = this._context.configuration.editor.layoutInfo.decorationsLeft),
                  (this._decorationsWidth = this._context.configuration.editor.layoutInfo.decorationsWidth)),
                !0
              )
            }),
            (t.prototype.onDecorationsChanged = function(e) {
              return !0
            }),
            (t.prototype.onFlushed = function(e) {
              return !0
            }),
            (t.prototype.onLinesChanged = function(e) {
              return !0
            }),
            (t.prototype.onLinesDeleted = function(e) {
              return !0
            }),
            (t.prototype.onLinesInserted = function(e) {
              return !0
            }),
            (t.prototype.onScrollChanged = function(e) {
              return e.scrollTopChanged
            }),
            (t.prototype.onZonesChanged = function(e) {
              return !0
            }),
            (t.prototype._getDecorations = function(e) {
              for (
                var t = e.getDecorationsInViewport(),
                  i = [],
                  o = 0,
                  r = t.length;
                o < r;
                o++
              ) {
                var s = t[o],
                  a = s.source.options.linesDecorationsClassName
                a &&
                  i.push(
                    new n.DecorationToRender(
                      s.range.startLineNumber,
                      s.range.endLineNumber,
                      a
                    )
                  )
              }
              return i
            }),
            (t.prototype.prepareRender = function(e) {
              for (
                var t = e.visibleRange.startLineNumber,
                  n = e.visibleRange.endLineNumber,
                  i = this._render(t, n, this._getDecorations(e)),
                  o =
                    '" style="left:' +
                    this._decorationsLeft.toString() +
                    'px;width:' +
                    this._decorationsWidth.toString() +
                    'px;"></div>',
                  r = [],
                  s = t;
                s <= n;
                s++
              ) {
                for (
                  var a = s - t, u = i[a], l = '', c = 0, d = u.length;
                  c < d;
                  c++
                )
                  l += '<div class="cldr ' + u[c] + o
                r[a] = l
              }
              this._renderResult = r
            }),
            (t.prototype.render = function(e, t) {
              return this._renderResult ? this._renderResult[t - e] : ''
            }),
            t
          )
        })(n.DedupOverlay)
        t.LinesDecorationsOverlay = i
      }),
      define(d[153], h([0, 1, 26, 35]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = (function(e) {
          function t(t) {
            var n = e.call(this, t) || this
            return (
              (n._canUseLayerHinting =
                n._context.configuration.editor.canUseLayerHinting),
              (n._contentLeft =
                n._context.configuration.editor.layoutInfo.contentLeft),
              (n._glyphMarginLeft =
                n._context.configuration.editor.layoutInfo.glyphMarginLeft),
              (n._glyphMarginWidth =
                n._context.configuration.editor.layoutInfo.glyphMarginWidth),
              (n._domNode = n._createDomNode()),
              n
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              e.prototype.dispose.call(this)
            }),
            (t.prototype.getDomNode = function() {
              return this._domNode
            }),
            (t.prototype._createDomNode = function() {
              var e = n.createFastDomNode(document.createElement('div'))
              return (
                e.setClassName('margin'),
                e.setPosition('absolute'),
                e.setAttribute('role', 'presentation'),
                e.setAttribute('aria-hidden', 'true'),
                (this._glyphMarginBackgroundDomNode = n.createFastDomNode(
                  document.createElement('div')
                )),
                this._glyphMarginBackgroundDomNode.setClassName(t.CLASS_NAME),
                e.appendChild(this._glyphMarginBackgroundDomNode),
                e
              )
            }),
            (t.prototype.onConfigurationChanged = function(e) {
              return (
                e.canUseLayerHinting &&
                  (this._canUseLayerHinting = this._context.configuration.editor.canUseLayerHinting),
                e.layoutInfo &&
                  ((this._contentLeft = this._context.configuration.editor.layoutInfo.contentLeft),
                  (this._glyphMarginLeft = this._context.configuration.editor.layoutInfo.glyphMarginLeft),
                  (this._glyphMarginWidth = this._context.configuration.editor.layoutInfo.glyphMarginWidth)),
                !0
              )
            }),
            (t.prototype.onScrollChanged = function(t) {
              return (
                e.prototype.onScrollChanged.call(this, t) || t.scrollTopChanged
              )
            }),
            (t.prototype.prepareRender = function(e) {}),
            (t.prototype.render = function(e) {
              this._domNode.setLayerHinting(this._canUseLayerHinting)
              var t = e.scrollTop - e.bigNumbersDelta
              this._domNode.setTop(-t)
              var n = Math.min(e.scrollHeight, 1e6)
              this._domNode.setHeight(n),
                this._domNode.setWidth(this._contentLeft),
                this._glyphMarginBackgroundDomNode.setLeft(
                  this._glyphMarginLeft
                ),
                this._glyphMarginBackgroundDomNode.setWidth(
                  this._glyphMarginWidth
                ),
                this._glyphMarginBackgroundDomNode.setHeight(n)
            }),
            t
          )
        })(i.ViewPart)
        ;(o.CLASS_NAME = 'glyph-margin'), (t.Margin = o)
      }),
      define(d[234], h([0, 1, 116, 356]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function(e) {
          function t(t) {
            var n = e.call(this) || this
            return (
              (n._context = t),
              (n._renderResult = null),
              n._context.addEventHandler(n),
              n
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              this._context.removeEventHandler(this),
                (this._context = null),
                (this._renderResult = null),
                e.prototype.dispose.call(this)
            }),
            (t.prototype.onConfigurationChanged = function(e) {
              return !0
            }),
            (t.prototype.onDecorationsChanged = function(e) {
              return !0
            }),
            (t.prototype.onFlushed = function(e) {
              return !0
            }),
            (t.prototype.onLinesChanged = function(e) {
              return !0
            }),
            (t.prototype.onLinesDeleted = function(e) {
              return !0
            }),
            (t.prototype.onLinesInserted = function(e) {
              return !0
            }),
            (t.prototype.onScrollChanged = function(e) {
              return e.scrollTopChanged
            }),
            (t.prototype.onZonesChanged = function(e) {
              return !0
            }),
            (t.prototype._getDecorations = function(e) {
              for (
                var t = e.getDecorationsInViewport(),
                  i = [],
                  o = 0,
                  r = t.length;
                o < r;
                o++
              ) {
                var s = t[o],
                  a = s.source.options.marginClassName
                a &&
                  i.push(
                    new n.DecorationToRender(
                      s.range.startLineNumber,
                      s.range.endLineNumber,
                      a
                    )
                  )
              }
              return i
            }),
            (t.prototype.prepareRender = function(e) {
              for (
                var t = e.visibleRange.startLineNumber,
                  n = e.visibleRange.endLineNumber,
                  i = this._render(t, n, this._getDecorations(e)),
                  o = [],
                  r = t;
                r <= n;
                r++
              ) {
                for (
                  var s = r - t, a = i[s], u = '', l = 0, c = a.length;
                  l < c;
                  l++
                )
                  u += '<div class="cmdr ' + a[l] + '" style=""></div>'
                o[s] = u
              }
              this._renderResult = o
            }),
            (t.prototype.render = function(e, t) {
              return this._renderResult ? this._renderResult[t - e] : ''
            }),
            t
          )
        })(n.DedupOverlay)
        t.MarginViewLineDecorationsOverlay = i
      }),
      define(d[235], h([0, 1, 26, 25, 35, 322]), function(e, t, n, i, o) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = (function(e) {
          function t(t) {
            var i = e.call(this, t) || this
            return (
              (i._widgets = {}),
              (i._verticalScrollbarWidth =
                i._context.configuration.editor.layoutInfo.verticalScrollbarWidth),
              (i._minimapWidth =
                i._context.configuration.editor.layoutInfo.minimapWidth),
              (i._horizontalScrollbarHeight =
                i._context.configuration.editor.layoutInfo.horizontalScrollbarHeight),
              (i._editorHeight =
                i._context.configuration.editor.layoutInfo.height),
              (i._editorWidth =
                i._context.configuration.editor.layoutInfo.width),
              (i._domNode = n.createFastDomNode(document.createElement('div'))),
              o.PartFingerprints.write(i._domNode, 4),
              i._domNode.setClassName('overlayWidgets'),
              i
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              e.prototype.dispose.call(this), (this._widgets = null)
            }),
            (t.prototype.getDomNode = function() {
              return this._domNode
            }),
            (t.prototype.onConfigurationChanged = function(e) {
              return (
                !!e.layoutInfo &&
                ((this._verticalScrollbarWidth = this._context.configuration.editor.layoutInfo.verticalScrollbarWidth),
                (this._minimapWidth = this._context.configuration.editor.layoutInfo.minimapWidth),
                (this._horizontalScrollbarHeight = this._context.configuration.editor.layoutInfo.horizontalScrollbarHeight),
                (this._editorHeight = this._context.configuration.editor.layoutInfo.height),
                (this._editorWidth = this._context.configuration.editor.layoutInfo.width),
                !0)
              )
            }),
            (t.prototype.addWidget = function(e) {
              var t = n.createFastDomNode(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()
            }),
            (t.prototype.setWidgetPosition = function(e, t) {
              var n = this._widgets[e.getId()]
              return (
                n.preference !== t &&
                ((n.preference = t), this.setShouldRender(), !0)
              )
            }),
            (t.prototype.removeWidget = function(e) {
              var t = e.getId()
              if (this._widgets.hasOwnProperty(t)) {
                var n = this._widgets[t].domNode.domNode
                delete this._widgets[t],
                  n.parentNode.removeChild(n),
                  this.setShouldRender()
              }
            }),
            (t.prototype._renderWidget = function(e) {
              var t = e.domNode
              if (null !== e.preference)
                if (
                  e.preference ===
                  i.OverlayWidgetPositionPreference.TOP_RIGHT_CORNER
                )
                  t.setTop(0),
                    t.setRight(
                      2 * this._verticalScrollbarWidth + this._minimapWidth
                    )
                else if (
                  e.preference ===
                  i.OverlayWidgetPositionPreference.BOTTOM_RIGHT_CORNER
                ) {
                  var n = t.domNode.clientHeight
                  t.setTop(
                    this._editorHeight - n - 2 * this._horizontalScrollbarHeight
                  ),
                    t.setRight(
                      2 * this._verticalScrollbarWidth + this._minimapWidth
                    )
                } else
                  e.preference ===
                    i.OverlayWidgetPositionPreference.TOP_CENTER &&
                    (t.setTop(0), (t.domNode.style.right = '50%'))
              else t.unsetTop()
            }),
            (t.prototype.prepareRender = function(e) {}),
            (t.prototype.render = function(e) {
              this._domNode.setWidth(this._editorWidth)
              for (
                var t = Object.keys(this._widgets), n = 0, i = t.length;
                n < i;
                n++
              ) {
                var o = t[n]
                this._renderWidget(this._widgets[o])
              }
            }),
            t
          )
        })(o.ViewPart)
        t.ViewOverlayWidgets = r
      }),
      define(d[236], h([0, 1, 10, 26, 35, 12]), function(e, t, n, i, o, r) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = (function(e) {
          function t(t) {
            var n = e.call(this, t) || this
            return (
              (n._lineHeight = n._context.configuration.editor.lineHeight),
              (n._contentWidth =
                n._context.configuration.editor.layoutInfo.contentWidth),
              (n._contentLeft =
                n._context.configuration.editor.layoutInfo.contentLeft),
              (n.domNode = i.createFastDomNode(document.createElement('div'))),
              n.domNode.setClassName('view-zones'),
              n.domNode.setPosition('absolute'),
              n.domNode.setAttribute('role', 'presentation'),
              n.domNode.setAttribute('aria-hidden', 'true'),
              (n.marginDomNode = i.createFastDomNode(
                document.createElement('div')
              )),
              n.marginDomNode.setClassName('margin-view-zones'),
              n.marginDomNode.setPosition('absolute'),
              n.marginDomNode.setAttribute('role', 'presentation'),
              n.marginDomNode.setAttribute('aria-hidden', 'true'),
              (n._zones = {}),
              n
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              e.prototype.dispose.call(this), (this._zones = {})
            }),
            (t.prototype._recomputeWhitespacesProps = function() {
              for (
                var e = !1, t = Object.keys(this._zones), n = 0, i = t.length;
                n < i;
                n++
              ) {
                var o = t[n],
                  r = this._zones[o],
                  s = this._computeWhitespaceProps(r.delegate)
                this._context.viewLayout.changeWhitespace(
                  parseInt(o, 10),
                  s.afterViewLineNumber,
                  s.heightInPx
                ) &&
                  (this._safeCallOnComputedHeight(r.delegate, s.heightInPx),
                  (e = !0))
              }
              return e
            }),
            (t.prototype.onConfigurationChanged = function(e) {
              return e.lineHeight
                ? ((this._lineHeight = this._context.configuration.editor.lineHeight),
                  this._recomputeWhitespacesProps())
                : (e.layoutInfo &&
                    ((this._contentWidth = this._context.configuration.editor.layoutInfo.contentWidth),
                    (this._contentLeft = this._context.configuration.editor.layoutInfo.contentLeft)),
                  !0)
            }),
            (t.prototype.onLineMappingChanged = function(e) {
              return this._recomputeWhitespacesProps()
            }),
            (t.prototype.onLinesDeleted = function(e) {
              return !0
            }),
            (t.prototype.onScrollChanged = function(e) {
              return e.scrollTopChanged || e.scrollWidthChanged
            }),
            (t.prototype.onZonesChanged = function(e) {
              return !0
            }),
            (t.prototype.onLinesInserted = function(e) {
              return !0
            }),
            (t.prototype._getZoneOrdinal = function(e) {
              return void 0 !== e.afterColumn ? e.afterColumn : 1e4
            }),
            (t.prototype._computeWhitespaceProps = function(e) {
              if (0 === e.afterLineNumber)
                return {
                  afterViewLineNumber: 0,
                  heightInPx: this._heightInPixels(e)
                }
              var t
              if (void 0 !== e.afterColumn)
                t = this._context.model.validateModelPosition({
                  lineNumber: e.afterLineNumber,
                  column: e.afterColumn
                })
              else {
                var n = this._context.model.validateModelPosition({
                  lineNumber: e.afterLineNumber,
                  column: 1
                }).lineNumber
                t = new r.Position(
                  n,
                  this._context.model.getModelLineMaxColumn(n)
                )
              }
              var 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
                    })
              var o = this._context.model.coordinatesConverter.convertModelPositionToViewPosition(
                  t
                ),
                s = this._context.model.coordinatesConverter.modelPositionIsVisible(
                  i
                )
              return {
                afterViewLineNumber: o.lineNumber,
                heightInPx: s ? this._heightInPixels(e) : 0
              }
            }),
            (t.prototype.addZone = function(e) {
              var t = this._computeWhitespaceProps(e),
                n = {
                  whitespaceId: this._context.viewLayout.addWhitespace(
                    t.afterViewLineNumber,
                    this._getZoneOrdinal(e),
                    t.heightInPx
                  ),
                  delegate: e,
                  isVisible: !1,
                  domNode: i.createFastDomNode(e.domNode),
                  marginDomNode: e.marginDomNode
                    ? i.createFastDomNode(e.marginDomNode)
                    : null
                }
              return (
                this._safeCallOnComputedHeight(n.delegate, t.heightInPx),
                n.domNode.setPosition('absolute'),
                (n.domNode.domNode.style.width = '100%'),
                n.domNode.setDisplay('none'),
                n.domNode.setAttribute(
                  'monaco-view-zone',
                  n.whitespaceId.toString()
                ),
                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.toString()
                  ),
                  this.marginDomNode.appendChild(n.marginDomNode)),
                (this._zones[n.whitespaceId.toString()] = n),
                this.setShouldRender(),
                n.whitespaceId
              )
            }),
            (t.prototype.removeZone = function(e) {
              if (this._zones.hasOwnProperty(e.toString())) {
                var t = this._zones[e.toString()]
                return (
                  delete this._zones[e.toString()],
                  this._context.viewLayout.removeWhitespace(t.whitespaceId),
                  t.domNode.removeAttribute('monaco-visible-view-zone'),
                  t.domNode.removeAttribute('monaco-view-zone'),
                  t.domNode.domNode.parentNode.removeChild(t.domNode.domNode),
                  t.marginDomNode &&
                    (t.marginDomNode.removeAttribute(
                      'monaco-visible-view-zone'
                    ),
                    t.marginDomNode.removeAttribute('monaco-view-zone'),
                    t.marginDomNode.domNode.parentNode.removeChild(
                      t.marginDomNode.domNode
                    )),
                  this.setShouldRender(),
                  !0
                )
              }
              return !1
            }),
            (t.prototype.layoutZone = function(e) {
              var t = !1
              if (this._zones.hasOwnProperty(e.toString())) {
                var n = this._zones[e.toString()],
                  i = this._computeWhitespaceProps(n.delegate)
                ;(t =
                  this._context.viewLayout.changeWhitespace(
                    n.whitespaceId,
                    i.afterViewLineNumber,
                    i.heightInPx
                  ) || t) &&
                  (this._safeCallOnComputedHeight(n.delegate, i.heightInPx),
                  this.setShouldRender())
              }
              return t
            }),
            (t.prototype.shouldSuppressMouseDownOnViewZone = function(e) {
              return (
                !!this._zones.hasOwnProperty(e.toString()) &&
                this._zones[e.toString()].delegate.suppressMouseDown
              )
            }),
            (t.prototype._heightInPixels = function(e) {
              return 'number' == typeof e.heightInPx
                ? e.heightInPx
                : 'number' == typeof e.heightInLines
                  ? this._lineHeight * e.heightInLines
                  : this._lineHeight
            }),
            (t.prototype._safeCallOnComputedHeight = function(e, t) {
              if ('function' == typeof e.onComputedHeight)
                try {
                  e.onComputedHeight(t)
                } catch (e) {
                  n.onUnexpectedError(e)
                }
            }),
            (t.prototype._safeCallOnDomNodeTop = function(e, t) {
              if ('function' == typeof e.onDomNodeTop)
                try {
                  e.onDomNodeTop(t)
                } catch (e) {
                  n.onUnexpectedError(e)
                }
            }),
            (t.prototype.prepareRender = function(e) {}),
            (t.prototype.render = function(e) {
              for (
                var t = e.viewportData.whitespaceViewportData,
                  n = {},
                  i = !1,
                  o = 0,
                  r = t.length;
                o < r;
                o++
              )
                (n[t[o].id.toString()] = t[o]), (i = !0)
              for (
                var s = Object.keys(this._zones), o = 0, r = s.length;
                o < r;
                o++
              ) {
                var a = s[o],
                  u = this._zones[a],
                  l = 0,
                  c = 0,
                  d = 'none'
                n.hasOwnProperty(a)
                  ? ((l = n[a].verticalOffset - e.bigNumbersDelta),
                    (c = n[a].height),
                    (d = 'block'),
                    u.isVisible ||
                      (u.domNode.setAttribute(
                        'monaco-visible-view-zone',
                        'true'
                      ),
                      (u.isVisible = !0)),
                    this._safeCallOnDomNodeTop(
                      u.delegate,
                      e.getScrolledTopFromAbsoluteTop(n[a].verticalOffset)
                    ))
                  : (u.isVisible &&
                      (u.domNode.removeAttribute('monaco-visible-view-zone'),
                      (u.isVisible = !1)),
                    this._safeCallOnDomNodeTop(
                      u.delegate,
                      e.getScrolledTopFromAbsoluteTop(-1e6)
                    )),
                  u.domNode.setTop(l),
                  u.domNode.setHeight(c),
                  u.domNode.setDisplay(d),
                  u.marginDomNode &&
                    (u.marginDomNode.setTop(l),
                    u.marginDomNode.setHeight(c),
                    u.marginDomNode.setDisplay(d))
              }
              i &&
                (this.domNode.setWidth(
                  Math.max(e.scrollWidth, this._contentWidth)
                ),
                this.marginDomNode.setWidth(this._contentLeft))
            }),
            t
          )
        })(o.ViewPart)
        t.ViewZones = s
      }),
      define(d[86], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var n = (function() {
          return function(e, t, n, i) {
            ;(this.top = 0 | e),
              (this.left = 0 | t),
              (this.width = 0 | n),
              (this.height = 0 | i)
          }
        })()
        t.Viewport = n
        var i = (function() {
          return function(e, t) {
            ;(this.tabSize = e), (this.data = t)
          }
        })()
        t.MinimapLinesRenderingData = i
        var o = (function() {
          return function(e, t, n, i) {
            ;(this.content = e),
              (this.minColumn = t),
              (this.maxColumn = n),
              (this.tokens = i)
          }
        })()
        t.ViewLineData = o
        var r = (function() {
          return function(e, t, n, i, o, r, s, a) {
            ;(this.minColumn = e),
              (this.maxColumn = t),
              (this.content = n),
              (this.mightContainRTL = i),
              (this.mightContainNonBasicASCII = o),
              (this.tokens = r),
              (this.inlineDecorations = s),
              (this.tabSize = a)
          }
        })()
        t.ViewLineRenderingData = r
        var s = (function() {
          return function(e, t, n) {
            ;(this.range = e),
              (this.inlineClassName = t),
              (this.insertsBeforeOrAfter = n)
          }
        })()
        t.InlineDecoration = s
        var a = (function() {
          return function(e) {
            ;(this.range = null), (this.source = e)
          }
        })()
        t.ViewModelDecoration = a
        var u = (function() {
          function e() {
            ;(this._eventsLen = 0), (this._events = []), (this._eventsLen = 0)
          }
          return (
            (e.prototype.emit = function(e) {
              this._events[this._eventsLen++] = e
            }),
            (e.prototype.finalize = function() {
              var e = this._events
              return (this._events = null), e
            }),
            e
          )
        })()
        t.ViewEventsCollector = u
      }),
      define(d[238], h([0, 1, 3, 51, 222, 86]), function(e, t, n, i, o, r) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = (function(e) {
          function t(t, n) {
            var r = e.call(this) || this
            return (
              (r._configuration = t),
              (r._linesLayout = new o.LinesLayout(
                n,
                r._configuration.editor.lineHeight
              )),
              (r.scrollable = r._register(new i.Scrollable())),
              r.scrollable.updateState({
                width: t.editor.layoutInfo.contentWidth,
                height: t.editor.layoutInfo.contentHeight
              }),
              (r.onDidScroll = r.scrollable.onScroll),
              r._updateHeight(),
              r
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              e.prototype.dispose.call(this)
            }),
            (t.prototype.getScrollable = function() {
              return this.scrollable
            }),
            (t.prototype.onHeightMaybeChanged = function() {
              this._updateHeight()
            }),
            (t.prototype.onConfigurationChanged = function(e) {
              e.lineHeight &&
                this._linesLayout.setLineHeight(
                  this._configuration.editor.lineHeight
                ),
                e.layoutInfo &&
                  this.scrollable.updateState({
                    width: this._configuration.editor.layoutInfo.contentWidth,
                    height: this._configuration.editor.layoutInfo.contentHeight
                  }),
                this._updateHeight()
            }),
            (t.prototype.onFlushed = function(e) {
              this._linesLayout.onFlushed(e), this._updateHeight()
            }),
            (t.prototype.onLinesDeleted = function(e, t) {
              this._linesLayout.onLinesDeleted(e, t), this._updateHeight()
            }),
            (t.prototype.onLinesInserted = function(e, t) {
              this._linesLayout.onLinesInserted(e, t), this._updateHeight()
            }),
            (t.prototype._getHorizontalScrollbarHeight = function(e) {
              return this._configuration.editor.viewInfo.scrollbar
                .horizontal === i.ScrollbarVisibility.Hidden
                ? 0
                : e.width >= e.scrollWidth
                  ? 0
                  : this._configuration.editor.viewInfo.scrollbar
                      .horizontalScrollbarSize
            }),
            (t.prototype._getTotalHeight = function() {
              var e = this.scrollable.getState(),
                t = this._linesLayout.getLinesTotalHeight()
              return (
                this._configuration.editor.viewInfo.scrollBeyondLastLine
                  ? (t += e.height - this._configuration.editor.lineHeight)
                  : (t += this._getHorizontalScrollbarHeight(e)),
                Math.max(e.height, t)
              )
            }),
            (t.prototype._updateHeight = function() {
              this.scrollable.updateState({
                scrollHeight: this._getTotalHeight()
              })
            }),
            (t.prototype.getCurrentViewport = function() {
              var e = this.scrollable.getState()
              return new r.Viewport(
                e.scrollTop,
                e.scrollLeft,
                e.width,
                e.height
              )
            }),
            (t.prototype._computeScrollWidth = function(e, n) {
              return this._configuration.editor.wrappingInfo.isViewportWrapping
                ? Math.max(e, n)
                : Math.max(e + t.LINES_HORIZONTAL_EXTRA_PX, n)
            }),
            (t.prototype.onMaxLineWidthChanged = function(e) {
              var t = this._computeScrollWidth(
                e,
                this.getCurrentViewport().width
              )
              this.scrollable.updateState({ scrollWidth: t }),
                this._updateHeight()
            }),
            (t.prototype.saveState = function() {
              var e = this.scrollable.getState(),
                t = e.scrollTop,
                n = this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t)
              return {
                scrollTop: t,
                scrollTopWithoutViewZones:
                  t -
                  this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(
                    n
                  ),
                scrollLeft: e.scrollLeft
              }
            }),
            (t.prototype.restoreState = function(e) {
              var t = e.scrollTop
              'number' != typeof e.scrollTopWithoutViewZones ||
                this._linesLayout.hasWhitespace() ||
                (t = e.scrollTopWithoutViewZones),
                this.scrollable.updateState({
                  scrollLeft: e.scrollLeft,
                  scrollTop: t
                })
            }),
            (t.prototype.addWhitespace = function(e, t, n) {
              return this._linesLayout.insertWhitespace(e, t, n)
            }),
            (t.prototype.changeWhitespace = function(e, t, n) {
              return this._linesLayout.changeWhitespace(e, t, n)
            }),
            (t.prototype.removeWhitespace = function(e) {
              return this._linesLayout.removeWhitespace(e)
            }),
            (t.prototype.getVerticalOffsetForLineNumber = function(e) {
              return this._linesLayout.getVerticalOffsetForLineNumber(e)
            }),
            (t.prototype.isAfterLines = function(e) {
              return this._linesLayout.isAfterLines(e)
            }),
            (t.prototype.getLineNumberAtVerticalOffset = function(e) {
              return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)
            }),
            (t.prototype.getWhitespaceAtVerticalOffset = function(e) {
              return this._linesLayout.getWhitespaceAtVerticalOffset(e)
            }),
            (t.prototype.getLinesViewportData = function() {
              var e = this.getCurrentViewport()
              return this._linesLayout.getLinesViewportData(
                e.top,
                e.top + e.height
              )
            }),
            (t.prototype.getLinesViewportDataAtScrollTop = function(e) {
              var t = this.scrollable.getState()
              return (
                e + t.height > t.scrollHeight &&
                  (e = t.scrollHeight - t.height),
                e < 0 && (e = 0),
                this._linesLayout.getLinesViewportData(e, e + t.height)
              )
            }),
            (t.prototype.getWhitespaceViewportData = function() {
              var e = this.getCurrentViewport()
              return this._linesLayout.getWhitespaceViewportData(
                e.top,
                e.top + e.height
              )
            }),
            (t.prototype.getWhitespaces = function() {
              return this._linesLayout.getWhitespaces()
            }),
            (t.prototype.getScrollWidth = function() {
              return this.scrollable.getState().scrollWidth
            }),
            (t.prototype.getScrollLeft = function() {
              return this.scrollable.getState().scrollLeft
            }),
            (t.prototype.getScrollHeight = function() {
              return this.scrollable.getState().scrollHeight
            }),
            (t.prototype.getScrollTop = function() {
              return this.scrollable.getState().scrollTop
            }),
            (t.prototype.setScrollPosition = function(e) {
              this.scrollable.updateState(e)
            }),
            t
          )
        })(n.Disposable)
        ;(s.LINES_HORIZONTAL_EXTRA_PX = 30), (t.ViewLayout = s)
      }),
      define(d[239], h([0, 1, 2, 12, 86]), function(e, t, n, i, o) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = (function() {
          function e(e, t, n, i) {
            ;(this.editorId = e),
              (this.model = t),
              (this.configuration = n),
              (this._coordinatesConverter = i),
              (this._decorationsCache = Object.create(null)),
              this._clearCachedModelDecorationsResolver()
          }
          return (
            (e.prototype._clearCachedModelDecorationsResolver = function() {
              ;(this._cachedModelDecorationsResolver = null),
                (this._cachedModelDecorationsResolverViewRange = null)
            }),
            (e.prototype.dispose = function() {
              ;(this._decorationsCache = null),
                this._clearCachedModelDecorationsResolver()
            }),
            (e.prototype.reset = function() {
              ;(this._decorationsCache = Object.create(null)),
                this._clearCachedModelDecorationsResolver()
            }),
            (e.prototype.onModelDecorationsChanged = function(e) {
              for (
                var t = e.changedDecorations, n = 0, i = t.length;
                n < i;
                n++
              ) {
                var o = t[n],
                  r = this._decorationsCache[o]
                r && (r.range = null)
              }
              var s = e.removedDecorations
              if (
                null !== this._decorationsCache &&
                void 0 !== this._decorationsCache
              )
                for (var n = 0, i = s.length; n < i; n++) {
                  var a = s[n]
                  delete this._decorationsCache[a]
                }
              this._clearCachedModelDecorationsResolver()
            }),
            (e.prototype.onLineMappingChanged = function() {
              ;(this._decorationsCache = Object.create(null)),
                this._clearCachedModelDecorationsResolver()
            }),
            (e.prototype._getOrCreateViewModelDecoration = function(e) {
              var t = e.id,
                r = this._decorationsCache[t]
              if (
                (r ||
                  ((r = new o.ViewModelDecoration(e)),
                  (this._decorationsCache[t] = r)),
                null === r.range)
              ) {
                var s = e.range
                if (e.options.isWholeLine) {
                  var a = this._coordinatesConverter.convertModelPositionToViewPosition(
                      new i.Position(s.startLineNumber, 1)
                    ),
                    u = this._coordinatesConverter.convertModelPositionToViewPosition(
                      new i.Position(
                        s.endLineNumber,
                        this.model.getLineMaxColumn(s.endLineNumber)
                      )
                    )
                  r.range = new n.Range(
                    a.lineNumber,
                    a.column,
                    u.lineNumber,
                    u.column
                  )
                } else
                  r.range = this._coordinatesConverter.convertModelRangeToViewRange(
                    s
                  )
              }
              return r
            }),
            (e.prototype.getAllOverviewRulerDecorations = function() {
              for (
                var e = this.model.getAllDecorations(
                    this.editorId,
                    this.configuration.editor.readOnly
                  ),
                  t = [],
                  n = 0,
                  i = 0,
                  o = e.length;
                i < o;
                i++
              ) {
                var r = e[i]
                if (r.options.overviewRuler.color) {
                  var s = this._getOrCreateViewModelDecoration(r)
                  t[n++] = s
                }
              }
              return t
            }),
            (e.prototype.getDecorationsViewportData = function(e) {
              var t = !0
              return (
                (t = t && null !== this._cachedModelDecorationsResolver),
                (t =
                  t &&
                  e.equalsRange(
                    this._cachedModelDecorationsResolverViewRange
                  )) ||
                  ((this._cachedModelDecorationsResolver = this._getDecorationsViewportData(
                    e
                  )),
                  (this._cachedModelDecorationsResolverViewRange = e)),
                this._cachedModelDecorationsResolver
              )
            }),
            (e.prototype._getDecorationsViewportData = function(e) {
              for (
                var t = this._coordinatesConverter.convertViewRangeToModelRange(
                    e
                  ),
                  i = e.startLineNumber,
                  r = e.endLineNumber,
                  s = this.model.getDecorationsInRange(
                    t,
                    this.editorId,
                    this.configuration.editor.readOnly
                  ),
                  a = [],
                  u = 0,
                  l = [],
                  c = i;
                c <= r;
                c++
              )
                l[c - i] = []
              for (var d = 0, h = s.length; d < h; d++) {
                var p = s[d],
                  f = p.options,
                  g = this._getOrCreateViewModelDecoration(p),
                  m = g.range
                if (((a[u++] = g), f.inlineClassName))
                  for (
                    var v = new o.InlineDecoration(m, f.inlineClassName, !1),
                      _ = Math.max(i, m.startLineNumber),
                      y = Math.min(r, m.endLineNumber),
                      c = _;
                    c <= y;
                    c++
                  )
                    l[c - i].push(v)
                if (
                  f.beforeContentClassName &&
                  i <= m.startLineNumber &&
                  m.startLineNumber <= r
                ) {
                  v = new o.InlineDecoration(
                    new n.Range(
                      m.startLineNumber,
                      m.startColumn,
                      m.startLineNumber,
                      m.startColumn + 1
                    ),
                    f.beforeContentClassName,
                    !0
                  )
                  l[m.startLineNumber - i].push(v)
                }
                if (
                  f.afterContentClassName &&
                  i <= m.endLineNumber &&
                  m.endLineNumber <= r &&
                  m.endColumn > 1
                ) {
                  v = new o.InlineDecoration(
                    new n.Range(
                      m.endLineNumber,
                      m.endColumn - 1,
                      m.endLineNumber,
                      m.endColumn
                    ),
                    f.afterContentClassName,
                    !0
                  )
                  l[m.endLineNumber - i].push(v)
                }
              }
              return { decorations: a, inlineDecorations: l }
            }),
            e
          )
        })()
        t.ViewModelDecorations = r
      }),
      define(d[240], h([0, 1, 2]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e(e, t) {
            ;(this._selection = e), (this._isMovingLeft = t)
          }
          return (
            (e.prototype.getEditOperations = function(e, t) {
              var i = this._selection
              if (
                ((this._selectionId = t.trackSelection(i)),
                i.startLineNumber === i.endLineNumber &&
                  (!this._isMovingLeft || 0 !== i.startColumn) &&
                  (this._isMovingLeft ||
                    i.endColumn !== e.getLineMaxColumn(i.startLineNumber)))
              ) {
                var o,
                  r,
                  s,
                  a = i.selectionStartLineNumber,
                  u = e.getLineContent(a)
                this._isMovingLeft
                  ? ((o = u.substring(0, i.startColumn - 2)),
                    (r = u.substring(i.startColumn - 1, i.endColumn - 1)),
                    (s =
                      u.substring(i.startColumn - 2, i.startColumn - 1) +
                      u.substring(i.endColumn - 1)))
                  : ((o =
                      u.substring(0, i.startColumn - 1) +
                      u.substring(i.endColumn - 1, i.endColumn)),
                    (r = u.substring(i.startColumn - 1, i.endColumn - 1)),
                    (s = u.substring(i.endColumn)))
                var l = o + r + s
                t.addEditOperation(
                  new n.Range(a, 1, a, e.getLineMaxColumn(a)),
                  null
                ),
                  t.addEditOperation(new n.Range(a, 1, a, 1), l),
                  (this._cutStartIndex =
                    i.startColumn + (this._isMovingLeft ? -1 : 1)),
                  (this._cutEndIndex =
                    this._cutStartIndex + i.endColumn - i.startColumn),
                  (this._moved = !0)
              }
            }),
            (e.prototype.computeCursorState = function(e, t) {
              var n = t.getTrackedSelection(this._selectionId)
              return (
                this._moved &&
                  (n = (n = n.setStartPosition(
                    n.startLineNumber,
                    this._cutStartIndex
                  )).setEndPosition(n.startLineNumber, this._cutEndIndex)),
                n
              )
            }),
            e
          )
        })()
        t.MoveCaretCommand = i
      }),
      define(d[151], h([0, 1, 57, 12, 2, 22, 43]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = (function() {
          function e(e) {
            ;(this._selection = e), (this._usedEndToken = null)
          }
          return (
            (e._haystackHasNeedleAtOffset = function(e, t, n) {
              if (n < 0) return !1
              var i = t.length
              if (n + i > e.length) return !1
              for (var o = 0; o < i; o++)
                if (e.charCodeAt(n + o) !== t.charCodeAt(o)) return !1
              return !0
            }),
            (e.prototype._createOperationsForBlockComment = function(
              t,
              n,
              i,
              r
            ) {
              var s,
                a = t.startLineNumber,
                u = t.startColumn,
                l = t.endLineNumber,
                c = t.endColumn,
                d = n.blockCommentStartToken,
                h = n.blockCommentEndToken,
                p = i.getLineContent(a).lastIndexOf(d, u - 1 + d.length),
                f = i.getLineContent(l).indexOf(h, c - 1 - h.length)
              ;-1 !== p && -1 !== f
                ? (s = e._createRemoveBlockCommentOperations(
                    new o.Range(a, p + 1 + d.length, l, f + 1),
                    d,
                    h
                  ))
                : ((s = e._createAddBlockCommentOperations(t, d, h)),
                  (this._usedEndToken = 1 === s.length ? h : null))
              for (var g = 0; g < s.length; g++)
                r.addTrackedEditOperation(s[g].range, s[g].text)
            }),
            (e._createRemoveBlockCommentOperations = function(e, t, i) {
              var r = []
              return (
                o.Range.isEmpty(e)
                  ? r.push(
                      n.EditOperation.delete(
                        new o.Range(
                          e.startLineNumber,
                          e.startColumn - t.length,
                          e.endLineNumber,
                          e.endColumn + i.length
                        )
                      )
                    )
                  : (r.push(
                      n.EditOperation.delete(
                        new o.Range(
                          e.startLineNumber,
                          e.startColumn - t.length,
                          e.startLineNumber,
                          e.startColumn
                        )
                      )
                    ),
                    r.push(
                      n.EditOperation.delete(
                        new o.Range(
                          e.endLineNumber,
                          e.endColumn,
                          e.endLineNumber,
                          e.endColumn + i.length
                        )
                      )
                    )),
                r
              )
            }),
            (e._createAddBlockCommentOperations = function(e, t, r) {
              var s = []
              return (
                o.Range.isEmpty(e)
                  ? s.push(
                      n.EditOperation.replace(
                        new o.Range(
                          e.startLineNumber,
                          e.startColumn,
                          e.endLineNumber,
                          e.endColumn
                        ),
                        t + '  ' + r
                      )
                    )
                  : (s.push(
                      n.EditOperation.insert(
                        new i.Position(e.startLineNumber, e.startColumn),
                        t + ' '
                      )
                    ),
                    s.push(
                      n.EditOperation.insert(
                        new i.Position(e.endLineNumber, e.endColumn),
                        ' ' + r
                      )
                    )),
                s
              )
            }),
            (e.prototype.getEditOperations = function(e, t) {
              var n = this._selection.startLineNumber,
                i = this._selection.startColumn,
                r = this._selection.endLineNumber,
                a = this._selection.endColumn
              e.forceTokenization(n)
              var u = e.getLanguageIdAtPosition(n, i),
                l = s.LanguageConfigurationRegistry.getComments(u)
              l &&
                l.blockCommentStartToken &&
                l.blockCommentEndToken &&
                this._createOperationsForBlockComment(
                  new o.Range(n, i, r, a),
                  l,
                  e,
                  t
                )
            }),
            (e.prototype.computeCursorState = function(e, t) {
              var n = t.getInverseEditOperations()
              if (2 === n.length) {
                var i = n[0],
                  o = n[1]
                return new r.Selection(
                  i.range.endLineNumber,
                  i.range.endColumn,
                  o.range.startLineNumber,
                  o.range.startColumn
                )
              }
              var s = n[0].range,
                a = this._usedEndToken ? -this._usedEndToken.length - 1 : 0
              return new r.Selection(
                s.endLineNumber,
                s.endColumn + a,
                s.endLineNumber,
                s.endColumn + a
              )
            }),
            e
          )
        })()
        t.BlockCommentCommand = a
      }),
      define(d[242], h([0, 1, 9, 57, 12, 2, 22, 151, 43]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        !(function(e) {
          ;(e[(e.Toggle = 0)] = 'Toggle'),
            (e[(e.ForceAdd = 1)] = 'ForceAdd'),
            (e[(e.ForceRemove = 2)] = 'ForceRemove')
        })(t.Type || (t.Type = {}))
        var l = (function() {
          function e(e, t, n) {
            ;(this._selection = e),
              (this._tabSize = t),
              (this._type = n),
              (this._deltaColumn = 0)
          }
          return (
            (e._gatherPreflightCommentStrings = function(e, t, n) {
              e.forceTokenization(t)
              var i = e.getLanguageIdAtPosition(t, 1),
                o = u.LanguageConfigurationRegistry.getComments(i),
                r = o ? o.lineCommentToken : null
              if (!r) return null
              for (var s = [], a = 0, l = n - t + 1; a < l; a++)
                s[a] = {
                  ignore: !1,
                  commentStr: r,
                  commentStrOffset: 0,
                  commentStrLength: r.length
                }
              return s
            }),
            (e._analyzeLines = function(e, t, i, o) {
              var r,
                s,
                u,
                l,
                c,
                d,
                h,
                p,
                f = !0
              for (h = 0 === e || 1 !== e, l = 0, c = i.length; l < c; l++)
                (r = i[l]),
                  (d = o + l),
                  (p = t.getLineContent(d)),
                  -1 !== (s = n.firstNonWhitespaceIndex(p))
                    ? ((f = !1),
                      (r.ignore = !1),
                      (r.commentStrOffset = s),
                      h &&
                        !a.BlockCommentCommand._haystackHasNeedleAtOffset(
                          p,
                          r.commentStr,
                          s
                        ) &&
                        (0 === e ? (h = !1) : 1 === e || (r.ignore = !0)),
                      h &&
                        (u = s + r.commentStrLength) < p.length &&
                        32 === p.charCodeAt(u) &&
                        (r.commentStrLength += 1))
                    : ((r.ignore = !0), (r.commentStrOffset = p.length))
              if (0 === e && f)
                for (h = !1, l = 0, c = i.length; l < c; l++) i[l].ignore = !1
              return { supported: !0, shouldRemoveComments: h, lines: i }
            }),
            (e._gatherPreflightData = function(t, n, i, o) {
              var r = e._gatherPreflightCommentStrings(n, i, o)
              return null === r
                ? { supported: !1, shouldRemoveComments: !1, lines: null }
                : e._analyzeLines(t, n, r, i)
            }),
            (e.prototype._executeLineComments = function(t, n, i, r) {
              var s
              i.shouldRemoveComments
                ? (s = e._createRemoveLineCommentsOperations(
                    i.lines,
                    r.startLineNumber
                  ))
                : (e._normalizeInsertionPoint(
                    t,
                    i.lines,
                    r.startLineNumber,
                    this._tabSize
                  ),
                  (s = e._createAddLineCommentsOperations(
                    i.lines,
                    r.startLineNumber
                  )))
              for (
                var a = new o.Position(r.positionLineNumber, r.positionColumn),
                  u = 0,
                  l = s.length;
                u < l;
                u++
              )
                n.addEditOperation(s[u].range, s[u].text),
                  s[u].range.isEmpty() &&
                    s[u].range.getStartPosition().equals(a) &&
                    (this._deltaColumn = s[u].text.length)
              this._selectionId = n.trackSelection(r)
            }),
            (e.prototype._attemptRemoveBlockComment = function(e, t, n, i) {
              var o = t.startLineNumber,
                s = t.endLineNumber,
                u =
                  i.length +
                  Math.max(
                    e.getLineFirstNonWhitespaceColumn(t.startLineNumber),
                    t.startColumn
                  ),
                l = e.getLineContent(o).lastIndexOf(n, u - 1),
                c = e.getLineContent(s).indexOf(i, t.endColumn - 1 - n.length)
              return (
                -1 !== l &&
                  -1 === c &&
                  ((c = e.getLineContent(o).indexOf(i, l + n.length)), (s = o)),
                -1 === l &&
                  -1 !== c &&
                  ((l = e.getLineContent(s).lastIndexOf(n, c)), (o = s)),
                !t.isEmpty() ||
                  (-1 !== l && -1 !== c) ||
                  (-1 !== (l = e.getLineContent(o).indexOf(n)) &&
                    (c = e.getLineContent(o).indexOf(i, l + n.length))),
                -1 !== l && -1 !== c
                  ? a.BlockCommentCommand._createRemoveBlockCommentOperations(
                      new r.Range(o, l + n.length + 1, s, c + 1),
                      n,
                      i
                    )
                  : null
              )
            }),
            (e.prototype._executeBlockComment = function(e, t, i) {
              e.forceTokenization(i.startLineNumber)
              var o = e.getLanguageIdAtPosition(
                  i.startLineNumber,
                  i.startColumn
                ),
                s = u.LanguageConfigurationRegistry.getComments(o)
              if (s && s.blockCommentStartToken && s.blockCommentEndToken) {
                var l = s.blockCommentStartToken,
                  c = s.blockCommentEndToken,
                  d = this._attemptRemoveBlockComment(e, i, l, c)
                if (!d) {
                  if (i.isEmpty()) {
                    var h = e.getLineContent(i.startLineNumber),
                      p = n.firstNonWhitespaceIndex(h)
                    ;-1 === p && (p = h.length),
                      (d = a.BlockCommentCommand._createAddBlockCommentOperations(
                        new r.Range(
                          i.startLineNumber,
                          p + 1,
                          i.startLineNumber,
                          h.length + 1
                        ),
                        l,
                        c
                      ))
                  } else
                    d = a.BlockCommentCommand._createAddBlockCommentOperations(
                      new r.Range(
                        i.startLineNumber,
                        e.getLineFirstNonWhitespaceColumn(i.startLineNumber),
                        i.endLineNumber,
                        e.getLineMaxColumn(i.endLineNumber)
                      ),
                      l,
                      c
                    )
                  1 === d.length && (this._deltaColumn = l.length)
                }
                this._selectionId = t.trackSelection(i)
                for (var f = 0; f < d.length; f++)
                  t.addEditOperation(d[f].range, d[f].text)
              }
            }),
            (e.prototype.getEditOperations = function(t, n) {
              var i = this._selection
              ;(this._moveEndPositionDown = !1),
                i.startLineNumber < i.endLineNumber &&
                  1 === i.endColumn &&
                  ((this._moveEndPositionDown = !0),
                  (i = i.setEndPosition(
                    i.endLineNumber - 1,
                    t.getLineMaxColumn(i.endLineNumber - 1)
                  )))
              var o = e._gatherPreflightData(
                this._type,
                t,
                i.startLineNumber,
                i.endLineNumber
              )
              return o.supported
                ? this._executeLineComments(t, n, o, i)
                : this._executeBlockComment(t, n, i)
            }),
            (e.prototype.computeCursorState = function(e, t) {
              var n = t.getTrackedSelection(this._selectionId)
              return (
                this._moveEndPositionDown &&
                  (n = n.setEndPosition(n.endLineNumber + 1, 1)),
                new s.Selection(
                  n.startLineNumber,
                  n.startColumn + this._deltaColumn,
                  n.endLineNumber,
                  n.endColumn + this._deltaColumn
                )
              )
            }),
            (e._createRemoveLineCommentsOperations = function(e, t) {
              var n,
                o,
                s,
                a = []
              for (n = 0, o = e.length; n < o; n++)
                (s = e[n]).ignore ||
                  a.push(
                    i.EditOperation.delete(
                      new r.Range(
                        t + n,
                        s.commentStrOffset + 1,
                        t + n,
                        s.commentStrOffset + s.commentStrLength + 1
                      )
                    )
                  )
              return a
            }),
            (e._createAddLineCommentsOperations = function(e, t) {
              var n,
                r,
                s,
                a = []
              for (n = 0, r = e.length; n < r; n++)
                (s = e[n]).ignore ||
                  a.push(
                    i.EditOperation.insert(
                      new o.Position(t + n, s.commentStrOffset + 1),
                      s.commentStr + ' '
                    )
                  )
              return a
            }),
            (e.nextVisibleColumn = function(e, t, n, i) {
              return n ? e + (t - (e % t)) : e + i
            }),
            (e._normalizeInsertionPoint = function(t, n, i, o) {
              var r,
                s,
                a,
                u,
                l,
                c,
                d = Number.MAX_VALUE
              for (r = 0, s = n.length; r < s; r++)
                if (!n[r].ignore) {
                  for (
                    a = t.getLineContent(i + r),
                      c = 0,
                      u = 0,
                      l = n[r].commentStrOffset;
                    c < d && u < l;
                    u++
                  )
                    c = e.nextVisibleColumn(c, o, 9 === a.charCodeAt(u), 1)
                  c < d && (d = c)
                }
              for (d = Math.floor(d / o) * o, r = 0, s = n.length; r < s; r++)
                if (!n[r].ignore) {
                  for (
                    a = t.getLineContent(i + r),
                      c = 0,
                      u = 0,
                      l = n[r].commentStrOffset;
                    c < d && u < l;
                    u++
                  )
                    c = e.nextVisibleColumn(c, o, 9 === a.charCodeAt(u), 1)
                  n[r].commentStrOffset = c > d ? u - 1 : u
                }
            }),
            e
          )
        })()
        t.LineCommentCommand = l
      }),
      define(d[243], h([0, 1, 22, 2]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = (function() {
          function e(e, t, n) {
            ;(this.selection = e), (this.targetPosition = t), (this.copy = n)
          }
          return (
            (e.prototype.getEditOperations = function(e, t) {
              var o = e.getValueInRange(this.selection)
              this.copy || t.addEditOperation(this.selection, null),
                t.addEditOperation(
                  new i.Range(
                    this.targetPosition.lineNumber,
                    this.targetPosition.column,
                    this.targetPosition.lineNumber,
                    this.targetPosition.column
                  ),
                  o
                ),
                !this.selection.containsPosition(this.targetPosition) ||
                (this.copy &&
                  (this.selection
                    .getEndPosition()
                    .equals(this.targetPosition) ||
                    this.selection
                      .getStartPosition()
                      .equals(this.targetPosition)))
                  ? this.copy
                    ? (this.targetSelection = new n.Selection(
                        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 n.Selection(
                          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 n.Selection(
                            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 n.Selection(
                              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 n.Selection(
                              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)
            }),
            (e.prototype.computeCursorState = function(e, t) {
              return this.targetSelection
            }),
            e
          )
        })()
        t.DragAndDropCommand = o
      }),
      define(d[244], h([0, 1, 38, 2]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = (function() {
          function e() {
            ;(this._searchString = ''),
              (this._replaceString = ''),
              (this._isRevealed = !1),
              (this._isReplaceRevealed = !1),
              (this._isRegex = !1),
              (this._wholeWord = !1),
              (this._matchCase = !1),
              (this._searchScope = null),
              (this._matchesPosition = 0),
              (this._matchesCount = 0),
              (this._currentMatch = null),
              (this._eventEmitter = new n.EventEmitter())
          }
          return (
            Object.defineProperty(e.prototype, 'searchString', {
              get: function() {
                return this._searchString
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'replaceString', {
              get: function() {
                return this._replaceString
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'isRevealed', {
              get: function() {
                return this._isRevealed
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'isReplaceRevealed', {
              get: function() {
                return this._isReplaceRevealed
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'isRegex', {
              get: function() {
                return this._isRegex
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'wholeWord', {
              get: function() {
                return this._wholeWord
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'matchCase', {
              get: function() {
                return this._matchCase
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'searchScope', {
              get: function() {
                return this._searchScope
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'matchesPosition', {
              get: function() {
                return this._matchesPosition
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'matchesCount', {
              get: function() {
                return this._matchesCount
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'currentMatch', {
              get: function() {
                return this._currentMatch
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.dispose = function() {
              this._eventEmitter.dispose()
            }),
            (e.prototype.addChangeListener = function(t) {
              return this._eventEmitter.addListener(e._CHANGED_EVENT, t)
            }),
            (e.prototype.changeMatchInfo = function(t, n, o) {
              var r = {
                  moveCursor: !1,
                  updateHistory: !1,
                  searchString: !1,
                  replaceString: !1,
                  isRevealed: !1,
                  isReplaceRevealed: !1,
                  isRegex: !1,
                  wholeWord: !1,
                  matchCase: !1,
                  searchScope: !1,
                  matchesPosition: !1,
                  matchesCount: !1,
                  currentMatch: !1
                },
                s = !1
              0 === n && (t = 0),
                t > n && (t = n),
                this._matchesPosition !== t &&
                  ((this._matchesPosition = t),
                  (r.matchesPosition = !0),
                  (s = !0)),
                this._matchesCount !== n &&
                  ((this._matchesCount = n), (r.matchesCount = !0), (s = !0)),
                void 0 !== o &&
                  (i.Range.equalsRange(this._currentMatch, o) ||
                    ((this._currentMatch = o),
                    (r.currentMatch = !0),
                    (s = !0))),
                s && this._eventEmitter.emit(e._CHANGED_EVENT, r)
            }),
            (e.prototype.change = function(t, n, o) {
              void 0 === o && (o = !0)
              var r = {
                  moveCursor: n,
                  updateHistory: o,
                  searchString: !1,
                  replaceString: !1,
                  isRevealed: !1,
                  isReplaceRevealed: !1,
                  isRegex: !1,
                  wholeWord: !1,
                  matchCase: !1,
                  searchScope: !1,
                  matchesPosition: !1,
                  matchesCount: !1,
                  currentMatch: !1
                },
                s = !1
              void 0 !== t.searchString &&
                this._searchString !== t.searchString &&
                ((this._searchString = t.searchString),
                (r.searchString = !0),
                (s = !0)),
                void 0 !== t.replaceString &&
                  this._replaceString !== t.replaceString &&
                  ((this._replaceString = t.replaceString),
                  (r.replaceString = !0),
                  (s = !0)),
                void 0 !== t.isRevealed &&
                  this._isRevealed !== t.isRevealed &&
                  ((this._isRevealed = t.isRevealed),
                  (r.isRevealed = !0),
                  (s = !0)),
                void 0 !== t.isReplaceRevealed &&
                  this._isReplaceRevealed !== t.isReplaceRevealed &&
                  ((this._isReplaceRevealed = t.isReplaceRevealed),
                  (r.isReplaceRevealed = !0),
                  (s = !0)),
                void 0 !== t.isRegex &&
                  this._isRegex !== t.isRegex &&
                  ((this._isRegex = t.isRegex), (r.isRegex = !0), (s = !0)),
                void 0 !== t.wholeWord &&
                  this._wholeWord !== t.wholeWord &&
                  ((this._wholeWord = t.wholeWord),
                  (r.wholeWord = !0),
                  (s = !0)),
                void 0 !== t.matchCase &&
                  this._matchCase !== t.matchCase &&
                  ((this._matchCase = t.matchCase),
                  (r.matchCase = !0),
                  (s = !0)),
                void 0 !== t.searchScope &&
                  (i.Range.equalsRange(this._searchScope, t.searchScope) ||
                    ((this._searchScope = t.searchScope),
                    (r.searchScope = !0),
                    (s = !0))),
                s && this._eventEmitter.emit(e._CHANGED_EVENT, r)
            }),
            e
          )
        })()
        ;(o._CHANGED_EVENT = 'changed'), (t.FindReplaceState = o)
      }),
      define(d[245], h([0, 1, 2]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e(e, t, n) {
            ;(this._editorSelection = e),
              (this._ranges = t),
              (this._replaceStrings = n)
          }
          return (
            (e.prototype.getEditOperations = function(e, t) {
              if (this._ranges.length > 0) {
                for (var i = [], o = 0; o < this._ranges.length; o++)
                  i.push({
                    range: this._ranges[o],
                    text: this._replaceStrings[o]
                  })
                i.sort(function(e, t) {
                  return n.Range.compareRangesUsingStarts(e.range, t.range)
                })
                for (var r = [], s = i[0], o = 1; o < i.length; o++)
                  s.range.endLineNumber === i[o].range.startLineNumber &&
                  s.range.endColumn === i[o].range.startColumn
                    ? ((s.range = s.range.plusRange(i[o].range)),
                      (s.text = s.text + i[o].text))
                    : (r.push(s), (s = i[o]))
                r.push(s)
                for (o = 0; o < r.length; o++)
                  t.addEditOperation(r[o].range, r[o].text)
              }
              this._trackedEditorSelectionId = t.trackSelection(
                this._editorSelection
              )
            }),
            (e.prototype.computeCursorState = function(e, t) {
              return t.getTrackedSelection(this._trackedEditorSelectionId)
            }),
            e
          )
        })()
        t.ReplaceAllCommand = i
      }),
      define(d[246], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var n = (function() {
          function e(e) {
            e && 0 !== e.length
              ? 1 === e.length && null !== e[0].staticValue
                ? ((this._staticValue = e[0].staticValue),
                  (this._pieces = null))
                : ((this._staticValue = null), (this._pieces = e))
              : ((this._staticValue = ''), (this._pieces = null))
          }
          return (
            (e.fromStaticValue = function(t) {
              return new e([i.staticValue(t)])
            }),
            Object.defineProperty(e.prototype, 'hasReplacementPatterns', {
              get: function() {
                return null === this._staticValue
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.buildReplaceString = function(t) {
              if (null !== this._staticValue) return this._staticValue
              for (var n = '', i = 0, o = this._pieces.length; i < o; i++) {
                var r = this._pieces[i]
                null === r.staticValue
                  ? (n += e._substitute(r.matchIndex, t))
                  : (n += r.staticValue)
              }
              return n
            }),
            (e._substitute = function(e, t) {
              if (0 === e) return t[0]
              for (var n = ''; e > 0; ) {
                if (e < t.length) return (t[e] || '') + n
                ;(n = String(e % 10) + n), (e = Math.floor(e / 10))
              }
              return '$' + n
            }),
            e
          )
        })()
        t.ReplacePattern = n
        var i = (function() {
          function e(e, t) {
            ;(this.staticValue = e), (this.matchIndex = t)
          }
          return (
            (e.staticValue = function(t) {
              return new e(t, -1)
            }),
            (e.matchIndex = function(t) {
              return new e(null, t)
            }),
            e
          )
        })()
        t.ReplacePiece = i
        var o = (function() {
          function e(e) {
            ;(this._source = e),
              (this._lastCharIndex = 0),
              (this._result = []),
              (this._resultLen = 0),
              (this._currentStaticPiece = '')
          }
          return (
            (e.prototype.emitUnchanged = function(e) {
              this._emitStatic(this._source.substring(this._lastCharIndex, e)),
                (this._lastCharIndex = e)
            }),
            (e.prototype.emitStatic = function(e, t) {
              this._emitStatic(e), (this._lastCharIndex = t)
            }),
            (e.prototype._emitStatic = function(e) {
              0 !== e.length && (this._currentStaticPiece += e)
            }),
            (e.prototype.emitMatchIndex = function(e, t) {
              0 !== this._currentStaticPiece.length &&
                ((this._result[this._resultLen++] = i.staticValue(
                  this._currentStaticPiece
                )),
                (this._currentStaticPiece = '')),
                (this._result[this._resultLen++] = i.matchIndex(e)),
                (this._lastCharIndex = t)
            }),
            (e.prototype.finalize = function() {
              return (
                this.emitUnchanged(this._source.length),
                0 !== this._currentStaticPiece.length &&
                  ((this._result[this._resultLen++] = i.staticValue(
                    this._currentStaticPiece
                  )),
                  (this._currentStaticPiece = '')),
                new n(this._result)
              )
            }),
            e
          )
        })()
        t.parseReplaceString = function(e) {
          if (!e || 0 === e.length) return new n(null)
          for (var t = new o(e), i = 0, r = e.length; i < r; i++) {
            var s = e.charCodeAt(i)
            if (92 !== s) {
              if (36 === s) {
                if (++i >= r) break
                var a = e.charCodeAt(i)
                if (36 === a) {
                  t.emitUnchanged(i - 1), t.emitStatic('$', i + 1)
                  continue
                }
                if (48 === a || 38 === a) {
                  t.emitUnchanged(i - 1), t.emitMatchIndex(0, i + 1)
                  continue
                }
                if (49 <= a && a <= 57) {
                  var u = a - 48
                  if (i + 1 < r) {
                    var l = e.charCodeAt(i + 1)
                    if (48 <= l && l <= 57) {
                      i++,
                        (u = 10 * u + (l - 48)),
                        t.emitUnchanged(i - 2),
                        t.emitMatchIndex(u, i + 1)
                      continue
                    }
                  }
                  t.emitUnchanged(i - 1), t.emitMatchIndex(u, i + 1)
                  continue
                }
              }
            } else {
              if (++i >= r) break
              switch ((a = e.charCodeAt(i))) {
                case 92:
                  t.emitUnchanged(i - 1), t.emitStatic('\\', i + 1)
                  break
                case 110:
                  t.emitUnchanged(i - 1), t.emitStatic('\n', i + 1)
                  break
                case 116:
                  t.emitUnchanged(i - 1), t.emitStatic('\t', i + 1)
              }
            }
          }
          return t.finalize()
        }
      }),
      define(d[247], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.ID = 'editor.contrib.folding')
      }),
      define(d[248], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.computeRanges = function(e) {
            return e.getIndentRanges()
          }),
          (t.limitByIndent = function(e, t) {
            if (e.length <= t) return e
            var n = []
            e.forEach(function(e) {
              e.indent < 1e3 && (n[e.indent] = (n[e.indent] || 0) + 1)
            })
            for (var i = n.length, o = 0; o < n.length; o++)
              if (n[o] && (t -= n[o]) < 0) {
                i = o
                break
              }
            return e.filter(function(e) {
              return e.indent < i
            })
          })
      }),
      define(d[249], h([0, 1, 9, 2]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = (function() {
          function e(e, t) {
            ;(this._initialSelection = t),
              (this._edits = []),
              (this._newEol = void 0)
            for (var n = 0, i = e; n < i.length; n++) {
              var o = i[n]
              'number' == typeof o.eol && (this._newEol = o.eol),
                o.range && 'string' == typeof o.text && this._edits.push(o)
            }
          }
          return (
            (e.execute = function(t, n) {
              var i = new e(n, t.getSelection())
              'number' == typeof i._newEol && t.getModel().setEOL(i._newEol),
                t.pushUndoStop(),
                t.executeCommand('formatEditsCommand', i),
                t.pushUndoStop()
            }),
            (e.prototype.getEditOperations = function(t, n) {
              for (var o = 0, r = this._edits; o < r.length; o++) {
                var s = r[o]
                null !== e.trimEdit(s, t) &&
                  n.addEditOperation(i.Range.lift(s.range), s.text)
              }
              var a = !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
                  ? ((a = !0),
                    (this._selectionId = n.trackSelection(
                      this._initialSelection,
                      !0
                    )))
                  : this._edits[0].range.endColumn ===
                      this._initialSelection.startColumn &&
                    this._edits[0].range.endLineNumber ===
                      this._initialSelection.startLineNumber &&
                    ((a = !0),
                    (this._selectionId = n.trackSelection(
                      this._initialSelection,
                      !1
                    )))),
                a ||
                  (this._selectionId = n.trackSelection(this._initialSelection))
            }),
            (e.prototype.computeCursorState = function(e, t) {
              return t.getTrackedSelection(this._selectionId)
            }),
            (e.fixLineTerminators = function(e, t) {
              e.text = e.text.replace(/\r\n|\r|\n/g, t.getEOL())
            }),
            (e.trimEdit = function(e, t) {
              return (
                this.fixLineTerminators(e, t),
                this._trimEdit(
                  t.validateRange(e.range),
                  e.text,
                  e.forceMoveMarkers,
                  t
                )
              )
            }),
            (e._trimEdit = function(e, t, o, r) {
              var s = r.getValueInRange(e),
                a = n.commonPrefixLength(t, s)
              if (a === s.length && a === t.length) return null
              if (a > 0) {
                var u = r.modifyPosition(e.getStartPosition(), a)
                ;(e = new i.Range(
                  u.lineNumber,
                  u.column,
                  e.endLineNumber,
                  e.endColumn
                )),
                  (t = t.substring(a)),
                  (s = s.substr(a))
              }
              var l = n.commonSuffixLength(t, s)
              if (l > 0) {
                var c = r.modifyPosition(e.getEndPosition(), -l)
                ;(e = new i.Range(
                  e.startLineNumber,
                  e.startColumn,
                  c.lineNumber,
                  c.column
                )),
                  (t = t.substring(0, t.length - l)),
                  (s = s.substring(0, s.length - l))
              }
              return { text: t, range: e, forceMoveMarkers: o }
            }),
            e
          )
        })()
        t.EditOperationsCommand = o
      }),
      define(d[150], h([0, 1, 30, 3, 11, 15, 190]), function(e, t, n, i, o, r) {
        'use strict'
        function s(e, t) {
          return !!e[t]
        }
        function a(e) {
          return 'altKey' === e
            ? r.isMacintosh
              ? new c(57, 'metaKey', 6, 'altKey')
              : new c(5, 'ctrlKey', 6, 'altKey')
            : r.isMacintosh
              ? new c(6, 'altKey', 57, 'metaKey')
              : new c(6, 'altKey', 5, 'ctrlKey')
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var u = (function() {
          return function(e, t) {
            ;(this.target = e.target),
              (this.hasTriggerModifier = s(e.event, t.triggerModifier)),
              (this.hasSideBySideModifier = s(
                e.event,
                t.triggerSideBySideModifier
              )),
              (this.isNoneOrSingleMouseDown = n.isIE || e.event.detail <= 1)
          }
        })()
        t.ClickLinkMouseEvent = u
        var l = (function() {
          return function(e, t) {
            ;(this.keyCodeIsTriggerKey = e.keyCode === t.triggerKey),
              (this.keyCodeIsSideBySideKey =
                e.keyCode === t.triggerSideBySideKey),
              (this.hasTriggerModifier = s(e, t.triggerModifier))
          }
        })()
        t.ClickLinkKeyboardEvent = l
        var c = (function() {
          function e(e, t, n, i) {
            ;(this.triggerKey = e),
              (this.triggerModifier = t),
              (this.triggerSideBySideKey = n),
              (this.triggerSideBySideModifier = i)
          }
          return (
            (e.prototype.equals = function(e) {
              return (
                this.triggerKey === e.triggerKey &&
                this.triggerModifier === e.triggerModifier &&
                this.triggerSideBySideKey === e.triggerSideBySideKey &&
                this.triggerSideBySideModifier === e.triggerSideBySideModifier
              )
            }),
            e
          )
        })()
        t.ClickLinkOptions = c
        var d = (function(e) {
          function t(t) {
            var n = e.call(this) || this
            return (
              (n._onMouseMoveOrRelevantKeyDown = n._register(new o.Emitter())),
              (n.onMouseMoveOrRelevantKeyDown =
                n._onMouseMoveOrRelevantKeyDown.event),
              (n._onExecute = n._register(new o.Emitter())),
              (n.onExecute = n._onExecute.event),
              (n._onCancel = n._register(new o.Emitter())),
              (n.onCancel = n._onCancel.event),
              (n._editor = t),
              (n._opts = a(n._editor.getConfiguration().multiCursorModifier)),
              (n.lastMouseMoveEvent = null),
              (n.hasTriggerKeyOnMouseDown = !1),
              n._register(
                n._editor.onDidChangeConfiguration(function(e) {
                  if (e.multiCursorModifier) {
                    var t = a(n._editor.getConfiguration().multiCursorModifier)
                    if (n._opts.equals(t)) return
                    ;(n._opts = t),
                      (n.lastMouseMoveEvent = null),
                      (n.hasTriggerKeyOnMouseDown = !1),
                      n._onCancel.fire()
                  }
                })
              ),
              n._register(
                n._editor.onMouseMove(function(e) {
                  return n.onEditorMouseMove(new u(e, n._opts))
                })
              ),
              n._register(
                n._editor.onMouseDown(function(e) {
                  return n.onEditorMouseDown(new u(e, n._opts))
                })
              ),
              n._register(
                n._editor.onMouseUp(function(e) {
                  return n.onEditorMouseUp(new u(e, n._opts))
                })
              ),
              n._register(
                n._editor.onKeyDown(function(e) {
                  return n.onEditorKeyDown(new l(e, n._opts))
                })
              ),
              n._register(
                n._editor.onKeyUp(function(e) {
                  return n.onEditorKeyUp(new l(e, n._opts))
                })
              ),
              n._register(
                n._editor.onMouseDrag(function() {
                  return n.resetHandler()
                })
              ),
              n._register(
                n._editor.onDidChangeCursorSelection(function(e) {
                  return n.onDidChangeCursorSelection(e)
                })
              ),
              n._register(
                n._editor.onDidChangeModel(function(e) {
                  return n.resetHandler()
                })
              ),
              n._register(
                n._editor.onDidChangeModelContent(function() {
                  return n.resetHandler()
                })
              ),
              n._register(
                n._editor.onDidScrollChange(function(e) {
                  ;(e.scrollTopChanged || e.scrollLeftChanged) &&
                    n.resetHandler()
                })
              ),
              n
            )
          }
          return (
            f(t, e),
            (t.prototype.onDidChangeCursorSelection = function(e) {
              e.selection &&
                e.selection.startColumn !== e.selection.endColumn &&
                this.resetHandler()
            }),
            (t.prototype.onEditorMouseMove = function(e) {
              ;(this.lastMouseMoveEvent = e),
                this._onMouseMoveOrRelevantKeyDown.fire([e, null])
            }),
            (t.prototype.onEditorMouseDown = function(e) {
              this.hasTriggerKeyOnMouseDown = e.hasTriggerModifier
            }),
            (t.prototype.onEditorMouseUp = function(e) {
              this.hasTriggerKeyOnMouseDown && this._onExecute.fire(e)
            }),
            (t.prototype.onEditorKeyDown = function(e) {
              this.lastMouseMoveEvent &&
              (e.keyCodeIsTriggerKey ||
                (e.keyCodeIsSideBySideKey && e.hasTriggerModifier))
                ? this._onMouseMoveOrRelevantKeyDown.fire([
                    this.lastMouseMoveEvent,
                    e
                  ])
                : e.hasTriggerModifier && this._onCancel.fire()
            }),
            (t.prototype.onEditorKeyUp = function(e) {
              e.keyCodeIsTriggerKey && this._onCancel.fire()
            }),
            (t.prototype.resetHandler = function() {
              ;(this.lastMouseMoveEvent = null),
                (this.hasTriggerKeyOnMouseDown = !1),
                this._onCancel.fire()
            }),
            t
          )
        })(i.Disposable)
        t.ClickLinkGesture = d
      }),
      define(d[149], h([0, 1, 18, 10]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o
        !(function(e) {
          ;(e[(e.IDLE = 0)] = 'IDLE'),
            (e[(e.FIRST_WAIT = 1)] = 'FIRST_WAIT'),
            (e[(e.SECOND_WAIT = 2)] = 'SECOND_WAIT'),
            (e[(e.WAITING_FOR_ASYNC_COMPUTATION = 3)] =
              'WAITING_FOR_ASYNC_COMPUTATION')
        })(o || (o = {}))
        var r = (function() {
          function e(e, t, i, o) {
            var r = this
            ;(this._computer = e),
              (this._state = 0),
              (this._firstWaitScheduler = new n.RunOnceScheduler(function() {
                return r._triggerAsyncComputation()
              }, this._getHoverTimeMillis() / 2)),
              (this._secondWaitScheduler = new n.RunOnceScheduler(function() {
                return r._triggerSyncComputation()
              }, this._getHoverTimeMillis() / 2)),
              (this._loadingMessageScheduler = new n.RunOnceScheduler(
                function() {
                  return r._showLoadingMessage()
                },
                3 * this._getHoverTimeMillis()
              )),
              (this._asyncComputationPromise = null),
              (this._asyncComputationPromiseDone = !1),
              (this._completeCallback = t),
              (this._errorCallback = i),
              (this._progressCallback = o)
          }
          return (
            (e.prototype.getComputer = function() {
              return this._computer
            }),
            (e.prototype._getHoverTimeMillis = function() {
              return this._computer.getHoverTimeMillis
                ? this._computer.getHoverTimeMillis()
                : e.HOVER_TIME
            }),
            (e.prototype._triggerAsyncComputation = function() {
              var e = this
              ;(this._state = 2),
                this._secondWaitScheduler.schedule(),
                this._computer.computeAsync
                  ? ((this._asyncComputationPromiseDone = !1),
                    (this._asyncComputationPromise = this._computer
                      .computeAsync()
                      .then(
                        function(t) {
                          ;(e._asyncComputationPromiseDone = !0),
                            e._withAsyncResult(t)
                        },
                        function() {
                          return e._onError
                        }
                      )))
                  : (this._asyncComputationPromiseDone = !0)
            }),
            (e.prototype._triggerSyncComputation = function() {
              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()))
            }),
            (e.prototype._showLoadingMessage = function() {
              3 === this._state &&
                this._onProgress(this._computer.getResultWithLoadingMessage())
            }),
            (e.prototype._withAsyncResult = function(e) {
              e && this._computer.onResult(e, !1),
                3 === this._state &&
                  ((this._state = 0),
                  this._onComplete(this._computer.getResult()))
            }),
            (e.prototype._onComplete = function(e) {
              this._completeCallback && this._completeCallback(e)
            }),
            (e.prototype._onError = function(e) {
              this._errorCallback
                ? this._errorCallback(e)
                : i.onUnexpectedError(e)
            }),
            (e.prototype._onProgress = function(e) {
              this._progressCallback && this._progressCallback(e)
            }),
            (e.prototype.start = function() {
              0 === this._state &&
                ((this._state = 1),
                this._firstWaitScheduler.schedule(),
                this._loadingMessageScheduler.schedule())
            }),
            (e.prototype.cancel = function() {
              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)
            }),
            e
          )
        })()
        ;(r.HOVER_TIME = 300), (t.HoverOperation = r)
      }),
      define(d[148], h([0, 1, 6, 12, 25, 44, 61, 3]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var u = (function(e) {
          function t(t, n) {
            var i = e.call(this) || this
            return (
              (i.disposables = []),
              (i.allowEditorOverflow = !0),
              (i._id = t),
              (i._editor = n),
              (i._isVisible = !1),
              (i._containerDomNode = document.createElement('div')),
              (i._containerDomNode.className = 'monaco-editor-hover hidden'),
              (i._containerDomNode.tabIndex = 0),
              (i._domNode = document.createElement('div')),
              (i._domNode.className = 'monaco-editor-hover-content'),
              (i.scrollbar = new s.DomScrollableElement(i._domNode, {})),
              i.disposables.push(i.scrollbar),
              i._containerDomNode.appendChild(i.scrollbar.getDomNode()),
              i.onkeydown(i._containerDomNode, function(e) {
                e.equals(9) && i.hide()
              }),
              i._register(
                i._editor.onDidChangeConfiguration(function(e) {
                  e.fontInfo && i.updateFont()
                })
              ),
              i._editor.onDidLayoutChange(function(e) {
                return i.updateMaxHeight()
              }),
              i.updateMaxHeight(),
              i._editor.addContentWidget(i),
              (i._showAtPosition = null),
              i
            )
          }
          return (
            f(t, e),
            Object.defineProperty(t.prototype, 'isVisible', {
              get: function() {
                return this._isVisible
              },
              set: function(e) {
                ;(this._isVisible = e),
                  n.toggleClass(
                    this._containerDomNode,
                    'hidden',
                    !this._isVisible
                  )
              },
              enumerable: !0,
              configurable: !0
            }),
            (t.prototype.getId = function() {
              return this._id
            }),
            (t.prototype.getDomNode = function() {
              return this._containerDomNode
            }),
            (t.prototype.showAt = function(e, t) {
              ;(this._showAtPosition = new i.Position(e.lineNumber, e.column)),
                (this.isVisible = !0),
                this._editor.layoutContentWidget(this),
                this._editor.render(),
                (this._stoleFocus = t),
                t && this._containerDomNode.focus()
            }),
            (t.prototype.hide = function() {
              this.isVisible &&
                ((this.isVisible = !1),
                this._editor.layoutContentWidget(this),
                this._stoleFocus && this._editor.focus())
            }),
            (t.prototype.getPosition = function() {
              return this.isVisible
                ? {
                    position: this._showAtPosition,
                    preference: [
                      o.ContentWidgetPositionPreference.ABOVE,
                      o.ContentWidgetPositionPreference.BELOW
                    ]
                  }
                : null
            }),
            (t.prototype.dispose = function() {
              this._editor.removeContentWidget(this),
                (this.disposables = a.dispose(this.disposables)),
                e.prototype.dispose.call(this)
            }),
            (t.prototype.updateFont = function() {
              var e = this,
                t = Array.prototype.slice.call(
                  this._domNode.getElementsByTagName('code')
                ),
                n = Array.prototype.slice.call(
                  this._domNode.getElementsByClassName('code')
                )
              t.concat(n).forEach(function(t) {
                return e._editor.applyFontInfo(t)
              })
            }),
            (t.prototype.updateContents = function(e) {
              ;(this._domNode.textContent = ''),
                this._domNode.appendChild(e),
                this.updateFont(),
                this._editor.layoutContentWidget(this),
                this.scrollbar.scanDomNode()
            }),
            (t.prototype.updateMaxHeight = function() {
              var e = Math.max(this._editor.getLayoutInfo().height / 4, 250),
                t = this._editor.getConfiguration().fontInfo,
                n = t.fontSize,
                i = t.lineHeight
              ;(this._domNode.style.fontSize = n + 'px'),
                (this._domNode.style.lineHeight = i + 'px'),
                (this._domNode.style.maxHeight = e + 'px')
            }),
            t
          )
        })(r.Widget)
        t.ContentHoverWidget = u
        var l = (function(e) {
          function t(t, n) {
            var i = e.call(this) || this
            return (
              (i._id = t),
              (i._editor = n),
              (i._isVisible = !1),
              (i._domNode = document.createElement('div')),
              (i._domNode.className = 'monaco-editor-hover hidden'),
              i._domNode.setAttribute('aria-hidden', 'true'),
              i._domNode.setAttribute('role', 'presentation'),
              (i._showAtLineNumber = -1),
              i._register(
                i._editor.onDidChangeConfiguration(function(e) {
                  e.fontInfo && i.updateFont()
                })
              ),
              i._editor.addOverlayWidget(i),
              i
            )
          }
          return (
            f(t, e),
            Object.defineProperty(t.prototype, 'isVisible', {
              get: function() {
                return this._isVisible
              },
              set: function(e) {
                ;(this._isVisible = e),
                  n.toggleClass(this._domNode, 'hidden', !this._isVisible)
              },
              enumerable: !0,
              configurable: !0
            }),
            (t.prototype.getId = function() {
              return this._id
            }),
            (t.prototype.getDomNode = function() {
              return this._domNode
            }),
            (t.prototype.showAt = function(e) {
              ;(this._showAtLineNumber = e),
                this.isVisible || (this.isVisible = !0)
              var t = this._editor.getLayoutInfo(),
                n = this._editor.getTopForLineNumber(this._showAtLineNumber),
                i = this._editor.getScrollTop(),
                o = this._editor.getConfiguration().lineHeight,
                r = n - i - (this._domNode.clientHeight - o) / 2
              ;(this._domNode.style.left =
                t.glyphMarginLeft + t.glyphMarginWidth + 'px'),
                (this._domNode.style.top = Math.max(Math.round(r), 0) + 'px')
            }),
            (t.prototype.hide = function() {
              this.isVisible && (this.isVisible = !1)
            }),
            (t.prototype.getPosition = function() {
              return null
            }),
            (t.prototype.dispose = function() {
              this._editor.removeOverlayWidget(this),
                e.prototype.dispose.call(this)
            }),
            (t.prototype.updateFont = function() {
              var e = this,
                t = Array.prototype.slice.call(
                  this._domNode.getElementsByTagName('code')
                ),
                n = Array.prototype.slice.call(
                  this._domNode.getElementsByClassName('code')
                )
              t.concat(n).forEach(function(t) {
                return e._editor.applyFontInfo(t)
              })
            }),
            (t.prototype.updateContents = function(e) {
              ;(this._domNode.textContent = ''),
                this._domNode.appendChild(e),
                this.updateFont()
            }),
            t
          )
        })(r.Widget)
        t.GlyphHoverWidget = l
      }),
      define(d[253], h([0, 1, 22]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e(e, t, n) {
            ;(this._editRange = e),
              (this._originalSelection = t),
              (this._text = n)
          }
          return (
            (e.prototype.getEditOperations = function(e, t) {
              t.addTrackedEditOperation(this._editRange, this._text)
            }),
            (e.prototype.computeCursorState = function(e, t) {
              var i = t.getInverseEditOperations()[0].range
              return this._originalSelection.isEmpty()
                ? new n.Selection(
                    i.endLineNumber,
                    Math.min(
                      this._originalSelection.positionColumn,
                      i.endColumn
                    ),
                    i.endLineNumber,
                    Math.min(
                      this._originalSelection.positionColumn,
                      i.endColumn
                    )
                  )
                : new n.Selection(
                    i.endLineNumber,
                    i.endColumn - this._text.length,
                    i.endLineNumber,
                    i.endColumn
                  )
            }),
            e
          )
        })()
        t.InPlaceReplaceCommand = i
      }),
      define(d[254], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.getSpaceCnt = function(e, t) {
            for (var n = 0, i = 0; i < e.length; i++)
              '\t' === e.charAt(i) ? (n += t) : n++
            return n
          }),
          (t.generateIndent = function(e, t, n) {
            e = e < 0 ? 0 : e
            var i = ''
            if (!n) {
              var o = Math.floor(e / t)
              for (e %= t, r = 0; r < o; r++) i += '\t'
            }
            for (var r = 0; r < e; r++) i += ' '
            return i
          })
      }),
      define(d[255], h([0, 1, 2, 22]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = (function() {
          function e(e, t) {
            ;(this._selection = e), (this._isCopyingDown = t)
          }
          return (
            (e.prototype.getEditOperations = function(e, t) {
              var 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)
                  )))
              for (var o = [], r = i.startLineNumber; r <= i.endLineNumber; r++)
                o.push(e.getLineContent(r))
              var s = o.join('\n')
              '' === s &&
                this._isCopyingDown &&
                (this._startLineNumberDelta++, this._endLineNumberDelta++),
                this._isCopyingDown
                  ? t.addEditOperation(
                      new n.Range(i.startLineNumber, 1, i.startLineNumber, 1),
                      s + '\n'
                    )
                  : t.addEditOperation(
                      new n.Range(
                        i.endLineNumber,
                        e.getLineMaxColumn(i.endLineNumber),
                        i.endLineNumber,
                        e.getLineMaxColumn(i.endLineNumber)
                      ),
                      '\n' + s
                    ),
                (this._selectionId = t.trackSelection(i)),
                (this._selectionDirection = this._selection.getDirection())
            }),
            (e.prototype.computeCursorState = function(e, t) {
              var n = t.getTrackedSelection(this._selectionId)
              if (
                0 !== this._startLineNumberDelta ||
                0 !== this._endLineNumberDelta
              ) {
                var o = n.startLineNumber,
                  r = n.startColumn,
                  s = n.endLineNumber,
                  a = n.endColumn
                0 !== this._startLineNumberDelta &&
                  ((o += this._startLineNumberDelta), (r = 1)),
                  0 !== this._endLineNumberDelta &&
                    ((s += this._endLineNumberDelta), (a = 1)),
                  (n = i.Selection.createWithDirection(
                    o,
                    r,
                    s,
                    a,
                    this._selectionDirection
                  ))
              }
              return n
            }),
            e
          )
        })()
        t.CopyLinesCommand = o
      }),
      define(d[256], h([0, 1, 2, 22]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = (function() {
          function e(e, t, n) {
            ;(this.startLineNumber = e),
              (this.endLineNumber = t),
              (this.restoreCursorToColumn = n)
          }
          return (
            (e.createFromSelection = function(t) {
              var n = t.endLineNumber
              return (
                t.startLineNumber < t.endLineNumber &&
                  1 === t.endColumn &&
                  (n -= 1),
                new e(t.startLineNumber, n, t.positionColumn)
              )
            }),
            (e.prototype.getEditOperations = function(e, t) {
              if (1 !== e.getLineCount() || 1 !== e.getLineMaxColumn(1)) {
                var i = this.startLineNumber,
                  o = this.endLineNumber,
                  r = 1,
                  s = e.getLineMaxColumn(o)
                o < e.getLineCount()
                  ? ((o += 1), (s = 1))
                  : i > 1 && ((i -= 1), (r = e.getLineMaxColumn(i))),
                  t.addTrackedEditOperation(new n.Range(i, r, o, s), null)
              }
            }),
            (e.prototype.computeCursorState = function(e, t) {
              var n = t.getInverseEditOperations()[0].range
              return new i.Selection(
                n.endLineNumber,
                this.restoreCursorToColumn,
                n.endLineNumber,
                this.restoreCursorToColumn
              )
            }),
            e
          )
        })()
        t.DeleteLinesCommand = o
      }),
      define(d[257], h([0, 1, 57, 2]), function(e, t, n, i) {
        'use strict'
        function o(e, t, n) {
          var i = t.startLineNumber,
            o = t.endLineNumber
          if ((1 === t.endColumn && o--, i >= o)) return null
          for (var r = [], s = i; s <= o; s++) r.push(e.getLineContent(s))
          var a = r.slice(0)
          return (
            a.sort(function(e, t) {
              return e.toLowerCase().localeCompare(t.toLowerCase())
            }),
            !0 === n && (a = a.reverse()),
            { startLineNumber: i, endLineNumber: o, before: r, after: a }
          )
        }
        function r(e, t, r) {
          var s = o(e, t, r)
          return s
            ? n.EditOperation.replace(
                new i.Range(
                  s.startLineNumber,
                  1,
                  s.endLineNumber,
                  e.getLineMaxColumn(s.endLineNumber)
                ),
                s.after.join('\n')
              )
            : null
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = (function() {
          function e(e, t) {
            ;(this.selection = e), (this.descending = t)
          }
          return (
            (e.prototype.getEditOperations = function(e, t) {
              var n = r(e, this.selection, this.descending)
              n && t.addEditOperation(n.range, n.text),
                (this.selectionId = t.trackSelection(this.selection))
            }),
            (e.prototype.computeCursorState = function(e, t) {
              return t.getTrackedSelection(this.selectionId)
            }),
            (e.canRun = function(e, t, n) {
              var i = o(e, t, n)
              if (!i) return !1
              for (var r = 0, s = i.before.length; r < s; r++)
                if (i.before[r] !== i.after[r]) return !0
              return !1
            }),
            e
          )
        })()
        t.SortLinesCommand = s
      })
    var _ =
      (this && this.__assign) ||
      Object.assign ||
      function(e) {
        for (var t, n = 1, i = arguments.length; n < i; n++) {
          t = arguments[n]
          for (var o in t)
            Object.prototype.hasOwnProperty.call(t, o) && (e[o] = t[o])
        }
        return e
      }
    define(d[258], h([0, 1, 118, 11, 6, 21, 25, 277]), function(
      e,
      t,
      n,
      i,
      o,
      r,
      s
    ) {
      'use strict'
      Object.defineProperty(t, '__esModule', { value: !0 })
      var a = (function() {
        function e(e) {
          var t = this
          ;(this._options = {
            stickiness: r.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
            glyphMarginClassName: 'lightbulb-glyph',
            glyphMarginHoverMessage: void 0
          }),
            (this._onClick = new i.Emitter()),
            (this._decorationIds = []),
            (this._futureFixes = new n.CancellationTokenSource()),
            (this._editor = e),
            (this._mouseDownSubscription = this._editor.onMouseDown(function(
              e
            ) {
              if (
                e.target.type === s.MouseTargetType.GUTTER_GLYPH_MARGIN &&
                void 0 !== t._currentLine &&
                t._currentLine === e.target.position.lineNumber
              ) {
                var n = o.getDomNodePagePosition(e.target.element),
                  i = n.top,
                  r = n.height,
                  a = t._editor.getConfiguration().lineHeight
                t._onClick.fire({
                  x: e.event.posx,
                  y: i + r + Math.floor(a / 3)
                })
              }
            }))
        }
        return (
          (e.prototype.dispose = function() {
            this._mouseDownSubscription.dispose(), this.hide()
          }),
          Object.defineProperty(e.prototype, 'onClick', {
            get: function() {
              return this._onClick.event
            },
            enumerable: !0,
            configurable: !0
          }),
          Object.defineProperty(e.prototype, 'model', {
            get: function() {
              return this._model
            },
            set: function(e) {
              var t = this
              ;(this._model = e),
                this.hide(),
                (this._futureFixes = new n.CancellationTokenSource())
              var i = this._futureFixes.token
              e.fixes.done(
                function(n) {
                  !i.isCancellationRequested && n && n.length > 0
                    ? t.show(e)
                    : t.hide()
                },
                function(e) {
                  t.hide()
                }
              )
            },
            enumerable: !0,
            configurable: !0
          }),
          Object.defineProperty(e.prototype, 'title', {
            get: function() {
              return this._options.glyphMarginHoverMessage
            },
            set: function(e) {},
            enumerable: !0,
            configurable: !0
          }),
          (e.prototype.show = function(e) {
            ;(this._currentLine = e.range.startLineNumber),
              (this._decorationIds = this._editor.deltaDecorations(
                this._decorationIds,
                [
                  {
                    options: this._options,
                    range: _({}, e.range, {
                      endLineNumber: e.range.startLineNumber
                    })
                  }
                ]
              ))
          }),
          (e.prototype.hide = function() {
            ;(this._decorationIds = this._editor.deltaDecorations(
              this._decorationIds,
              []
            )),
              this._futureFixes.cancel(),
              (this._currentLine = void 0)
          }),
          e
        )
      })()
      t.LightBulbWidget = a
    }),
      define(d[259], h([0, 1, 18, 6, 12, 55, 11]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = (function() {
          function e(e, t, n) {
            ;(this._onDidExecuteCodeAction = new s.Emitter()),
              (this.onDidExecuteCodeAction = this._onDidExecuteCodeAction.event),
              (this._editor = e),
              (this._contextMenuService = t),
              (this._commandService = n)
          }
          return (
            (e.prototype.show = function(e, t) {
              var i = this,
                s = e.then(function(e) {
                  return e.map(function(e) {
                    var t = e.command
                    return new r.Action(t.id, t.title, void 0, !0, function() {
                      return n.always(
                        (e = i._commandService).executeCommand.apply(
                          e,
                          [t.id].concat(t.arguments)
                        ),
                        function() {
                          return i._onDidExecuteCodeAction.fire(void 0)
                        }
                      )
                      var e
                    })
                  })
                })
              this._contextMenuService.showContextMenu({
                getAnchor: function() {
                  return o.Position.isIPosition(t) && (t = i._toCoords(t)), t
                },
                getActions: function() {
                  return s
                },
                onHide: function() {
                  i._visible = !1
                }
              })
            }),
            Object.defineProperty(e.prototype, 'isVisible', {
              get: function() {
                return this._visible
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype._toCoords = function(e) {
              this._editor.revealPosition(e), this._editor.render()
              var t = this._editor.getScrolledVisiblePosition(
                  this._editor.getPosition()
                ),
                n = i.getDomNodePagePosition(this._editor.getDomNode())
              return { x: n.left + t.left, y: n.top + t.top + t.height }
            }),
            e
          )
        })()
        t.QuickFixContextMenu = a
      }),
      define(d[260], h([0, 1, 2, 103, 106, 43]), function(e, t, n, i, o, r) {
        'use strict'
        function s(e) {
          var t = new u()
          return (
            (t.start = e.range.getStartPosition()),
            (t.end = e.range.getEndPosition()),
            t
          )
        }
        function a(e, t) {
          if (e instanceof l && e.isEmpty) return null
          if (!n.Range.containsPosition(e.range, t)) return null
          var i
          if (e instanceof l) {
            if (e.hasChildren)
              for (var o = 0, r = e.children.length; o < r && !i; o++)
                i = a(e.children[o], t)
          } else
            e instanceof c &&
              (i = a(e.open, t) || a(e.elements, t) || a(e.close, t))
          return i || e
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        !(function(e) {
          ;(e[(e.None = 0)] = 'None'),
            (e[(e.Open = 1)] = 'Open'),
            (e[(e.Close = -1)] = 'Close')
        })(t.TokenTreeBracket || (t.TokenTreeBracket = {}))
        var u = (function() {
          function e() {}
          return (
            Object.defineProperty(e.prototype, 'range', {
              get: function() {
                return new n.Range(
                  this.start.lineNumber,
                  this.start.column,
                  this.end.lineNumber,
                  this.end.column
                )
              },
              enumerable: !0,
              configurable: !0
            }),
            e
          )
        })()
        t.Node = u
        var l = (function(e) {
          function t() {
            return (null !== e && e.apply(this, arguments)) || this
          }
          return (
            f(t, e),
            Object.defineProperty(t.prototype, 'start', {
              get: function() {
                return this.hasChildren
                  ? this.children[0].start
                  : this.parent.start
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(t.prototype, 'end', {
              get: function() {
                return this.hasChildren
                  ? this.children[this.children.length - 1].end
                  : this.parent.end
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(t.prototype, 'hasChildren', {
              get: function() {
                return this.children && this.children.length > 0
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(t.prototype, 'isEmpty', {
              get: function() {
                return !this.hasChildren && !this.parent
              },
              enumerable: !0,
              configurable: !0
            }),
            (t.prototype.append = function(e) {
              return (
                !!e &&
                ((e.parent = this),
                this.children || (this.children = []),
                e instanceof t
                  ? e.children &&
                    this.children.push.apply(this.children, e.children)
                  : this.children.push(e),
                !0)
              )
            }),
            t
          )
        })(u)
        t.NodeList = l
        var c = (function(e) {
          function t() {
            var t = e.call(this) || this
            return (t.elements = new l()), (t.elements.parent = t), t
          }
          return (
            f(t, e),
            Object.defineProperty(t.prototype, 'start', {
              get: function() {
                return this.open.start
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(t.prototype, 'end', {
              get: function() {
                return this.close.end
              },
              enumerable: !0,
              configurable: !0
            }),
            t
          )
        })(u)
        t.Block = c
        var d = (function() {
            return function(e, t, n) {
              ;(this.range = e), (this.bracket = t), (this.bracketType = n)
            }
          })(),
          h = (function() {
            return function(e, t, n) {
              ;(this.lineNumber = t),
                (this.lineText = n),
                (this.startOffset = e.startOffset),
                (this.endOffset = e.endOffset),
                (this.type = e.tokenType),
                (this.languageId = e.languageId)
            }
          })(),
          p = (function() {
            function e(e) {
              ;(this._model = e),
                (this._lineCount = this._model.getLineCount()),
                (this._versionId = this._model.getVersionId()),
                (this._lineNumber = 0),
                (this._lineText = null),
                this._advance()
            }
            return (
              (e.prototype._advance = function() {
                for (
                  this._next = this._next ? this._next.next() : null;
                  !this._next && this._lineNumber < this._lineCount;

                ) {
                  this._lineNumber++,
                    (this._lineText = this._model.getLineContent(
                      this._lineNumber
                    )),
                    this._model.forceTokenization(this._lineNumber)
                  var e = this._model.getLineTokens(this._lineNumber)
                  this._next = e.firstToken()
                }
              }),
              (e.prototype.next = function() {
                if (!this._next) return null
                if (this._model.getVersionId() !== this._versionId) return null
                var e = new h(this._next, this._lineNumber, this._lineText)
                return this._advance(), e
              }),
              e
            )
          })(),
          g = (function() {
            function e(e) {
              ;(this._rawTokenScanner = new p(e)),
                (this._nextBuff = []),
                (this._cachedLanguageBrackets = null),
                (this._cachedLanguageId = -1)
            }
            return (
              (e.prototype.next = function() {
                if (this._nextBuff.length > 0) return this._nextBuff.shift()
                var e = this._rawTokenScanner.next()
                if (!e) return null
                var t = e.lineNumber,
                  s = e.lineText,
                  a = e.type,
                  u = e.startOffset,
                  l = e.endOffset
                this._cachedLanguageId !== e.languageId &&
                  ((this._cachedLanguageId = e.languageId),
                  (this._cachedLanguageBrackets = r.LanguageConfigurationRegistry.getBracketsSupport(
                    this._cachedLanguageId
                  )))
                var c = this._cachedLanguageBrackets
                if (!c || i.ignoreBracketsInToken(a))
                  return new d(new n.Range(t, u + 1, t, l + 1), 0, null)
                var h
                do {
                  if (
                    (h = o.BracketsUtils.findNextBracketInToken(
                      c.forwardRegex,
                      t,
                      s,
                      u,
                      l
                    ))
                  ) {
                    var p = h.startColumn - 1,
                      f = h.endColumn - 1
                    u < p &&
                      this._nextBuff.push(
                        new d(new n.Range(t, u + 1, t, p + 1), 0, null)
                      )
                    var g = s.substring(p, f)
                    g = g.toLowerCase()
                    var m = c.textIsBracket[g],
                      v = c.textIsOpenBracket[g]
                    this._nextBuff.push(
                      new d(
                        new n.Range(t, p + 1, t, f + 1),
                        v ? 1 : -1,
                        m.languageIdentifier.language +
                          ';' +
                          m.open +
                          ';' +
                          m.close
                      )
                    ),
                      (u = f)
                  }
                } while (h)
                return (
                  u < l &&
                    this._nextBuff.push(
                      new d(new n.Range(t, u + 1, t, l + 1), 0, null)
                    ),
                  this._nextBuff.shift()
                )
              }),
              e
            )
          })(),
          m = (function() {
            function e(e) {
              ;(this._stack = []), (this._scanner = new g(e))
            }
            return (
              (e.prototype.build = function() {
                for (var e = new l(); e.append(this._line() || this._any()); );
                return e
              }),
              (e.prototype._accept = function(e) {
                var t = this._stack.pop() || this._scanner.next()
                if (!t) return !1
                var n = e(t)
                return (
                  n
                    ? (this._currentToken = t)
                    : (this._stack.push(t), (this._currentToken = null)),
                  n
                )
              }),
              (e.prototype._peek = function(e) {
                var t = !1
                return (
                  this._accept(function(n) {
                    return (t = e(n)), !1
                  }),
                  t
                )
              }),
              (e.prototype._line = function() {
                var e,
                  t = new l()
                for (
                  this._peek(function(t) {
                    return (e = t.range.startLineNumber), !1
                  });
                  this._peek(function(t) {
                    return t.range.startLineNumber === e
                  }) && t.append(this._token() || this._block());

                );
                return t.children && 0 !== t.children.length
                  ? 1 === t.children.length
                    ? t.children[0]
                    : t
                  : null
              }),
              (e.prototype._token = function() {
                return this._accept(function(e) {
                  return 0 === e.bracket
                })
                  ? s(this._currentToken)
                  : null
              }),
              (e.prototype._block = function() {
                var e
                if (
                  !this._accept(function(t) {
                    return (e = t.bracketType), 1 === t.bracket
                  })
                )
                  return null
                var t = new c()
                for (
                  t.open = s(this._currentToken);
                  t.elements.append(this._line());

                );
                if (
                  !this._accept(function(t) {
                    return -1 === t.bracket && t.bracketType === e
                  })
                ) {
                  var n = new l()
                  return n.append(t.open), n.append(t.elements), n
                }
                return (t.close = s(this._currentToken)), t
              }),
              (e.prototype._any = function() {
                return this._accept(function(e) {
                  return !0
                })
                  ? s(this._currentToken)
                  : null
              }),
              e
            )
          })()
        ;(t.build = function(e) {
          return new m(e).build()
        }),
          (t.find = a)
      }),
      define(d[147], h([0, 1]), function(e, t) {
        'use strict'
        function n(e, t) {
          for (var n = e.slice(); n.length > 0; ) {
            var i = n.shift()
            if (!t(i)) break
            n.unshift.apply(n, i.children)
          }
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i
        !(function(e) {
          ;(e[(e.Dollar = 0)] = 'Dollar'),
            (e[(e.Colon = 1)] = 'Colon'),
            (e[(e.CurlyOpen = 2)] = 'CurlyOpen'),
            (e[(e.CurlyClose = 3)] = 'CurlyClose'),
            (e[(e.Backslash = 4)] = 'Backslash'),
            (e[(e.Int = 5)] = 'Int'),
            (e[(e.VariableName = 6)] = 'VariableName'),
            (e[(e.Format = 7)] = 'Format'),
            (e[(e.EOF = 8)] = 'EOF')
        })((i = t.TokenType || (t.TokenType = {})))
        var o = (function() {
          function e() {
            this.text('')
          }
          return (
            (e.isDigitCharacter = function(e) {
              return e >= 48 && e <= 57
            }),
            (e.isVariableCharacter = function(e) {
              return 95 === e || (e >= 97 && e <= 122) || (e >= 65 && e <= 90)
            }),
            (e.prototype.text = function(e) {
              ;(this.value = e), (this.pos = 0)
            }),
            (e.prototype.tokenText = function(e) {
              return this.value.substr(e.pos, e.len)
            }),
            (e.prototype.next = function() {
              if (this.pos >= this.value.length)
                return { type: i.EOF, pos: this.pos, len: 0 }
              var t,
                n = this.pos,
                o = 0,
                r = this.value.charCodeAt(n)
              if ('number' == typeof (t = e._table[r]))
                return (this.pos += 1), { type: t, pos: n, len: 1 }
              if (e.isDigitCharacter(r)) {
                t = i.Int
                do {
                  ;(o += 1), (r = this.value.charCodeAt(n + o))
                } while (e.isDigitCharacter(r))
                return (this.pos += o), { type: t, pos: n, len: o }
              }
              if (e.isVariableCharacter(r)) {
                t = i.VariableName
                do {
                  r = this.value.charCodeAt(n + ++o)
                } while (e.isVariableCharacter(r) || e.isDigitCharacter(r))
                return (this.pos += o), { type: t, pos: n, len: o }
              }
              t = i.Format
              do {
                ;(o += 1), (r = this.value.charCodeAt(n + o))
              } while (
                !isNaN(r) &&
                void 0 === e._table[r] &&
                !e.isDigitCharacter(r) &&
                !e.isVariableCharacter(r)
              )
              return (this.pos += o), { type: t, pos: n, len: o }
            }),
            e
          )
        })()
        ;(o._table = ((d = {}),
        (d[36] = i.Dollar),
        (d[58] = i.Colon),
        (d[123] = i.CurlyOpen),
        (d[125] = i.CurlyClose),
        (d[92] = i.Backslash),
        d)),
          (t.Scanner = o)
        var r = (function() {
          function e() {
            this._children = []
          }
          return (
            (e.toString = function(e) {
              for (var t = '', n = 0, i = e; n < i.length; n++)
                t += i[n].toString()
              return t
            }),
            Object.defineProperty(e.prototype, 'children', {
              get: function() {
                return this._children
              },
              set: function(e) {
                this._children = []
                for (var t = 0, n = e; t < n.length; t++) {
                  var i = n[t]
                  ;(i.parent = this), this._children.push(i)
                }
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.toString = function() {
              return ''
            }),
            (e.prototype.len = function() {
              return 0
            }),
            e
          )
        })()
        t.Marker = r
        var s = (function(e) {
          function t(t) {
            var n = e.call(this) || this
            return (n.string = t), n
          }
          return (
            f(t, e),
            (t.prototype.toString = function() {
              return this.string
            }),
            (t.prototype.len = function() {
              return this.string.length
            }),
            t
          )
        })(r)
        t.Text = s
        var a = (function(e) {
          function t(t, n) {
            var i = e.call(this) || this
            return (i.index = t), (i.children = n), i
          }
          return (
            f(t, e),
            (t.compareByIndex = function(e, t) {
              return e.index === t.index
                ? 0
                : e.isFinalTabstop
                  ? 1
                  : t.isFinalTabstop
                    ? -1
                    : e.index < t.index
                      ? -1
                      : e.index > t.index
                        ? 1
                        : 0
            }),
            Object.defineProperty(t.prototype, 'isFinalTabstop', {
              get: function() {
                return 0 === this.index
              },
              enumerable: !0,
              configurable: !0
            }),
            (t.prototype.toString = function() {
              return r.toString(this.children)
            }),
            t
          )
        })(r)
        t.Placeholder = a
        var u = (function(e) {
          function t(t, n) {
            void 0 === t && (t = '')
            var i = e.call(this) || this
            return (i.name = t), (i.children = n), i
          }
          return (
            f(t, e),
            Object.defineProperty(t.prototype, 'isDefined', {
              get: function() {
                return void 0 !== this.resolvedValue
              },
              enumerable: !0,
              configurable: !0
            }),
            (t.prototype.len = function() {
              return this.isDefined
                ? this.resolvedValue.length
                : e.prototype.len.call(this)
            }),
            (t.prototype.toString = function() {
              return this.isDefined
                ? this.resolvedValue
                : r.toString(this.children)
            }),
            t
          )
        })(r)
        ;(t.Variable = u), (t.walk = n)
        var l = (function(e) {
          function t(t) {
            var n = e.call(this) || this
            return (n.children = t), n
          }
          return (
            f(t, e),
            Object.defineProperty(t.prototype, 'placeholders', {
              get: function() {
                var e = this
                return (
                  this._placeholders ||
                    ((this._placeholders = []),
                    n(this.children, function(t) {
                      return t instanceof a && e.placeholders.push(t), !0
                    })),
                  this._placeholders
                )
              },
              enumerable: !0,
              configurable: !0
            }),
            (t.prototype.offset = function(e) {
              var t = 0,
                i = !1
              return (
                n(this.children, function(n) {
                  return n === e ? ((i = !0), !1) : ((t += n.len()), !0)
                }),
                i ? t : -1
              )
            }),
            (t.prototype.fullLen = function(e) {
              var t = 0
              return (
                n([e], function(e) {
                  return (t += e.len()), !0
                }),
                t
              )
            }),
            (t.prototype.enclosingPlaceholders = function(e) {
              for (var t = [], n = e.parent; n; )
                n instanceof a && t.push(n), (n = n.parent)
              return t
            }),
            Object.defineProperty(t.prototype, 'text', {
              get: function() {
                return r.toString(this.children)
              },
              enumerable: !0,
              configurable: !0
            }),
            (t.prototype.resolveVariables = function(e) {
              return (
                n(this.children, function(t) {
                  return (
                    t instanceof u &&
                      ((t.resolvedValue = e.resolve(t.name)),
                      t.isDefined && (t.children = [])),
                    !0
                  )
                }),
                this
              )
            }),
            (t.prototype.replace = function(e, t) {
              var n = e.parent,
                i = n.children.indexOf(e),
                o = n.children.slice(0)
              o.splice.apply(o, [i, 1].concat(t)),
                (n.children = o),
                (this._placeholders = void 0)
            }),
            t
          )
        })(r)
        t.TextmateSnippet = l
        var c = (function() {
          function e() {
            this._scanner = new o()
          }
          return (
            (e.escape = function(e) {
              return e.replace(/\$|}|\\/g, '\\$&')
            }),
            (e.parse = function(t, n) {
              var i = new e().parse(t, !0, n)
              return new l(i)
            }),
            (e.prototype.text = function(e) {
              return r.toString(this.parse(e))
            }),
            (e.prototype.parse = function(e, t, n) {
              function i(e, t) {
                for (var n = 0; n < e.length; n++) {
                  var o = e[n]
                  o instanceof a
                    ? t.has(o.index)
                      ? 0 === o.children.length &&
                        (o.children = t.get(o.index).slice(0))
                      : (t.set(o.index, o.children), i(o.children, t))
                    : o instanceof u
                      ? i(o.children, t)
                      : n > 0 &&
                        o instanceof s &&
                        e[n - 1] instanceof s &&
                        ((e[n - 1].string += e[n].string), e.splice(n, 1), n--)
                }
              }
              var o = []
              for (
                this._scanner.text(e), this._token = this._scanner.next();
                this._parseAny(o) || this._parseText(o);

              );
              var r = new Map()
              return (
                i(o, r),
                !r.has(0) && ((t && r.size > 0) || n) && o.push(new a(0, [])),
                o
              )
            }),
            (e.prototype._accept = function(e) {
              return (
                (void 0 === e || this._token.type === e) &&
                ((this._prevToken = this._token),
                (this._token = this._scanner.next()),
                !0)
              )
            }),
            (e.prototype._parseAny = function(e) {
              return !!this._parseEscaped(e) || !!this._parseTM(e)
            }),
            (e.prototype._parseText = function(e) {
              return (
                this._token.type !== i.EOF &&
                (e.push(new s(this._scanner.tokenText(this._token))),
                this._accept(void 0),
                !0)
              )
            }),
            (e.prototype._parseTM = function(e) {
              if (this._accept(i.Dollar)) {
                if (this._accept(i.VariableName) || this._accept(i.Int)) {
                  l = this._scanner.tokenText(this._prevToken)
                  return (
                    e.push(
                      /^\d+$/.test(l) ? new a(Number(l), []) : new u(l, [])
                    ),
                    !0
                  )
                }
                if (this._accept(i.CurlyOpen))
                  for (var t = [], n = [], o = t; ; )
                    if (o !== n && this._accept(i.Colon)) o = n
                    else {
                      if (this._accept(i.CurlyClose)) {
                        var l = r.toString(t)
                        return (
                          e.push(
                            /^\d+$/.test(l) ? new a(Number(l), n) : new u(l, n)
                          ),
                          !0
                        )
                      }
                      if (!this._parseAny(o) && !this._parseText(o))
                        return (
                          n.length > 0
                            ? (e.push(new s('${' + r.toString(t) + ':')),
                              e.push.apply(e, n))
                            : (e.push(new s('${')), e.push.apply(e, t)),
                          !0
                        )
                    }
                return e.push(new s('$')), !0
              }
              return !1
            }),
            (e.prototype._parseEscaped = function(e) {
              return (
                !!this._accept(i.Backslash) &&
                (this._accept(i.Dollar) ||
                  this._accept(i.CurlyClose) ||
                  this._accept(i.Backslash),
                e.push(new s(this._scanner.tokenText(this._prevToken))),
                !0)
              )
            }),
            e
          )
        })()
        t.SnippetParser = c
        var d
      }),
      define(d[262], h([0, 1, 46]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e(e, t) {
            ;(this._model = e), (this._selection = t)
          }
          return (
            (e.prototype.resolve = function(e) {
              if ('SELECTION' === e || 'TM_SELECTED_TEXT' === e)
                return this._model.getValueInRange(this._selection) || void 0
              if ('TM_CURRENT_LINE' === e)
                return this._model.getLineContent(
                  this._selection.positionLineNumber
                )
              if ('TM_CURRENT_WORD' === e) {
                var t = this._model.getWordAtPosition({
                  lineNumber: this._selection.positionLineNumber,
                  column: this._selection.positionColumn
                })
                return (t && t.word) || void 0
              }
              if ('TM_LINE_INDEX' === e)
                return String(this._selection.positionLineNumber - 1)
              if ('TM_LINE_NUMBER' === e)
                return String(this._selection.positionLineNumber)
              if ('TM_FILENAME' === e) return n.basename(this._model.uri.fsPath)
              if ('TM_DIRECTORY' === e) {
                var i = n.dirname(this._model.uri.fsPath)
                return '.' !== i ? i : ''
              }
              return 'TM_FILEPATH' === e ? this._model.uri.fsPath : void 0
            }),
            e
          )
        })()
        ;(i.VariableNames = Object.freeze({
          SELECTION: !0,
          TM_SELECTED_TEXT: !0,
          TM_CURRENT_LINE: !0,
          TM_CURRENT_WORD: !0,
          TM_LINE_INDEX: !0,
          TM_LINE_NUMBER: !0,
          TM_FILENAME: !0,
          TM_DIRECTORY: !0,
          TM_FILEPATH: !0
        })),
          (t.EditorSnippetVariableResolver = i)
      }),
      define(d[263], h([0, 1, 85]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          return function() {}
        })()
        t.LineContext = i
        var o = (function() {
          function e(t, n, i, o) {
            ;(this._snippetCompareFn = e._compareCompletionItems),
              (this._items = t),
              (this._column = n),
              (this._lineContext = i),
              'top' === o
                ? (this._snippetCompareFn = e._compareCompletionItemsSnippetsUp)
                : 'bottom' === o &&
                  (this._snippetCompareFn =
                    e._compareCompletionItemsSnippetsDown)
          }
          return (
            Object.defineProperty(e.prototype, 'lineContext', {
              get: function() {
                return this._lineContext
              },
              set: function(e) {
                ;(this._lineContext.leadingLineContent ===
                  e.leadingLineContent &&
                  this._lineContext.characterCountDelta ===
                    e.characterCountDelta) ||
                  ((this._lineContext = e), (this._filteredItems = void 0))
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'items', {
              get: function() {
                return this._ensureCachedState(), this._filteredItems
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'incomplete', {
              get: function() {
                return this._ensureCachedState(), this._isIncomplete
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.resolveIncompleteInfo = function() {
              for (
                var e = [], t = [], n = 0, i = this._items;
                n < i.length;
                n++
              ) {
                var o = i[n]
                o.container.incomplete
                  ? e.indexOf(o.support) < 0 && e.push(o.support)
                  : t.push(o)
              }
              return { incomplete: e, complete: t }
            }),
            Object.defineProperty(e.prototype, 'stats', {
              get: function() {
                return this._ensureCachedState(), this._stats
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype._ensureCachedState = function() {
              this._filteredItems || this._createCachedState()
            }),
            (e.prototype._createCachedState = function() {
              ;(this._filteredItems = []),
                (this._isIncomplete = !1),
                (this._stats = {
                  suggestionCount: 0,
                  snippetCount: 0,
                  textCount: 0
                })
              for (
                var e = this._lineContext,
                  t = e.leadingLineContent,
                  i = e.characterCountDelta,
                  o = '',
                  r = 0;
                r < this._items.length;
                r++
              ) {
                var s = this._items[r],
                  a = s.suggestion,
                  u = s.container
                this._isIncomplete = this._isIncomplete || u.incomplete
                var l =
                  a.overwriteBefore + i - (s.position.column - this._column)
                if (
                  (o.length !== l && (o = 0 === l ? '' : t.slice(-l)), 0 === l)
                )
                  s.score = -100
                else if ('string' == typeof a.filterText) {
                  if (!(c = n.fuzzyScore(o, a.filterText, a.overwriteBefore)))
                    continue
                  ;(s.score = c[0]),
                    (s.matches = []),
                    (c = n.fuzzyScore(o, a.label, a.overwriteBefore)) &&
                      (s.matches = c[1])
                } else {
                  var c = n.fuzzyScore(o, a.label, a.overwriteBefore)
                  if (!c) continue
                  ;(s.score = c[0]), (s.matches = c[1])
                }
                switch (
                  ((s.idx = r),
                  this._filteredItems.push(s),
                  this._stats.suggestionCount++,
                  a.type)
                ) {
                  case 'snippet':
                    this._stats.snippetCount++
                    break
                  case 'text':
                    this._stats.textCount++
                }
              }
              this._filteredItems.sort(this._snippetCompareFn)
            }),
            (e._compareCompletionItems = function(e, t) {
              return e.score > t.score
                ? -1
                : e.score < t.score
                  ? 1
                  : e.idx < t.idx
                    ? -1
                    : e.idx > t.idx
                      ? 1
                      : 0
            }),
            (e._compareCompletionItemsSnippetsDown = function(t, n) {
              if (t.suggestion.type !== n.suggestion.type) {
                if ('snippet' === t.suggestion.type) return 1
                if ('snippet' === n.suggestion.type) return -1
              }
              return e._compareCompletionItems(t, n)
            }),
            (e._compareCompletionItemsSnippetsUp = function(t, n) {
              if (t.suggestion.type !== n.suggestion.type) {
                if ('snippet' === t.suggestion.type) return -1
                if ('snippet' === n.suggestion.type) return 1
              }
              return e._compareCompletionItems(t, n)
            }),
            e
          )
        })()
        t.CompletionModel = o
      }),
      define(d[264], h([0, 1, 8, 17, 109, 79, 133, 9]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a
      ) {
        'use strict'
        function u(e, t, n) {
          return c(e, t, n)
        }
        function l(e, t) {
          for (var n = [], i = 0, s = e.length; i < s; i++) {
            var a = e[i],
              u = o.renderViewLine(
                new o.RenderLineInput(
                  !1,
                  a,
                  !1,
                  0,
                  [new r.ViewLineToken(a.length, 16793600)],
                  [],
                  t,
                  0,
                  -1,
                  'none',
                  !1,
                  !1
                )
              )
            ;(n = n.concat(u.html)).push('<br/>')
          }
          return n.join('')
        }
        function c(e, t, n) {
          for (
            var i = [], r = n.getInitialState(), a = 0, u = e.length;
            a < u;
            a++
          ) {
            var l = e[a],
              c = n.tokenize2(l, r, 0),
              d = new s.LineTokens(c.tokens, l),
              h = o.renderViewLine(
                new o.RenderLineInput(
                  !1,
                  l,
                  !0,
                  0,
                  d.inflate(),
                  [],
                  t,
                  0,
                  -1,
                  'none',
                  !1,
                  !1
                )
              )
            ;(i = i.concat(h.html)).push('<br/>'), (r = c.endState)
          }
          return i.join('')
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var d = (function() {
          function e() {}
          return (
            (e.colorizeElement = function(e, t, n, i) {
              var o = (i = i || {}).theme || 'vs',
                r =
                  i.mimeType ||
                  n.getAttribute('lang') ||
                  n.getAttribute('data-lang')
              if (r) {
                e.setTheme(o)
                var s = n.firstChild.nodeValue
                n.className += 'monaco-editor ' + o
                var a = function(e) {
                  n.innerHTML = e
                }
                return this.colorize(t, s, r, i).then(
                  a,
                  function(e) {
                    return console.error(e)
                  },
                  a
                )
              }
              console.error('Mode not detected')
            }),
            (e._tokenizationSupportChangedPromise = function(e) {
              var t = null,
                o = function() {
                  t && (t.dispose(), (t = null))
                }
              return new n.TPromise(function(n, r, s) {
                t = i.TokenizationRegistry.onDidChange(function(t) {
                  t.changedLanguages.indexOf(e) >= 0 && (o(), n(void 0))
                })
              }, o)
            }),
            (e.colorize = function(e, t, o, r) {
              a.startsWithUTF8BOM(t) && (t = t.substr(1))
              var s = t.split(/\r\n|\r|\n/),
                c = e.getModeId(o)
              void 0 === (r = r || {}).tabSize && (r.tabSize = 4),
                e.getOrCreateMode(c)
              var d = i.TokenizationRegistry.get(c)
              return d
                ? n.TPromise.as(u(s, r.tabSize, d))
                : n.TPromise.any([
                    this._tokenizationSupportChangedPromise(c),
                    n.TPromise.timeout(500)
                  ]).then(function(e) {
                    var t = i.TokenizationRegistry.get(c)
                    return t ? u(s, r.tabSize, t) : l(s, r.tabSize)
                  })
            }),
            (e.colorizeLine = function(e, t, n, i) {
              return (
                void 0 === i && (i = 4),
                o.renderViewLine(
                  new o.RenderLineInput(
                    !1,
                    e,
                    t,
                    0,
                    n,
                    [],
                    i,
                    0,
                    -1,
                    'none',
                    !1,
                    !1
                  )
                ).html
              )
            }),
            (e.colorizeModelLine = function(e, t, n) {
              void 0 === n && (n = 4)
              var i = e.getLineContent(t)
              e.forceTokenization(t)
              var o = e.getLineTokens(t).inflate()
              return this.colorizeLine(i, e.mightContainRTL(), o, n)
            }),
            e
          )
        })()
        t.Colorizer = d
      }),
      define(d[146], h([0, 1]), function(e, t) {
        'use strict'
        function n(e) {
          return Array.isArray(e)
        }
        function i(e) {
          return 'string' == typeof e
        }
        function o(e) {
          return !e
        }
        function r(e, t) {
          return e.ignoreCase && t ? t.toLowerCase() : t
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        !(function(e) {
          ;(e[(e.None = 0)] = 'None'),
            (e[(e.Open = 1)] = 'Open'),
            (e[(e.Close = -1)] = 'Close')
        })(t.MonarchBracket || (t.MonarchBracket = {})),
          (t.isFuzzyActionArr = n),
          (t.isFuzzyAction = function(e) {
            return !n(e)
          }),
          (t.isString = i),
          (t.isIAction = function(e) {
            return !i(e)
          }),
          (t.empty = o),
          (t.fixCase = r),
          (t.sanitize = function(e) {
            return e.replace(/[&<>'"_]/g, '-')
          }),
          (t.log = function(e, t) {
            console.log(e.languageId + ': ' + t)
          }),
          (t.throwError = function(e, t) {
            throw new Error(e.languageId + ': ' + t)
          }),
          (t.substituteMatches = function(e, t, n, i, s) {
            var a = /\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,
              u = null
            return t.replace(a, function(t, a, l, c, d, h, p, f, g) {
              return o(l)
                ? o(c)
                  ? !o(d) && d < i.length
                    ? r(e, i[d])
                    : !o(p) && e && 'string' == typeof e[p]
                      ? e[p]
                      : (null === u && (u = s.split('.')).unshift(s),
                        !o(h) && h < u.length ? r(e, u[h]) : '')
                  : r(e, n)
                : '$'
            })
          }),
          (t.findRules = function(e, t) {
            for (; t && t.length > 0; ) {
              var n = e.tokenizer[t]
              if (n) return n
              var i = t.lastIndexOf('.')
              t = i < 0 ? null : t.substr(0, i)
            }
            return null
          }),
          (t.stateExists = function(e, t) {
            for (; t && t.length > 0; ) {
              if (e.stateNames[t]) return !0
              var n = t.lastIndexOf('.')
              t = n < 0 ? null : t.substr(0, n)
            }
            return !1
          })
      }),
      define(d[266], h([0, 1, 28, 146]), function(e, t, n, i) {
        'use strict'
        function o(e, t) {
          if (!t) return !1
          if (!Array.isArray(t)) return !1
          var n
          for (n in t) if (t.hasOwnProperty(n) && !e(t[n])) return !1
          return !0
        }
        function r(e, t, n) {
          return 'boolean' == typeof e
            ? e
            : (n && (e || void 0 === t) && n(), void 0 === t ? null : t)
        }
        function s(e, t, n) {
          return 'string' == typeof e
            ? e
            : (n && (e || void 0 === t) && n(), void 0 === t ? null : t)
        }
        function a(e, t) {
          if ('string' != typeof t) return null
          for (var n = 0; t.indexOf('@') >= 0 && n < 5; )
            n++,
              (t = t.replace(/@(\w+)/g, function(n, o) {
                var r = ''
                return (
                  'string' == typeof e[o]
                    ? (r = e[o])
                    : e[o] && e[o] instanceof RegExp
                      ? (r = e[o].source)
                      : void 0 === e[o]
                        ? i.throwError(
                            e,
                            "language definition does not contain attribute '" +
                              o +
                              "', used at: " +
                              t
                          )
                        : i.throwError(
                            e,
                            "attribute reference '" +
                              o +
                              "' must be a string, used at: " +
                              t
                          ),
                  i.empty(r) ? '' : '(?:' + r + ')'
                )
              }))
          return new RegExp(t, e.ignoreCase ? 'i' : '')
        }
        function u(e, t, n, i) {
          if (i < 0) return e
          if (i < t.length) return t[i]
          if (i >= 100) {
            i -= 100
            var o = n.split('.')
            if ((o.unshift(n), i < o.length)) return o[i]
          }
          return null
        }
        function l(e, t, r, s) {
          var l = -1,
            c = r,
            d = r.match(/^\$(([sS]?)(\d\d?)|#)(.*)$/)
          d && (d[3] && ((l = parseInt(d[3])), d[2] && (l += 100)), (c = d[4]))
          var h = '~',
            p = c
          c && 0 !== c.length
            ? /^\w*$/.test(p)
              ? (h = '==')
              : (d = c.match(/^(@|!@|~|!~|==|!=)(.*)$/)) &&
                ((h = d[1]), (p = d[2]))
            : ((h = '!='), (p = ''))
          var f
          if (('~' !== h && '!~' !== h) || !/^(\w|\|)*$/.test(p))
            if ('@' === h || '!@' === h) {
              var g = e[p]
              g ||
                i.throwError(
                  e,
                  "the @ match target '" + p + "' is not defined, in rule: " + t
                ),
                o(function(e) {
                  return 'string' == typeof e
                }, g) ||
                  i.throwError(
                    e,
                    "the @ match target '" +
                      p +
                      "' must be an array of strings, in rule: " +
                      t
                  )
              _ = n.createKeywordMatcher(g, e.ignoreCase)
              f = function(e) {
                return '@' === h ? _(e) : !_(e)
              }
            } else if ('~' === h || '!~' === h)
              if (p.indexOf('$') < 0) {
                var m = a(e, '^' + p + '$')
                f = function(e) {
                  return '~' === h ? m.test(e) : !m.test(e)
                }
              } else
                f = function(t, n, o, r) {
                  return a(
                    e,
                    '^' + i.substituteMatches(e, p, n, o, r) + '$'
                  ).test(t)
                }
            else if (p.indexOf('$') < 0) {
              v = i.fixCase(e, p)
              f = function(e) {
                return '==' === h ? e === v : e !== v
              }
            } else {
              var v = i.fixCase(e, p)
              f = function(t, n, o, r, s) {
                var a = i.substituteMatches(e, v, n, o, r)
                return '==' === h ? t === a : t !== a
              }
            }
          else {
            var _ = n.createKeywordMatcher(p.split('|'), e.ignoreCase)
            f = function(e) {
              return '~' === h ? _(e) : !_(e)
            }
          }
          return -1 === l
            ? {
                name: r,
                value: s,
                test: function(e, t, n, i) {
                  return f(e, e, t, n, i)
                }
              }
            : {
                name: r,
                value: s,
                test: function(e, t, n, i) {
                  var o = u(e, t, n, l)
                  return f(o || '', e, t, n, i)
                }
              }
        }
        function c(e, t, n) {
          if (n) {
            if ('string' == typeof n) return n
            if (n.token || '' === n.token) {
              if ('string' != typeof n.token)
                return (
                  i.throwError(
                    e,
                    "a 'token' attribute must be of type string, in rule: " + t
                  ),
                  { token: '' }
                )
              var o = { token: n.token }
              if (
                (n.token.indexOf('$') >= 0 && (o.tokenSubst = !0),
                'string' == typeof n.bracket &&
                  ('@open' === n.bracket
                    ? (o.bracket = 1)
                    : '@close' === n.bracket
                      ? (o.bracket = -1)
                      : i.throwError(
                          e,
                          "a 'bracket' attribute must be either '@open' or '@close', in rule: " +
                            t
                        )),
                n.next)
              )
                if ('string' != typeof n.next)
                  i.throwError(
                    e,
                    'the next state must be a string value in rule: ' + t
                  )
                else {
                  var r = n.next
                  ;/^(@pop|@push|@popall)$/.test(r) ||
                    ('@' === r[0] && (r = r.substr(1)),
                    r.indexOf('$') < 0 &&
                      (i.stateExists(
                        e,
                        i.substituteMatches(e, r, '', [], '')
                      ) ||
                        i.throwError(
                          e,
                          "the next state '" +
                            n.next +
                            "' is not defined in rule: " +
                            t
                        ))),
                    (o.next = r)
                }
              return (
                'number' == typeof n.goBack && (o.goBack = n.goBack),
                'string' == typeof n.switchTo && (o.switchTo = n.switchTo),
                'string' == typeof n.log && (o.log = n.log),
                'string' == typeof n.nextEmbedded &&
                  ((o.nextEmbedded = n.nextEmbedded), (e.usesEmbedded = !0)),
                o
              )
            }
            if (Array.isArray(n)) {
              var s,
                a = []
              for (s in n) n.hasOwnProperty(s) && (a[s] = c(e, t, n[s]))
              return { group: a }
            }
            if (n.cases) {
              var u,
                d = []
              for (u in n.cases)
                if (n.cases.hasOwnProperty(u)) {
                  var h = c(e, t, n.cases[u])
                  '@default' === u || '@' === u || '' === u
                    ? d.push({ test: null, value: h, name: u })
                    : '@eos' === u
                      ? d.push({
                          test: function(e, t, n, i) {
                            return i
                          },
                          value: h,
                          name: u
                        })
                      : d.push(l(e, t, u, h))
                }
              var p = e.defaultToken
              return {
                test: function(e, t, n, i) {
                  var o
                  for (o in d)
                    if (
                      d.hasOwnProperty(o) &&
                      (!d[o].test || d[o].test(e, t, n, i))
                    )
                      return d[o].value
                  return p
                }
              }
            }
            return (
              i.throwError(
                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: '' }
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var d = (function() {
          function e(e) {
            ;(this.regex = new RegExp('')),
              (this.action = { token: '' }),
              (this.matchOnlyAtLineStart = !1),
              (this.name = ''),
              (this.name = e)
          }
          return (
            (e.prototype.setRegex = function(e, t) {
              var n
              'string' == typeof t
                ? (n = t)
                : t instanceof RegExp
                  ? (n = t.source)
                  : i.throwError(
                      e,
                      'rules must start with a match string or regular expression: ' +
                        this.name
                    ),
                (this.matchOnlyAtLineStart = n.length > 0 && '^' === n[0]),
                (this.name = this.name + ': ' + n),
                (this.regex = a(
                  e,
                  '^(?:' + (this.matchOnlyAtLineStart ? n.substr(1) : n) + ')'
                ))
            }),
            (e.prototype.setAction = function(e, t) {
              this.action = c(e, this.name, t)
            }),
            e
          )
        })()
        t.compile = function(e, t) {
          function n(e, u, l) {
            var c
            for (c in l)
              if (l.hasOwnProperty(c)) {
                var h = l[c],
                  p = h.include
                if (p)
                  'string' != typeof p &&
                    i.throwError(
                      o,
                      "an 'include' attribute must be a string at: " + e
                    ),
                    '@' === p[0] && (p = p.substr(1)),
                    t.tokenizer[p] ||
                      i.throwError(
                        o,
                        "include target '" + p + "' is not defined at: " + e
                      ),
                    n(e + '.' + p, u, t.tokenizer[p])
                else {
                  var f = new d(e)
                  if (Array.isArray(h) && h.length >= 1 && h.length <= 3)
                    if ((f.setRegex(a, h[0]), h.length >= 3))
                      if ('string' == typeof h[1])
                        f.setAction(a, { token: h[1], next: h[2] })
                      else if ('object' == typeof h[1]) {
                        var g = h[1]
                        ;(g.next = h[2]), f.setAction(a, g)
                      } else
                        i.throwError(
                          o,
                          '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
                        )
                    else f.setAction(a, h[1])
                  else
                    h.regex ||
                      i.throwError(
                        o,
                        "a rule must either be an array, or an object with a 'regex' or 'include' field at: " +
                          e
                      ),
                      h.name && (f.name = s(h.name)),
                      h.matchOnlyAtStart &&
                        (f.matchOnlyAtLineStart = r(h.matchOnlyAtLineStart)),
                      f.setRegex(a, h.regex),
                      f.setAction(a, h.action)
                  u.push(f)
                }
              }
          }
          if (!t || 'object' != typeof t)
            throw new Error('Monarch: expecting a language definition object')
          var o = {}
          ;(o.languageId = e),
            (o.noThrow = !1),
            (o.maxStack = 100),
            (o.start = s(t.start)),
            (o.ignoreCase = r(t.ignoreCase, !1)),
            (o.tokenPostfix = s(t.tokenPostfix, '.' + o.languageId)),
            (o.defaultToken = s(t.defaultToken, 'source', function() {
              i.throwError(o, "the 'defaultToken' must be a string")
            })),
            (o.usesEmbedded = !1)
          var a = t
          ;(a.languageId = e),
            (a.ignoreCase = o.ignoreCase),
            (a.noThrow = o.noThrow),
            (a.usesEmbedded = o.usesEmbedded),
            (a.stateNames = t.tokenizer),
            (a.defaultToken = o.defaultToken),
            (t.tokenizer && 'object' == typeof t.tokenizer) ||
              i.throwError(
                o,
                "a language definition must define the 'tokenizer' attribute as an object"
              ),
            (o.tokenizer = [])
          var u
          for (u in t.tokenizer)
            if (t.tokenizer.hasOwnProperty(u)) {
              o.start || (o.start = u)
              var l = t.tokenizer[u]
              ;(o.tokenizer[u] = new Array()),
                n('tokenizer.' + u, o.tokenizer[u], l)
            }
          ;(o.usesEmbedded = a.usesEmbedded),
            t.brackets
              ? Array.isArray(t.brackets) ||
                i.throwError(
                  o,
                  "the 'brackets' attribute must be defined as an array"
                )
              : (t.brackets = [
                  { open: '{', close: '}', token: 'delimiter.curly' },
                  { open: '[', close: ']', token: 'delimiter.square' },
                  { open: '(', close: ')', token: 'delimiter.parenthesis' },
                  { open: '<', close: '>', token: 'delimiter.angle' }
                ])
          var c = []
          for (var h in t.brackets)
            if (t.brackets.hasOwnProperty(h)) {
              var p = t.brackets[h]
              p &&
                Array.isArray(p) &&
                3 === p.length &&
                (p = { token: p[2], open: p[0], close: p[1] }),
                p.open === p.close &&
                  i.throwError(
                    o,
                    "open and close brackets in a 'brackets' attribute must be different: " +
                      p.open +
                      "\n hint: use the 'bracket' attribute if matching on equal brackets is required."
                  ),
                'string' == typeof p.open && 'string' == typeof p.token
                  ? c.push({
                      token: s(p.token) + o.tokenPostfix,
                      open: i.fixCase(o, s(p.open)),
                      close: i.fixCase(o, s(p.close))
                    })
                  : i.throwError(
                      o,
                      "every element in the 'brackets' array must be a '{open,close,token}' object or array"
                    )
            }
          return (o.brackets = c), (o.noThrow = !0), o
        }
      }),
      define(d[267], h([0, 1, 17, 146, 96, 70]), function(e, t, n, i, o, r) {
        'use strict'
        function s(e, t) {
          if (!t) return null
          t = i.fixCase(e, t)
          for (var n = e.brackets, o = 0; o < n.length; o++) {
            var r = n[o]
            if (r.open === t) return { token: r.token, bracketType: 1 }
            if (r.close === t) return { token: r.token, bracketType: -1 }
          }
          return null
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = (function() {
          function e(e) {
            ;(this._maxCacheDepth = e), (this._entries = Object.create(null))
          }
          return (
            (e.create = function(e, t) {
              return this._INSTANCE.create(e, t)
            }),
            (e.prototype.create = function(e, t) {
              if (null !== e && e.depth >= this._maxCacheDepth)
                return new u(e, t)
              var n = u.getStackElementId(e)
              n.length > 0 && (n += '|'), (n += t)
              var i = this._entries[n]
              return i || ((i = new u(e, t)), (this._entries[n] = i), i)
            }),
            e
          )
        })()
        a._INSTANCE = new a(5)
        var u = (function() {
            function e(e, t) {
              ;(this.parent = e),
                (this.state = t),
                (this.depth = (this.parent ? this.parent.depth : 0) + 1)
            }
            return (
              (e.getStackElementId = function(e) {
                for (var t = ''; null !== e; )
                  t.length > 0 && (t += '|'), (t += e.state), (e = e.parent)
                return t
              }),
              (e._equals = function(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
              }),
              (e.prototype.equals = function(t) {
                return e._equals(this, t)
              }),
              (e.prototype.push = function(e) {
                return a.create(this, e)
              }),
              (e.prototype.pop = function() {
                return this.parent
              }),
              (e.prototype.popall = function() {
                for (var e = this; e.parent; ) e = e.parent
                return e
              }),
              (e.prototype.switchTo = function(e) {
                return a.create(this.parent, e)
              }),
              e
            )
          })(),
          l = (function() {
            function e(e, t) {
              ;(this.modeId = e), (this.state = t)
            }
            return (
              (e.prototype.equals = function(e) {
                return this.modeId === e.modeId && this.state.equals(e.state)
              }),
              (e.prototype.clone = function() {
                return this.state.clone() === this.state
                  ? this
                  : new e(this.modeId, this.state)
              }),
              e
            )
          })(),
          c = (function() {
            function e(e) {
              ;(this._maxCacheDepth = e), (this._entries = Object.create(null))
            }
            return (
              (e.create = function(e, t) {
                return this._INSTANCE.create(e, t)
              }),
              (e.prototype.create = function(e, t) {
                if (null !== t) return new d(e, t)
                if (null !== e && e.depth >= this._maxCacheDepth)
                  return new d(e, t)
                var n = u.getStackElementId(e),
                  i = this._entries[n]
                return i || ((i = new d(e, null)), (this._entries[n] = i), i)
              }),
              e
            )
          })()
        c._INSTANCE = new c(5)
        var d = (function() {
            function e(e, t) {
              ;(this.stack = e), (this.embeddedModeData = t)
            }
            return (
              (e.prototype.clone = function() {
                return (this.embeddedModeData
                  ? this.embeddedModeData.clone()
                  : null) === this.embeddedModeData
                  ? this
                  : c.create(this.stack, this.embeddedModeData)
              }),
              (e.prototype.equals = function(t) {
                return (
                  t instanceof e &&
                  (!!this.stack.equals(t.stack) &&
                    ((null === this.embeddedModeData &&
                      null === t.embeddedModeData) ||
                      (null !== this.embeddedModeData &&
                        null !== t.embeddedModeData &&
                        this.embeddedModeData.equals(t.embeddedModeData))))
                )
              }),
              e
            )
          })(),
          h = Object.hasOwnProperty,
          p = (function() {
            function e() {
              ;(this._tokens = []),
                (this._language = null),
                (this._lastTokenType = null),
                (this._lastTokenLanguage = null)
            }
            return (
              (e.prototype.enterMode = function(e, t) {
                this._language = t
              }),
              (e.prototype.emit = function(e, t) {
                ;(this._lastTokenType === t &&
                  this._lastTokenLanguage === this._language) ||
                  ((this._lastTokenType = t),
                  (this._lastTokenLanguage = this._language),
                  this._tokens.push(new o.Token(e, t, this._language)))
              }),
              (e.prototype.nestedModeTokenize = function(e, t, i) {
                var o = t.modeId,
                  r = t.state,
                  s = n.TokenizationRegistry.get(o)
                if (!s) return this.enterMode(i, o), this.emit(i, ''), r
                var a = s.tokenize(e, r, i)
                return (
                  (this._tokens = this._tokens.concat(a.tokens)),
                  (this._lastTokenType = null),
                  (this._lastTokenLanguage = null),
                  (this._language = null),
                  a.endState
                )
              }),
              (e.prototype.finalize = function(e) {
                return new o.TokenizationResult(this._tokens, e)
              }),
              e
            )
          })(),
          f = (function() {
            function e(e, t) {
              ;(this._modeService = e),
                (this._theme = t),
                (this._prependTokens = null),
                (this._tokens = []),
                (this._currentLanguageId = 0),
                (this._lastTokenMetadata = 0)
            }
            return (
              (e.prototype.enterMode = function(e, t) {
                this._currentLanguageId = this._modeService.getLanguageIdentifier(
                  t
                ).id
              }),
              (e.prototype.emit = function(e, t) {
                var n = this._theme.match(this._currentLanguageId, t)
                this._lastTokenMetadata !== n &&
                  ((this._lastTokenMetadata = n),
                  this._tokens.push(e),
                  this._tokens.push(n))
              }),
              (e._merge = function(e, t, n) {
                var i = null !== e ? e.length : 0,
                  o = t.length,
                  r = null !== n ? n.length : 0
                if (0 === i && 0 === o && 0 === r) return new Uint32Array(0)
                if (0 === i && 0 === o) return n
                if (0 === o && 0 === r) return e
                var s = new Uint32Array(i + o + r)
                null !== e && s.set(e)
                for (var a = 0; a < o; a++) s[i + a] = t[a]
                return null !== n && s.set(n, i + o), s
              }),
              (e.prototype.nestedModeTokenize = function(t, i, o) {
                var r = i.modeId,
                  s = i.state,
                  a = n.TokenizationRegistry.get(r)
                if (!a) return this.enterMode(o, r), this.emit(o, ''), s
                var u = a.tokenize2(t, s, o)
                return (
                  (this._prependTokens = e._merge(
                    this._prependTokens,
                    this._tokens,
                    u.tokens
                  )),
                  (this._tokens = []),
                  (this._currentLanguageId = 0),
                  (this._lastTokenMetadata = 0),
                  u.endState
                )
              }),
              (e.prototype.finalize = function(t) {
                return new o.TokenizationResult2(
                  e._merge(this._prependTokens, this._tokens, null),
                  t
                )
              }),
              e
            )
          })(),
          g = (function() {
            function e(e, t, i, o) {
              var r = this
              ;(this._modeService = e),
                (this._standaloneThemeService = t),
                (this._modeId = i),
                (this._lexer = o),
                (this._embeddedModes = Object.create(null))
              var s = !1
              this._tokenizationRegistryListener = n.TokenizationRegistry.onDidChange(
                function(e) {
                  if (!s) {
                    for (
                      var t = !1, i = 0, o = e.changedLanguages.length;
                      i < o;
                      i++
                    ) {
                      var a = e.changedLanguages[i]
                      if (r._embeddedModes[a]) {
                        t = !0
                        break
                      }
                    }
                    t &&
                      ((s = !0),
                      n.TokenizationRegistry.fire([r._modeId]),
                      (s = !1))
                  }
                }
              )
            }
            return (
              (e.prototype.dispose = function() {
                this._tokenizationRegistryListener.dispose()
              }),
              (e.prototype.getInitialState = function() {
                var e = a.create(null, this._lexer.start)
                return c.create(e, null)
              }),
              (e.prototype.tokenize = function(e, t, n) {
                var i = new p(),
                  o = this._tokenize(e, t, n, i)
                return i.finalize(o)
              }),
              (e.prototype.tokenize2 = function(e, t, n) {
                var i = new f(
                    this._modeService,
                    this._standaloneThemeService.getTheme().tokenTheme
                  ),
                  o = this._tokenize(e, t, n, i)
                return i.finalize(o)
              }),
              (e.prototype._tokenize = function(e, t, n, i) {
                return t.embeddedModeData
                  ? this._nestedTokenize(e, t, n, i)
                  : this._myTokenize(e, t, n, i)
              }),
              (e.prototype._findLeavingNestedModeOffset = function(e, t) {
                var n = this._lexer.tokenizer[t.stack.state]
                n ||
                  (n = i.findRules(this._lexer, t.stack.state)) ||
                  i.throwError(
                    this._lexer,
                    'tokenizer state is not defined: ' + t.stack.state
                  )
                var o = -1,
                  r = !1
                for (var s in n)
                  if (h.call(n, s)) {
                    var a = n[s]
                    if (
                      !i.isIAction(a.action) ||
                      '@pop' === a.action.nextEmbedded
                    ) {
                      r = !0
                      var u = a.regex,
                        l = a.regex.source
                      '^(?:' === l.substr(0, 4) &&
                        ')' === l.substr(l.length - 1, 1) &&
                        (u = new RegExp(
                          l.substr(4, l.length - 5),
                          u.ignoreCase ? 'i' : ''
                        ))
                      var c = e.search(u)
                      ;-1 !== c && (-1 === o || c < o) && (o = c)
                    }
                  }
                return (
                  r ||
                    i.throwError(
                      this._lexer,
                      'no rule containing nextEmbedded: "@pop" in tokenizer embedded state: ' +
                        t.stack.state
                    ),
                  o
                )
              }),
              (e.prototype._nestedTokenize = function(e, t, n, i) {
                var o = this._findLeavingNestedModeOffset(e, t)
                if (-1 === o) {
                  var r = i.nestedModeTokenize(e, t.embeddedModeData, n)
                  return c.create(t.stack, new l(t.embeddedModeData.modeId, r))
                }
                var s = e.substring(0, o)
                s.length > 0 && i.nestedModeTokenize(s, t.embeddedModeData, n)
                var a = e.substring(o)
                return this._myTokenize(a, t, n + o, i)
              }),
              (e.prototype._myTokenize = function(e, t, n, o) {
                o.enterMode(n, this._modeId)
                for (
                  var r = e.length,
                    a = t.embeddedModeData,
                    u = t.stack,
                    l = 0,
                    d = null,
                    p = null,
                    f = null,
                    g = null;
                  l < r;

                ) {
                  var m = l,
                    v = u.depth,
                    _ = d ? d.length : 0,
                    y = u.state,
                    b = null,
                    C = null,
                    w = null,
                    S = null,
                    E = null
                  if (d)
                    (b = p),
                      (C = f.shift()),
                      (w = d.shift()),
                      (S = g),
                      0 === d.length &&
                        ((d = null), (p = null), (f = null), (g = null))
                  else {
                    if (l >= r) break
                    var L = this._lexer.tokenizer[y]
                    L ||
                      (L = i.findRules(this._lexer, y)) ||
                      i.throwError(
                        this._lexer,
                        'tokenizer state is not defined: ' + y
                      )
                    W = e.substr(l)
                    for (var x in L)
                      if (h.call(L, x)) {
                        var N = L[x]
                        if (
                          (0 === l || !N.matchOnlyAtLineStart) &&
                          (b = W.match(N.regex))
                        ) {
                          ;(C = b[0]), (w = N.action)
                          break
                        }
                      }
                  }
                  for (
                    b || ((b = ['']), (C = '')),
                      w ||
                        (l < r && (C = (b = [e.charAt(l)])[0]),
                        (w = this._lexer.defaultToken)),
                      l += C.length;
                    i.isFuzzyAction(w) && i.isIAction(w) && w.test;

                  )
                    w = w.test(C, b, y, l === r)
                  var M = null
                  if ('string' == typeof w || Array.isArray(w)) M = w
                  else if (w.group) M = w.group
                  else if (null !== w.token && void 0 !== w.token) {
                    if (
                      ((M = w.tokenSubst
                        ? i.substituteMatches(this._lexer, w.token, C, b, y)
                        : w.token),
                      w.nextEmbedded &&
                        ('@pop' === w.nextEmbedded
                          ? (a ||
                              i.throwError(
                                this._lexer,
                                'cannot pop embedded mode if not inside one'
                              ),
                            (a = null))
                          : a
                            ? i.throwError(
                                this._lexer,
                                'cannot enter embedded mode from within an embedded mode'
                              )
                            : (E = i.substituteMatches(
                                this._lexer,
                                w.nextEmbedded,
                                C,
                                b,
                                y
                              ))),
                      w.goBack && (l = Math.max(0, l - w.goBack)),
                      w.switchTo && 'string' == typeof w.switchTo)
                    )
                      '@' ===
                        (T = i.substituteMatches(
                          this._lexer,
                          w.switchTo,
                          C,
                          b,
                          y
                        ))[0] && (T = T.substr(1)),
                        i.findRules(this._lexer, T)
                          ? (u = u.switchTo(T))
                          : i.throwError(
                              this._lexer,
                              "trying to switch to a state '" +
                                T +
                                "' that is undefined in rule: " +
                                S.name
                            )
                    else if (w.transform && 'function' == typeof w.transform)
                      i.throwError(
                        this._lexer,
                        'action.transform not supported'
                      )
                    else if (w.next)
                      if ('@push' === w.next)
                        u.depth >= this._lexer.maxStack
                          ? i.throwError(
                              this._lexer,
                              'maximum tokenizer stack size reached: [' +
                                u.state +
                                ',' +
                                u.parent.state +
                                ',...]'
                            )
                          : (u = u.push(y))
                      else if ('@pop' === w.next)
                        u.depth <= 1
                          ? i.throwError(
                              this._lexer,
                              'trying to pop an empty stack in rule: ' + S.name
                            )
                          : (u = u.pop())
                      else if ('@popall' === w.next) u = u.popall()
                      else {
                        var T = i.substituteMatches(
                          this._lexer,
                          w.next,
                          C,
                          b,
                          y
                        )
                        '@' === T[0] && (T = T.substr(1)),
                          i.findRules(this._lexer, T)
                            ? (u = u.push(T))
                            : i.throwError(
                                this._lexer,
                                "trying to set a next state '" +
                                  T +
                                  "' that is undefined in rule: " +
                                  S.name
                              )
                      }
                    w.log &&
                      'string' == typeof w.log &&
                      i.log(
                        this._lexer,
                        this._lexer.languageId +
                          ': ' +
                          i.substituteMatches(this._lexer, w.log, C, b, y)
                      )
                  }
                  if (
                    (null === M &&
                      i.throwError(
                        this._lexer,
                        'lexer rule has no well-defined action in rule: ' +
                          S.name
                      ),
                    Array.isArray(M))
                  ) {
                    d &&
                      d.length > 0 &&
                      i.throwError(
                        this._lexer,
                        'groups cannot be nested: ' + S.name
                      ),
                      b.length !== M.length + 1 &&
                        i.throwError(
                          this._lexer,
                          'matched number of groups does not match the number of actions in rule: ' +
                            S.name
                        )
                    for (var k = 0, I = 1; I < b.length; I++) k += b[I].length
                    k !== C.length &&
                      i.throwError(
                        this._lexer,
                        'with groups, all characters should be matched in consecutive groups in rule: ' +
                          S.name
                      ),
                      (p = b),
                      (f = b.slice(1)),
                      (d = M.slice(0)),
                      (g = S),
                      (l -= C.length)
                  } else {
                    if (
                      ('@rematch' === M &&
                        ((l -= C.length), (C = ''), (b = null), (M = '')),
                      0 === C.length)
                    ) {
                      if (
                        v !== u.depth ||
                        y !== u.state ||
                        (d ? d.length : 0) !== _
                      )
                        continue
                      i.throwError(
                        this._lexer,
                        'no progress in tokenizer in rule: ' + S.name
                      ),
                        (l = r)
                    }
                    var D = null
                    if (i.isString(M) && 0 === M.indexOf('@brackets')) {
                      var O = M.substr('@brackets'.length),
                        R = s(this._lexer, C)
                      R ||
                        (i.throwError(
                          this._lexer,
                          '@brackets token returned but no bracket defined as: ' +
                            C
                        ),
                        (R = { token: '', bracketType: 0 })),
                        (D = i.sanitize(R.token + O))
                    } else {
                      var P = '' === M ? '' : M + this._lexer.tokenPostfix
                      D = i.sanitize(P)
                    }
                    if ((o.emit(m + n, D), null !== E)) {
                      var A = this._modeService.getModeIdForLanguageName(E)
                      A && (E = A)
                      var F = this._getNestedEmbeddedModeData(E)
                      if (l < r) {
                        var W = e.substr(l)
                        return this._nestedTokenize(W, c.create(u, F), n + l, o)
                      }
                      return c.create(u, F)
                    }
                  }
                }
                return c.create(u, a)
              }),
              (e.prototype._getNestedEmbeddedModeData = function(e) {
                var t = this._locateMode(e)
                if (t) {
                  var i = n.TokenizationRegistry.get(t.getId())
                  if (i) return new l(t.getId(), i.getInitialState())
                }
                var o = t ? t.getId() : r.NULL_MODE_ID
                return new l(o, r.NULL_STATE)
              }),
              (e.prototype._locateMode = function(e) {
                if (!e || !this._modeService.isRegisteredMode(e)) return null
                var t = this._modeService.getModeId(e)
                this._modeService.getOrCreateMode(t)
                var n = this._modeService.getMode(t)
                return n
                  ? ((this._embeddedModes[t] = !0), n)
                  : ((this._embeddedModes[t] = !0), null)
              }),
              e
            )
          })()
        t.createTokenizationSupport = function(e, t, n, i) {
          return new g(e, t, n, i)
        }
      }),
      define(d[268], h([5, 7]), function(e, t) {
        return e.create('vs/base/browser/ui/actionbar/actionbar', t)
      }),
      define(d[69], h([
        0,
        1,
        268,
        3,
        50,
        392,
        55,
        6,
        81,
        29,
        38,
        75,
        64,
        432
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var p = (function(e) {
          function t(t, n, i) {
            var o = e.call(this) || this
            return (
              (o.options = i),
              (o._callOnDispose = []),
              (o._context = t || o),
              (o._action = n),
              n instanceof s.Action &&
                o._callOnDispose.push(
                  n.onDidChange(function(e) {
                    o.builder && o._handleActionChangeEvent(e)
                  })
                ),
              o
            )
          }
          return (
            f(t, e),
            (t.prototype._handleActionChangeEvent = function(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()
            }),
            Object.defineProperty(t.prototype, 'callOnDispose', {
              get: function() {
                return this._callOnDispose
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(t.prototype, 'actionRunner', {
              get: function() {
                return this._actionRunner
              },
              set: function(e) {
                this._actionRunner = e
              },
              enumerable: !0,
              configurable: !0
            }),
            (t.prototype.getAction = function() {
              return this._action
            }),
            (t.prototype.isEnabled = function() {
              return this._action.enabled
            }),
            (t.prototype.setActionContext = function(e) {
              this._context = e
            }),
            (t.prototype.render = function(e) {
              var t = this
              ;(this.builder = o.$(e)), (this.gesture = new d.Gesture(e))
              var n = this.options && this.options.draggable
              n && (e.draggable = !0),
                this.builder.on(d.EventType.Tap, function(e) {
                  return t.onClick(e)
                }),
                this.builder.on(a.EventType.MOUSE_DOWN, function(e) {
                  n || a.EventHelper.stop(e),
                    t._action.enabled &&
                      0 === e.button &&
                      t.builder.addClass('active')
                }),
                this.builder.on(a.EventType.CLICK, function(e) {
                  a.EventHelper.stop(e, !0),
                    t.options && t.options.isMenu
                      ? t.onClick(e)
                      : setTimeout(function() {
                          return t.onClick(e)
                        }, 50)
                }),
                this.builder.on(
                  [a.EventType.MOUSE_UP, a.EventType.MOUSE_OUT],
                  function(e) {
                    a.EventHelper.stop(e), t.builder.removeClass('active')
                  }
                )
            }),
            (t.prototype.onClick = function(e) {
              a.EventHelper.stop(e, !0)
              var t
              l.isUndefinedOrNull(this._context)
                ? (t = e)
                : ((t = this._context).event = e),
                this._actionRunner.run(this._action, t)
            }),
            (t.prototype.focus = function() {
              this.builder && this.builder.domFocus()
            }),
            (t.prototype.blur = function() {
              this.builder && this.builder.domBlur()
            }),
            (t.prototype._updateEnabled = function() {}),
            (t.prototype._updateLabel = function() {}),
            (t.prototype._updateTooltip = function() {}),
            (t.prototype._updateClass = function() {}),
            (t.prototype._updateChecked = function() {}),
            (t.prototype.dispose = function() {
              e.prototype.dispose.call(this),
                this.builder && (this.builder.destroy(), (this.builder = null)),
                this.gesture && (this.gesture.dispose(), (this.gesture = null)),
                (this._callOnDispose = i.dispose(this._callOnDispose))
            }),
            t
          )
        })(c.EventEmitter)
        t.BaseActionItem = p
        var g = (function(e) {
          function t(n, i) {
            var o =
              e.call(this, t.ID, n, n ? 'separator text' : 'separator') || this
            return (
              (o.checked = !1),
              (o.radio = !1),
              (o.enabled = !1),
              (o.order = i),
              o
            )
          }
          return f(t, e), t
        })(s.Action)
        ;(g.ID = 'vs.actions.separator'), (t.Separator = g)
        var m = (function(e) {
          function t(t, n, i) {
            void 0 === i && (i = {})
            var o = e.call(this, t, n, i) || this
            return (
              (o.options = i),
              (o.options.icon = void 0 !== i.icon && i.icon),
              (o.options.label = void 0 === i.label || i.label),
              (o.cssClass = ''),
              o
            )
          }
          return (
            f(t, e),
            (t.prototype.render = function(t) {
              e.prototype.render.call(this, t),
                (this.$e = o.$('a.action-label').appendTo(this.builder)),
                this._action.id === g.ID
                  ? this.$e.attr({ role: 'presentation' })
                  : this.options.isMenu
                    ? this.$e.attr({ role: 'menuitem' })
                    : this.$e.attr({ role: 'button' }),
                this.options.label &&
                  this.options.keybinding &&
                  o
                    .$('span.keybinding')
                    .text(this.options.keybinding)
                    .appendTo(this.builder),
                this._updateClass(),
                this._updateLabel(),
                this._updateTooltip(),
                this._updateEnabled(),
                this._updateChecked()
            }),
            (t.prototype.focus = function() {
              e.prototype.focus.call(this), this.$e.domFocus()
            }),
            (t.prototype._updateLabel = function() {
              this.options.label && this.$e.text(this.getAction().label)
            }),
            (t.prototype._updateTooltip = function() {
              var 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 = n.localize(0, null, e, this.options.keybinding))),
                e && this.$e.attr({ title: e })
            }),
            (t.prototype._updateClass = function() {
              this.cssClass && this.$e.removeClass(this.cssClass),
                this.options.icon
                  ? ((this.cssClass = this.getAction().class),
                    this.$e.addClass('icon'),
                    this.cssClass && this.$e.addClass(this.cssClass),
                    this._updateEnabled())
                  : this.$e.removeClass('icon')
            }),
            (t.prototype._updateEnabled = function() {
              this.getAction().enabled
                ? (this.builder.removeClass('disabled'),
                  this.$e.removeClass('disabled'),
                  this.$e.attr({ tabindex: 0 }))
                : (this.builder.addClass('disabled'),
                  this.$e.addClass('disabled'),
                  a.removeTabIndexAndUpdateFocus(this.$e.getHTMLElement()))
            }),
            (t.prototype._updateChecked = function() {
              this.getAction().checked
                ? this.$e.addClass('checked')
                : this.$e.removeClass('checked')
            }),
            (t.prototype._updateRadio = function() {
              this.getAction().radio
                ? this.$e.addClass('radio')
                : this.$e.removeClass('radio')
            }),
            t
          )
        })(p)
        t.ActionItem = m
        var v
        !(function(e) {
          ;(e[(e.HORIZONTAL = 1)] = 'HORIZONTAL'),
            (e[(e.VERTICAL = 2)] = 'VERTICAL')
        })((v = t.ActionsOrientation || (t.ActionsOrientation = {})))
        var _ = { orientation: v.HORIZONTAL, context: null },
          y = (function(e) {
            function t(t, n) {
              void 0 === n && (n = _)
              var i = e.call(this) || this
              ;(i.options = n),
                (i._context = n.context),
                (i.toDispose = []),
                (i._actionRunner = i.options.actionRunner),
                i._actionRunner ||
                  ((i._actionRunner = new s.ActionRunner()),
                  i.toDispose.push(i._actionRunner)),
                i.toDispose.push(i.addEmitter(i._actionRunner)),
                (i.items = []),
                (i.focusedItem = void 0),
                (i.domNode = document.createElement('div')),
                (i.domNode.className = 'monaco-action-bar'),
                !1 !== n.animated && a.addClass(i.domNode, 'animated')
              var r = i.options.orientation === v.VERTICAL
              return (
                r && (i.domNode.className += ' vertical'),
                o.$(i.domNode).on(a.EventType.KEY_DOWN, function(e) {
                  var t = new h.StandardKeyboardEvent(e),
                    n = !0
                  t.equals(r ? 16 : 15)
                    ? i.focusPrevious()
                    : t.equals(r ? 18 : 17)
                      ? i.focusNext()
                      : t.equals(9)
                        ? i.cancel()
                        : t.equals(3) || t.equals(10) || (n = !1),
                    n && (t.preventDefault(), t.stopPropagation())
                }),
                o.$(i.domNode).on(a.EventType.CONTEXT_MENU, function(e) {
                  e.preventDefault(), e.stopPropagation()
                }),
                o.$(i.domNode).on(a.EventType.KEY_UP, function(e) {
                  var t = new h.StandardKeyboardEvent(e)
                  t.equals(3) || t.equals(10)
                    ? (i.doTrigger(t), t.preventDefault(), t.stopPropagation())
                    : (t.equals(2) || t.equals(1026)) && i.updateFocusedItem()
                }),
                (i.focusTracker = a.trackFocus(i.domNode)),
                i.focusTracker.addBlurListener(function() {
                  ;(document.activeElement !== i.domNode &&
                    a.isAncestor(document.activeElement, i.domNode)) ||
                    (i.emit(a.EventType.BLUR, {}), (i.focusedItem = void 0))
                }),
                i.focusTracker.addFocusListener(function() {
                  return i.updateFocusedItem()
                }),
                (i.actionsList = document.createElement('ul')),
                (i.actionsList.className = 'actions-container'),
                i.options.isMenu
                  ? i.actionsList.setAttribute('role', 'menubar')
                  : i.actionsList.setAttribute('role', 'toolbar'),
                i.options.ariaLabel &&
                  i.actionsList.setAttribute('aria-label', i.options.ariaLabel),
                i.domNode.appendChild(i.actionsList),
                (t instanceof o.Builder ? t.getHTMLElement() : t).appendChild(
                  i.domNode
                ),
                i
              )
            }
            return (
              f(t, e),
              (t.prototype.setAriaLabel = function(e) {
                e
                  ? this.actionsList.setAttribute('aria-label', e)
                  : this.actionsList.removeAttribute('aria-label')
              }),
              (t.prototype.updateFocusedItem = function() {
                for (var e = 0; e < this.actionsList.children.length; e++) {
                  var t = this.actionsList.children[e]
                  if (a.isAncestor(document.activeElement, t)) {
                    this.focusedItem = e
                    break
                  }
                }
              }),
              Object.defineProperty(t.prototype, 'context', {
                get: function() {
                  return this._context
                },
                set: function(e) {
                  ;(this._context = e),
                    this.items.forEach(function(t) {
                      return t.setActionContext(e)
                    })
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(t.prototype, 'actionRunner', {
                get: function() {
                  return this._actionRunner
                },
                set: function(e) {
                  e &&
                    ((this._actionRunner = e),
                    this.items.forEach(function(t) {
                      return (t.actionRunner = e)
                    }))
                },
                enumerable: !0,
                configurable: !0
              }),
              (t.prototype.getContainer = function() {
                return o.$(this.domNode)
              }),
              (t.prototype.push = function(e, t) {
                var n = this
                void 0 === t && (t = {})
                var i = Array.isArray(e) ? e : [e],
                  o = l.isNumber(t.index) ? t.index : null
                i.forEach(function(e) {
                  var i = document.createElement('li')
                  ;(i.className = 'action-item'),
                    i.setAttribute('role', 'presentation')
                  var r = null
                  n.options.actionItemProvider &&
                    (r = n.options.actionItemProvider(e)),
                    r || (r = new m(n.context, e, t)),
                    (r.actionRunner = n._actionRunner),
                    r.setActionContext(n.context),
                    n.addEmitter(r),
                    r.render(i),
                    null === o || o < 0 || o >= n.actionsList.children.length
                      ? n.actionsList.appendChild(i)
                      : n.actionsList.insertBefore(
                          i,
                          n.actionsList.children[o++]
                        ),
                    n.items.push(r)
                })
              }),
              (t.prototype.pull = function(e) {
                e >= 0 &&
                  e < this.items.length &&
                  (this.items.splice(e, 1),
                  this.actionsList.removeChild(this.actionsList.childNodes[e]))
              }),
              (t.prototype.clear = function() {
                ;(this.items = i.dispose(this.items)),
                  o.$(this.actionsList).empty()
              }),
              (t.prototype.length = function() {
                return this.items.length
              }),
              (t.prototype.isEmpty = function() {
                return 0 === this.items.length
              }),
              (t.prototype.focus = function(e) {
                e && void 0 === this.focusedItem && (this.focusedItem = 0),
                  this.updateFocus()
              }),
              (t.prototype.focusNext = function() {
                void 0 === this.focusedItem &&
                  (this.focusedItem = this.items.length - 1)
                var e,
                  t = this.focusedItem
                do {
                  ;(this.focusedItem =
                    (this.focusedItem + 1) % this.items.length),
                    (e = this.items[this.focusedItem])
                } while (this.focusedItem !== t && !e.isEnabled())
                this.focusedItem !== t ||
                  e.isEnabled() ||
                  (this.focusedItem = void 0),
                  this.updateFocus()
              }),
              (t.prototype.focusPrevious = function() {
                void 0 === this.focusedItem && (this.focusedItem = 0)
                var e,
                  t = this.focusedItem
                do {
                  ;(this.focusedItem = this.focusedItem - 1),
                    this.focusedItem < 0 &&
                      (this.focusedItem = this.items.length - 1),
                    (e = this.items[this.focusedItem])
                } while (this.focusedItem !== t && !e.isEnabled())
                this.focusedItem !== t ||
                  e.isEnabled() ||
                  (this.focusedItem = void 0),
                  this.updateFocus(!0)
              }),
              (t.prototype.updateFocus = function(e) {
                if (void 0 !== this.focusedItem)
                  for (var t = 0; t < this.items.length; t++) {
                    var n = this.items[t]
                    t === this.focusedItem
                      ? l.isFunction(n.focus) && n.focus(e)
                      : l.isFunction(n.blur) && n.blur()
                  }
                else this.domNode.focus()
              }),
              (t.prototype.doTrigger = function(e) {
                if (void 0 !== this.focusedItem) {
                  var t = this.items[this.focusedItem]
                  if (t instanceof p) {
                    var n =
                      null === t._context || void 0 === t._context
                        ? e
                        : t._context
                    this.run(t._action, n).done()
                  }
                }
              }),
              (t.prototype.cancel = function() {
                document.activeElement instanceof HTMLElement &&
                  document.activeElement.blur(),
                  this.emit(u.EventType.CANCEL)
              }),
              (t.prototype.run = function(e, t) {
                return this._actionRunner.run(e, t)
              }),
              (t.prototype.dispose = function() {
                null !== this.items && i.dispose(this.items),
                  (this.items = null),
                  this.focusTracker &&
                    (this.focusTracker.dispose(), (this.focusTracker = null)),
                  (this.toDispose = i.dispose(this.toDispose)),
                  this.getContainer().destroy(),
                  e.prototype.dispose.call(this)
              }),
              t
            )
          })(c.EventEmitter)
        t.ActionBar = y
        var b = (function(e) {
          function t(t, n, i, o) {
            var s = e.call(this, t, n) || this
            return (
              (s.selectBox = new r.SelectBox(i, o)),
              (s.toDispose = []),
              s.toDispose.push(s.selectBox),
              s.registerListeners(),
              s
            )
          }
          return (
            f(t, e),
            (t.prototype.setOptions = function(e, t) {
              this.selectBox.setOptions(e, t)
            }),
            (t.prototype.select = function(e) {
              this.selectBox.select(e)
            }),
            (t.prototype.registerListeners = function() {
              var e = this
              this.toDispose.push(
                this.selectBox.onDidSelect(function(t) {
                  e.actionRunner.run(e._action, e.getActionContext(t)).done()
                })
              )
            }),
            (t.prototype.getActionContext = function(e) {
              return e
            }),
            (t.prototype.focus = function() {
              this.selectBox && this.selectBox.focus()
            }),
            (t.prototype.blur = function() {
              this.selectBox && this.selectBox.blur()
            }),
            (t.prototype.render = function(e) {
              this.selectBox.render(e)
            }),
            (t.prototype.dispose = function() {
              ;(this.toDispose = i.dispose(this.toDispose)),
                e.prototype.dispose.call(this)
            }),
            t
          )
        })(p)
        t.SelectActionItem = b
      }),
      define(d[272], h([0, 1, 50, 69, 38, 406]), function(e, t, n, i, o) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = (function(e) {
          function t(t, o, r) {
            void 0 === r && (r = {})
            var s = e.call(this) || this
            n.$(t).addClass('monaco-menu-container')
            var a = n.$('.monaco-menu').appendTo(t)
            return (
              (s.actionBar = new i.ActionBar(a, {
                orientation: i.ActionsOrientation.VERTICAL,
                actionItemProvider: r.actionItemProvider,
                context: r.context,
                actionRunner: r.actionRunner,
                isMenu: !0
              })),
              (s.listener = s.addEmitter(s.actionBar)),
              s.actionBar.push(o, { icon: !0, label: !0 }),
              s
            )
          }
          return (
            f(t, e),
            (t.prototype.focus = function() {
              this.actionBar.focus(!0)
            }),
            (t.prototype.dispose = function() {
              e.prototype.dispose.call(this),
                this.actionBar &&
                  (this.actionBar.dispose(), (this.actionBar = null)),
                this.listener &&
                  (this.listener.dispose(), (this.listener = null))
            }),
            t
          )
        })(o.EventEmitter)
        t.Menu = r
      }),
      define(d[273], h([5, 7]), function(e, t) {
        return e.create('vs/base/browser/ui/aria/aria', t)
      }),
      define(d[48], h([0, 1, 273, 15, 6, 431]), function(e, t, n, i, o) {
        'use strict'
        function r(e) {
          s(u, e)
        }
        function s(e, t) {
          a &&
            (e.textContent === t && (t = n.localize(0, null, t)),
            o.clearNode(e),
            (e.textContent = t),
            (e.style.visibility = 'hidden'),
            (e.style.visibility = 'visible'))
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a, u, l
        ;(t.setARIAContainer = function(e) {
          ;((a = document.createElement('div')).className =
            'monaco-aria-container'),
            ((u = document.createElement('div')).className = 'monaco-alert'),
            u.setAttribute('role', 'alert'),
            u.setAttribute('aria-atomic', 'true'),
            a.appendChild(u),
            ((l = document.createElement('div')).className = 'monaco-status'),
            l.setAttribute('role', 'status'),
            l.setAttribute('aria-atomic', 'true'),
            a.appendChild(l),
            e.appendChild(a)
        }),
          (t.alert = r),
          (t.status = function(e) {
            i.isMacintosh ? r(e) : s(l, e)
          })
      }),
      define(d[275], h([5, 7]), function(e, t) {
        return e.create('vs/base/browser/ui/findinput/findInput', t)
      }),
      define(d[276], h([5, 7]), function(e, t) {
        return e.create('vs/base/browser/ui/findinput/findInputCheckboxes', t)
      }),
      define(d[197], h([0, 1, 276, 429, 417]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = n.localize(0, null),
          r = n.localize(1, null),
          s = n.localize(2, null),
          a = (function(e) {
            function t(t) {
              return (
                e.call(this, {
                  actionClassName: 'monaco-case-sensitive',
                  title: o + t.appendTitle,
                  isChecked: t.isChecked,
                  onChange: t.onChange,
                  onKeyDown: t.onKeyDown,
                  inputActiveOptionBorder: t.inputActiveOptionBorder
                }) || this
              )
            }
            return f(t, e), t
          })(i.Checkbox)
        t.CaseSensitiveCheckbox = a
        var u = (function(e) {
          function t(t) {
            return (
              e.call(this, {
                actionClassName: 'monaco-whole-word',
                title: r + t.appendTitle,
                isChecked: t.isChecked,
                onChange: t.onChange,
                onKeyDown: t.onKeyDown,
                inputActiveOptionBorder: t.inputActiveOptionBorder
              }) || this
            )
          }
          return f(t, e), t
        })(i.Checkbox)
        t.WholeWordsCheckbox = u
        var l = (function(e) {
          function t(t) {
            return (
              e.call(this, {
                actionClassName: 'monaco-regex',
                title: s + t.appendTitle,
                isChecked: t.isChecked,
                onChange: t.onChange,
                onKeyDown: t.onKeyDown,
                inputActiveOptionBorder: t.inputActiveOptionBorder
              }) || this
            )
          }
          return f(t, e), t
        })(i.Checkbox)
        t.RegexCheckbox = l
      }),
      define(d[278], h([5, 7]), function(e, t) {
        return e.create('vs/base/browser/ui/inputbox/inputBox', t)
      }),
      define(d[119], h([
        0,
        1,
        278,
        30,
        6,
        94,
        48,
        69,
        166,
        11,
        44,
        34,
        28,
        414
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var p,
          g = o.$
        !(function(e) {
          ;(e[(e.INFO = 1)] = 'INFO'),
            (e[(e.WARNING = 2)] = 'WARNING'),
            (e[(e.ERROR = 3)] = 'ERROR')
        })((p = t.MessageType || (t.MessageType = {})))
        var m = {
            inputBackground: d.Color.fromHex('#3C3C3C'),
            inputForeground: d.Color.fromHex('#CCCCCC'),
            inputValidationInfoBorder: d.Color.fromHex('#55AAFF'),
            inputValidationInfoBackground: d.Color.fromHex('#063B49'),
            inputValidationWarningBorder: d.Color.fromHex('#B89500'),
            inputValidationWarningBackground: d.Color.fromHex('#352A05'),
            inputValidationErrorBorder: d.Color.fromHex('#BE1100'),
            inputValidationErrorBackground: d.Color.fromHex('#5A1D1D')
          },
          v = (function(e) {
            function t(t, n, r) {
              var s = e.call(this) || this
              ;(s.state = 'idle'),
                (s._onDidChange = s._register(new l.Emitter())),
                (s.onDidChange = s._onDidChange.event),
                (s._onDidHeightChange = s._register(new l.Emitter())),
                (s.onDidHeightChange = s._onDidHeightChange.event),
                (s.contextViewProvider = n),
                (s.options = r || Object.create(null)),
                h.mixin(s.options, m, !1),
                (s.message = null),
                (s.cachedHeight = null),
                (s.placeholder = s.options.placeholder || ''),
                (s.ariaLabel = s.options.ariaLabel || ''),
                (s.inputBackground = s.options.inputBackground),
                (s.inputForeground = s.options.inputForeground),
                (s.inputBorder = s.options.inputBorder),
                (s.inputValidationInfoBorder =
                  s.options.inputValidationInfoBorder),
                (s.inputValidationInfoBackground =
                  s.options.inputValidationInfoBackground),
                (s.inputValidationWarningBorder =
                  s.options.inputValidationWarningBorder),
                (s.inputValidationWarningBackground =
                  s.options.inputValidationWarningBackground),
                (s.inputValidationErrorBorder =
                  s.options.inputValidationErrorBorder),
                (s.inputValidationErrorBackground =
                  s.options.inputValidationErrorBackground),
                s.options.validationOptions &&
                  ((s.validation = s.options.validationOptions.validation),
                  (s.showValidationMessage =
                    s.options.validationOptions.showMessage || !1)),
                (s.element = o.append(t, g('.monaco-inputbox.idle')))
              var u = s.options.flexibleHeight ? 'textarea' : 'input',
                c = o.append(s.element, g('.wrapper'))
              return (
                (s.input = o.append(c, g(u + '.input'))),
                s.input.setAttribute('autocorrect', 'off'),
                s.input.setAttribute('autocapitalize', 'off'),
                s.input.setAttribute('spellcheck', 'false'),
                s.onfocus(s.input, function() {
                  return o.addClass(s.element, 'synthetic-focus')
                }),
                s.onblur(s.input, function() {
                  return o.removeClass(s.element, 'synthetic-focus')
                }),
                s.options.flexibleHeight
                  ? (s.mirror = o.append(c, g('div.mirror')))
                  : ((s.input.type = s.options.type || 'text'),
                    s.input.setAttribute('wrap', 'off')),
                s.ariaLabel && s.input.setAttribute('aria-label', s.ariaLabel),
                s.placeholder &&
                  (s.input.setAttribute('placeholder', s.placeholder),
                  (s.input.title = s.placeholder)),
                s.oninput(s.input, function() {
                  return s.onValueChange()
                }),
                s.onblur(s.input, function() {
                  return s.onBlur()
                }),
                s.onfocus(s.input, function() {
                  return s.onFocus()
                }),
                s.placeholder &&
                  i.isIE &&
                  s.onclick(s.input, function(e) {
                    o.EventHelper.stop(e, !0), s.input.focus()
                  }),
                setTimeout(function() {
                  return s.updateMirror()
                }, 0),
                s.options.actions &&
                  ((s.actionbar = s._register(new a.ActionBar(s.element))),
                  s.actionbar.push(s.options.actions, { icon: !0, label: !1 })),
                s.applyStyles(),
                s
              )
            }
            return (
              f(t, e),
              (t.prototype.onBlur = function() {
                this._hideMessage()
              }),
              (t.prototype.onFocus = function() {
                this._showMessage()
              }),
              (t.prototype.setPlaceHolder = function(e) {
                this.input && this.input.setAttribute('placeholder', e)
              }),
              (t.prototype.setAriaLabel = function(e) {
                ;(this.ariaLabel = e),
                  this.input &&
                    (e
                      ? this.input.setAttribute('aria-label', this.ariaLabel)
                      : this.input.removeAttribute('aria-label'))
              }),
              (t.prototype.setContextViewProvider = function(e) {
                this.contextViewProvider = e
              }),
              Object.defineProperty(t.prototype, 'inputElement', {
                get: function() {
                  return this.input
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(t.prototype, 'value', {
                get: function() {
                  return this.input.value
                },
                set: function(e) {
                  this.input.value !== e &&
                    ((this.input.value = e), this.onValueChange())
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(t.prototype, 'height', {
                get: function() {
                  return null === this.cachedHeight
                    ? o.getTotalHeight(this.element)
                    : this.cachedHeight
                },
                enumerable: !0,
                configurable: !0
              }),
              (t.prototype.focus = function() {
                this.input.focus()
              }),
              (t.prototype.blur = function() {
                this.input.blur()
              }),
              (t.prototype.hasFocus = function() {
                return document.activeElement === this.input
              }),
              (t.prototype.select = function(e) {
                void 0 === e && (e = null),
                  this.input.select(),
                  e && this.input.setSelectionRange(e.start, e.end)
              }),
              (t.prototype.enable = function() {
                this.input.removeAttribute('disabled')
              }),
              (t.prototype.disable = function() {
                ;(this.input.disabled = !0), this._hideMessage()
              }),
              (t.prototype.setEnabled = function(e) {
                e ? this.enable() : this.disable()
              }),
              Object.defineProperty(t.prototype, 'width', {
                get: function() {
                  return o.getTotalWidth(this.input)
                },
                set: function(e) {
                  this.input.style.width = e + 'px'
                },
                enumerable: !0,
                configurable: !0
              }),
              (t.prototype.showMessage = function(e, t) {
                ;(this.message = e),
                  o.removeClass(this.element, 'idle'),
                  o.removeClass(this.element, 'info'),
                  o.removeClass(this.element, 'warning'),
                  o.removeClass(this.element, 'error'),
                  o.addClass(this.element, this.classForType(e.type))
                var i = this.stylesForType(this.message.type)
                this.element.style.border = i.border
                  ? '1px solid ' + i.border
                  : null
                var r
                ;(r =
                  e.type === p.ERROR
                    ? n.localize(0, null, e.content)
                    : e.type === p.WARNING
                      ? n.localize(1, null, e.content)
                      : n.localize(2, null, e.content)),
                  s.alert(r),
                  (this.hasFocus() || t) && this._showMessage()
              }),
              (t.prototype.hideMessage = function() {
                ;(this.message = null),
                  o.removeClass(this.element, 'info'),
                  o.removeClass(this.element, 'warning'),
                  o.removeClass(this.element, 'error'),
                  o.addClass(this.element, 'idle'),
                  this._hideMessage(),
                  this.applyStyles()
              }),
              (t.prototype.isInputValid = function() {
                return !!this.validation && !this.validation(this.value)
              }),
              (t.prototype.validate = function() {
                var e = null
                return (
                  this.validation &&
                    ((e = this.validation(this.value))
                      ? (this.inputElement.setAttribute('aria-invalid', 'true'),
                        this.showMessage(e))
                      : (this.inputElement.removeAttribute('aria-invalid'),
                        this.hideMessage())),
                  !e
                )
              }),
              (t.prototype.stylesForType = function(e) {
                switch (e) {
                  case p.INFO:
                    return {
                      border: this.inputValidationInfoBorder,
                      background: this.inputValidationInfoBackground
                    }
                  case p.WARNING:
                    return {
                      border: this.inputValidationWarningBorder,
                      background: this.inputValidationWarningBackground
                    }
                  default:
                    return {
                      border: this.inputValidationErrorBorder,
                      background: this.inputValidationErrorBackground
                    }
                }
              }),
              (t.prototype.classForType = function(e) {
                switch (e) {
                  case p.INFO:
                    return 'info'
                  case p.WARNING:
                    return 'warning'
                  default:
                    return 'error'
                }
              }),
              (t.prototype._showMessage = function() {
                var e = this
                if (this.contextViewProvider && this.message) {
                  var t,
                    n = function() {
                      return (t.style.width = o.getTotalWidth(e.element) + 'px')
                    }
                  ;(this.state = 'open'),
                    this.contextViewProvider.showContextView({
                      getAnchor: function() {
                        return e.element
                      },
                      anchorAlignment: u.AnchorAlignment.RIGHT,
                      render: function(i) {
                        ;(t = o.append(i, g('.monaco-inputbox-container'))), n()
                        var s = {
                            inline: !0,
                            className: 'monaco-inputbox-message'
                          },
                          a = e.message.formatContent
                            ? r.renderFormattedText(e.message.content, s)
                            : r.renderText(e.message.content, s)
                        o.addClass(a, e.classForType(e.message.type))
                        var u = e.stylesForType(e.message.type)
                        return (
                          (a.style.backgroundColor = u.background
                            ? u.background.toString()
                            : null),
                          (a.style.border = u.border
                            ? '1px solid ' + u.border
                            : null),
                          o.append(t, a),
                          null
                        )
                      },
                      layout: n
                    })
                }
              }),
              (t.prototype._hideMessage = function() {
                this.contextViewProvider &&
                  'open' === this.state &&
                  ((this.state = 'idle'),
                  this.contextViewProvider.hideContextView())
              }),
              (t.prototype.onValueChange = function() {
                this._onDidChange.fire(this.value),
                  this.validate(),
                  this.updateMirror(),
                  'open' === this.state && this.contextViewProvider.layout()
              }),
              (t.prototype.updateMirror = function() {
                if (this.mirror) {
                  var e = this.value || this.placeholder,
                    t = 10 === e.charCodeAt(e.length - 1) ? ' ' : ''
                  ;(this.mirror.textContent = e + t), this.layout()
                }
              }),
              (t.prototype.style = function(e) {
                ;(this.inputBackground = e.inputBackground),
                  (this.inputForeground = e.inputForeground),
                  (this.inputBorder = e.inputBorder),
                  (this.inputValidationInfoBackground =
                    e.inputValidationInfoBackground),
                  (this.inputValidationInfoBorder =
                    e.inputValidationInfoBorder),
                  (this.inputValidationWarningBackground =
                    e.inputValidationWarningBackground),
                  (this.inputValidationWarningBorder =
                    e.inputValidationWarningBorder),
                  (this.inputValidationErrorBackground =
                    e.inputValidationErrorBackground),
                  (this.inputValidationErrorBorder =
                    e.inputValidationErrorBorder),
                  this.applyStyles()
              }),
              (t.prototype.applyStyles = function() {
                if (this.element) {
                  var e = this.inputBackground
                      ? this.inputBackground.toString()
                      : null,
                    t = this.inputForeground
                      ? this.inputForeground.toString()
                      : null,
                    n = this.inputBorder ? this.inputBorder.toString() : null
                  ;(this.element.style.backgroundColor = e),
                    (this.element.style.color = t),
                    (this.input.style.backgroundColor = e),
                    (this.input.style.color = t),
                    (this.element.style.borderWidth = n ? '1px' : null),
                    (this.element.style.borderStyle = n ? 'solid' : null),
                    (this.element.style.borderColor = n)
                }
              }),
              (t.prototype.layout = function() {
                if (this.mirror) {
                  var e = this.cachedHeight
                  ;(this.cachedHeight = o.getTotalHeight(this.mirror)),
                    e !== this.cachedHeight &&
                      ((this.input.style.height = this.cachedHeight + 'px'),
                      this._onDidHeightChange.fire(this.cachedHeight))
                }
              }),
              (t.prototype.dispose = function() {
                this._hideMessage(),
                  (this.element = null),
                  (this.input = null),
                  (this.contextViewProvider = null),
                  (this.message = null),
                  (this.placeholder = null),
                  (this.ariaLabel = null),
                  (this.validation = null),
                  (this.showValidationMessage = null),
                  (this.state = null),
                  (this.actionbar = null),
                  e.prototype.dispose.call(this)
              }),
              t
            )
          })(c.Widget)
        t.InputBox = v
      }),
      define(d[280], h([0, 1, 275, 6, 119, 44, 11, 197, 418]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var u = n.localize(0, null),
          l = (function(e) {
            function t(t, n, i) {
              var o = e.call(this) || this
              return (
                (o._onDidOptionChange = o._register(new s.Emitter())),
                (o.onDidOptionChange = o._onDidOptionChange.event),
                (o._onKeyDown = o._register(new s.Emitter())),
                (o.onKeyDown = o._onKeyDown.event),
                (o._onMouseDown = o._register(new s.Emitter())),
                (o.onMouseDown = o._onMouseDown.event),
                (o._onInput = o._register(new s.Emitter())),
                (o.onInput = o._onInput.event),
                (o._onKeyUp = o._register(new s.Emitter())),
                (o.onKeyUp = o._onKeyUp.event),
                (o._onCaseSensitiveKeyDown = o._register(new s.Emitter())),
                (o.onCaseSensitiveKeyDown = o._onCaseSensitiveKeyDown.event),
                (o._lastHighlightFindOptions = 0),
                (o.contextViewProvider = n),
                (o.width = i.width || 100),
                (o.placeholder = i.placeholder || ''),
                (o.validation = i.validation),
                (o.label = i.label || u),
                (o.inputActiveOptionBorder = i.inputActiveOptionBorder),
                (o.inputBackground = i.inputBackground),
                (o.inputForeground = i.inputForeground),
                (o.inputBorder = i.inputBorder),
                (o.inputValidationInfoBorder = i.inputValidationInfoBorder),
                (o.inputValidationInfoBackground =
                  i.inputValidationInfoBackground),
                (o.inputValidationWarningBorder =
                  i.inputValidationWarningBorder),
                (o.inputValidationWarningBackground =
                  i.inputValidationWarningBackground),
                (o.inputValidationErrorBorder = i.inputValidationErrorBorder),
                (o.inputValidationErrorBackground =
                  i.inputValidationErrorBackground),
                (o.regex = null),
                (o.wholeWords = null),
                (o.caseSensitive = null),
                (o.domNode = null),
                (o.inputBox = null),
                o.buildDomNode(
                  i.appendCaseSensitiveLabel || '',
                  i.appendWholeWordsLabel || '',
                  i.appendRegexLabel || ''
                ),
                Boolean(t) && t.appendChild(o.domNode),
                o.onkeydown(o.inputBox.inputElement, function(e) {
                  return o._onKeyDown.fire(e)
                }),
                o.onkeyup(o.inputBox.inputElement, function(e) {
                  return o._onKeyUp.fire(e)
                }),
                o.oninput(o.inputBox.inputElement, function(e) {
                  return o._onInput.fire()
                }),
                o.onmousedown(o.inputBox.inputElement, function(e) {
                  return o._onMouseDown.fire(e)
                }),
                o
              )
            }
            return (
              f(t, e),
              (t.prototype.enable = function() {
                i.removeClass(this.domNode, 'disabled'),
                  this.inputBox.enable(),
                  this.regex.enable(),
                  this.wholeWords.enable(),
                  this.caseSensitive.enable()
              }),
              (t.prototype.disable = function() {
                i.addClass(this.domNode, 'disabled'),
                  this.inputBox.disable(),
                  this.regex.disable(),
                  this.wholeWords.disable(),
                  this.caseSensitive.disable()
              }),
              (t.prototype.setEnabled = function(e) {
                e ? this.enable() : this.disable()
              }),
              (t.prototype.clear = function() {
                this.clearValidation(), this.setValue(''), this.focus()
              }),
              (t.prototype.setWidth = function(e) {
                ;(this.width = e),
                  (this.domNode.style.width = this.width + 'px'),
                  this.contextViewProvider.layout(),
                  this.setInputWidth()
              }),
              (t.prototype.getValue = function() {
                return this.inputBox.value
              }),
              (t.prototype.setValue = function(e) {
                this.inputBox.value !== e && (this.inputBox.value = e)
              }),
              (t.prototype.style = function(e) {
                ;(this.inputActiveOptionBorder = e.inputActiveOptionBorder),
                  (this.inputBackground = e.inputBackground),
                  (this.inputForeground = e.inputForeground),
                  (this.inputBorder = e.inputBorder),
                  (this.inputValidationInfoBackground =
                    e.inputValidationInfoBackground),
                  (this.inputValidationInfoBorder =
                    e.inputValidationInfoBorder),
                  (this.inputValidationWarningBackground =
                    e.inputValidationWarningBackground),
                  (this.inputValidationWarningBorder =
                    e.inputValidationWarningBorder),
                  (this.inputValidationErrorBackground =
                    e.inputValidationErrorBackground),
                  (this.inputValidationErrorBorder =
                    e.inputValidationErrorBorder),
                  this.applyStyles()
              }),
              (t.prototype.applyStyles = function() {
                if (this.domNode) {
                  var e = {
                    inputActiveOptionBorder: this.inputActiveOptionBorder
                  }
                  this.regex.style(e),
                    this.wholeWords.style(e),
                    this.caseSensitive.style(e)
                  var t = {
                    inputBackground: this.inputBackground,
                    inputForeground: this.inputForeground,
                    inputBorder: this.inputBorder,
                    inputValidationInfoBackground: this
                      .inputValidationInfoBackground,
                    inputValidationInfoBorder: this.inputValidationInfoBorder,
                    inputValidationWarningBackground: this
                      .inputValidationWarningBackground,
                    inputValidationWarningBorder: this
                      .inputValidationWarningBorder,
                    inputValidationErrorBackground: this
                      .inputValidationErrorBackground,
                    inputValidationErrorBorder: this.inputValidationErrorBorder
                  }
                  this.inputBox.style(t)
                }
              }),
              (t.prototype.select = function() {
                this.inputBox.select()
              }),
              (t.prototype.focus = function() {
                this.inputBox.focus()
              }),
              (t.prototype.getCaseSensitive = function() {
                return this.caseSensitive.checked
              }),
              (t.prototype.setCaseSensitive = function(e) {
                ;(this.caseSensitive.checked = e), this.setInputWidth()
              }),
              (t.prototype.getWholeWords = function() {
                return this.wholeWords.checked
              }),
              (t.prototype.setWholeWords = function(e) {
                ;(this.wholeWords.checked = e), this.setInputWidth()
              }),
              (t.prototype.getRegex = function() {
                return this.regex.checked
              }),
              (t.prototype.setRegex = function(e) {
                ;(this.regex.checked = e), this.setInputWidth()
              }),
              (t.prototype.focusOnCaseSensitive = function() {
                this.caseSensitive.focus()
              }),
              (t.prototype.highlightFindOptions = function() {
                i.removeClass(
                  this.domNode,
                  'highlight-' + this._lastHighlightFindOptions
                ),
                  (this._lastHighlightFindOptions =
                    1 - this._lastHighlightFindOptions),
                  i.addClass(
                    this.domNode,
                    'highlight-' + this._lastHighlightFindOptions
                  )
              }),
              (t.prototype.setInputWidth = function() {
                var e =
                  this.width -
                  this.caseSensitive.width() -
                  this.wholeWords.width() -
                  this.regex.width()
                this.inputBox.width = e
              }),
              (t.prototype.buildDomNode = function(e, t, n) {
                var r = this
                ;(this.domNode = document.createElement('div')),
                  (this.domNode.style.width = this.width + 'px'),
                  i.addClass(this.domNode, 'monaco-findInput'),
                  (this.inputBox = this._register(
                    new o.InputBox(this.domNode, this.contextViewProvider, {
                      placeholder: this.placeholder || '',
                      ariaLabel: this.label || '',
                      validationOptions: {
                        validation: this.validation || null,
                        showMessage: !0
                      },
                      inputBackground: this.inputBackground,
                      inputForeground: this.inputForeground,
                      inputBorder: this.inputBorder,
                      inputValidationInfoBackground: this
                        .inputValidationInfoBackground,
                      inputValidationInfoBorder: this.inputValidationInfoBorder,
                      inputValidationWarningBackground: this
                        .inputValidationWarningBackground,
                      inputValidationWarningBorder: this
                        .inputValidationWarningBorder,
                      inputValidationErrorBackground: this
                        .inputValidationErrorBackground,
                      inputValidationErrorBorder: this
                        .inputValidationErrorBorder
                    })
                  )),
                  (this.regex = this._register(
                    new a.RegexCheckbox({
                      appendTitle: n,
                      isChecked: !1,
                      onChange: function(e) {
                        r._onDidOptionChange.fire(e),
                          e || r.inputBox.focus(),
                          r.setInputWidth(),
                          r.validate()
                      },
                      inputActiveOptionBorder: this.inputActiveOptionBorder
                    })
                  )),
                  (this.wholeWords = this._register(
                    new a.WholeWordsCheckbox({
                      appendTitle: t,
                      isChecked: !1,
                      onChange: function(e) {
                        r._onDidOptionChange.fire(e),
                          e || r.inputBox.focus(),
                          r.setInputWidth(),
                          r.validate()
                      },
                      inputActiveOptionBorder: this.inputActiveOptionBorder
                    })
                  )),
                  (this.caseSensitive = this._register(
                    new a.CaseSensitiveCheckbox({
                      appendTitle: e,
                      isChecked: !1,
                      onChange: function(e) {
                        r._onDidOptionChange.fire(e),
                          e || r.inputBox.focus(),
                          r.setInputWidth(),
                          r.validate()
                      },
                      onKeyDown: function(e) {
                        r._onCaseSensitiveKeyDown.fire(e)
                      },
                      inputActiveOptionBorder: this.inputActiveOptionBorder
                    })
                  ))
                var s = [
                  this.caseSensitive.domNode,
                  this.wholeWords.domNode,
                  this.regex.domNode
                ]
                this.onkeydown(this.domNode, function(e) {
                  if (e.equals(15) || e.equals(17) || e.equals(9)) {
                    var t = s.indexOf(document.activeElement)
                    if (t >= 0) {
                      var n = void 0
                      e.equals(17)
                        ? (n = (t + 1) % s.length)
                        : e.equals(15) && (n = 0 === t ? s.length - 1 : t - 1),
                        e.equals(9) ? s[t].blur() : n >= 0 && s[n].focus(),
                        i.EventHelper.stop(e, !0)
                    }
                  }
                }),
                  this.setInputWidth()
                var u = document.createElement('div')
                ;(u.className = 'controls'),
                  u.appendChild(this.caseSensitive.domNode),
                  u.appendChild(this.wholeWords.domNode),
                  u.appendChild(this.regex.domNode),
                  this.domNode.appendChild(u)
              }),
              (t.prototype.validate = function() {
                this.inputBox.validate()
              }),
              (t.prototype.showMessage = function(e) {
                this.inputBox.showMessage(e)
              }),
              (t.prototype.clearMessage = function() {
                this.inputBox.hideMessage()
              }),
              (t.prototype.clearValidation = function() {
                this.inputBox.hideMessage()
              }),
              (t.prototype.dispose = function() {
                e.prototype.dispose.call(this)
              }),
              t
            )
          })(r.Widget)
        ;(l.OPTION_CHANGE = 'optionChange'), (t.FindInput = l)
      }),
      define(d[281], h([5, 7]), function(e, t) {
        return e.create('vs/base/common/keybindingLabels', t)
      }),
      define(d[195], h([0, 1, 281]), function(e, t, n) {
        'use strict'
        function i(e, t, n) {
          if (null === t) return ''
          var i = []
          return (
            e.ctrlKey && i.push(n.ctrlKey),
            e.shiftKey && i.push(n.shiftKey),
            e.altKey && i.push(n.altKey),
            e.metaKey && i.push(n.metaKey),
            i.push(t),
            i.join(n.separator)
          )
        }
        function o(e, t, n, o, r) {
          var s = i(e, t, r)
          return null !== o && ((s += ' '), (s += i(n, o, r))), s
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = (function() {
          function e(e, t, n) {
            void 0 === n && (n = t),
              (this.modifierLabels = [null]),
              (this.modifierLabels[2] = e),
              (this.modifierLabels[1] = t),
              (this.modifierLabels[3] = n)
          }
          return (
            (e.prototype.toLabel = function(e, t, n, i, r) {
              return null === t && null === i
                ? null
                : o(e, t, n, i, this.modifierLabels[r])
            }),
            e
          )
        })()
        ;(t.ModifierLabelProvider = r),
          (t.UILabelProvider = new r(
            {
              ctrlKey: '⌃',
              shiftKey: '⇧',
              altKey: '⌥',
              metaKey: '⌘',
              separator: ''
            },
            {
              ctrlKey: n.localize(0, null),
              shiftKey: n.localize(1, null),
              altKey: n.localize(2, null),
              metaKey: n.localize(3, null),
              separator: '+'
            }
          )),
          (t.AriaLabelProvider = new r(
            {
              ctrlKey: n.localize(4, null),
              shiftKey: n.localize(5, null),
              altKey: n.localize(6, null),
              metaKey: n.localize(7, null),
              separator: '+'
            },
            {
              ctrlKey: n.localize(8, null),
              shiftKey: n.localize(9, null),
              altKey: n.localize(10, null),
              metaKey: n.localize(11, null),
              separator: '+'
            }
          )),
          (t.ElectronAcceleratorLabelProvider = new r(
            {
              ctrlKey: 'Ctrl',
              shiftKey: 'Shift',
              altKey: 'Alt',
              metaKey: 'Cmd',
              separator: '+'
            },
            {
              ctrlKey: 'Ctrl',
              shiftKey: 'Shift',
              altKey: 'Alt',
              metaKey: 'Super',
              separator: '+'
            }
          )),
          (t.UserSettingsLabelProvider = new r(
            {
              ctrlKey: 'ctrl',
              shiftKey: 'shift',
              altKey: 'alt',
              metaKey: 'cmd',
              separator: '+'
            },
            {
              ctrlKey: 'ctrl',
              shiftKey: 'shift',
              altKey: 'alt',
              metaKey: 'win',
              separator: '+'
            },
            {
              ctrlKey: 'ctrl',
              shiftKey: 'shift',
              altKey: 'alt',
              metaKey: 'meta',
              separator: '+'
            }
          ))
      }),
      define(d[283], h([0, 1, 28, 195, 6, 412]), function(e, t, n, i, o) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = o.$,
          s = (function() {
            function e(e, t) {
              ;(this.os = t),
                (this.domNode = o.append(e, r('.htmlkb'))),
                (this.didEverRender = !1),
                e.appendChild(this.domNode)
            }
            return (
              Object.defineProperty(e.prototype, 'element', {
                get: function() {
                  return this.domNode
                },
                enumerable: !0,
                configurable: !0
              }),
              (e.prototype.set = function(t, n) {
                ;(this.didEverRender &&
                  this.keybinding === t &&
                  e.areSame(this.matches, n)) ||
                  ((this.keybinding = t), (this.matches = n), this.render())
              }),
              (e.prototype.render = function() {
                if ((o.clearNode(this.domNode), this.keybinding)) {
                  var e = this.keybinding.getParts(),
                    t = e[0],
                    n = e[1]
                  t &&
                    this.renderPart(
                      this.domNode,
                      t,
                      this.matches ? this.matches.firstPart : null
                    ),
                    n &&
                      (o.append(this.domNode, r('span', null, ' ')),
                      this.renderPart(
                        this.domNode,
                        n,
                        this.matches ? this.matches.chordPart : null
                      )),
                    (this.domNode.title = this.keybinding.getAriaLabel())
                }
                this.didEverRender = !0
              }),
              (e.prototype.renderPart = function(e, t, n) {
                var o = i.UILabelProvider.modifierLabels[this.os]
                t.ctrlKey &&
                  this.renderKey(e, o.ctrlKey, n && n.ctrlKey, o.separator),
                  t.shiftKey &&
                    this.renderKey(e, o.shiftKey, n && n.shiftKey, o.separator),
                  t.altKey &&
                    this.renderKey(e, o.altKey, n && n.altKey, o.separator),
                  t.metaKey &&
                    this.renderKey(e, o.metaKey, n && n.metaKey, o.separator)
                var r = t.keyLabel
                r && this.renderKey(e, r, n && n.keyCode, '')
              }),
              (e.prototype.renderKey = function(e, t, n, i) {
                o.append(
                  e,
                  r('span.monaco-kbkey' + (n ? '.highlight' : ''), null, t)
                ),
                  i && o.append(e, r('span', null, i))
              }),
              (e.prototype.dispose = function() {
                this.keybinding = null
              }),
              (e.areSame = function(e, t) {
                return (
                  e === t ||
                  (!e && !t) ||
                  (!!e &&
                    !!t &&
                    n.equals(e.firstPart, t.firstPart) &&
                    n.equals(e.chordPart, t.chordPart))
                )
              }),
              e
            )
          })()
        t.KeybindingLabel = s
      }),
      define(d[284], h([5, 7]), function(e, t) {
        return e.create('vs/base/common/severity', t)
      }),
      define(d[40], h([0, 1, 284, 9]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o
        !(function(e) {
          ;(e[(e.Ignore = 0)] = 'Ignore'),
            (e[(e.Info = 1)] = 'Info'),
            (e[(e.Warning = 2)] = 'Warning'),
            (e[(e.Error = 3)] = 'Error')
        })(o || (o = {})),
          (function(e) {
            var t = 'error',
              o = 'warning',
              r = 'warn',
              s = 'info',
              a = Object.create(null)
            ;(a[e.Error] = n.localize(0, null)),
              (a[e.Warning] = n.localize(1, null)),
              (a[e.Info] = n.localize(2, null)),
              (e.fromValue = function(n) {
                return n
                  ? i.equalsIgnoreCase(t, n)
                    ? e.Error
                    : i.equalsIgnoreCase(o, n) || i.equalsIgnoreCase(r, n)
                      ? e.Warning
                      : i.equalsIgnoreCase(s, n)
                        ? e.Info
                        : e.Ignore
                  : e.Ignore
              }),
              (e.toString = function(e) {
                return a[e] || i.empty
              }),
              (e.compare = function(e, t) {
                return t - e
              })
          })(o || (o = {})),
          (t.default = o)
      }),
      define(d[286], h([5, 7]), function(e, t) {
        return e.create('vs/base/parts/quickopen/browser/quickOpenModel', t)
      }),
      define(d[120], h([
        0,
        1,
        286,
        8,
        29,
        85,
        9,
        46,
        185,
        484,
        69,
        124,
        6,
        283,
        15
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var m = 0,
          v = (function() {
            function e() {}
            return (
              (e.getLabel = function(e) {
                return e.getLabel()
              }),
              (e.getResourcePath = function(e) {
                var t = e.getResource()
                return t && t.fsPath
              }),
              e
            )
          })(),
          _ = (function() {
            function e(e) {
              void 0 === e && (e = []),
                (this.id = (m++).toString()),
                (this.labelHighlights = e),
                (this.descriptionHighlights = [])
            }
            return (
              (e.prototype.getId = function() {
                return this.id
              }),
              (e.prototype.getLabel = function() {
                return null
              }),
              (e.prototype.getLabelOptions = function() {
                return null
              }),
              (e.prototype.getAriaLabel = function() {
                return this.getLabel()
              }),
              (e.prototype.getDetail = function() {
                return null
              }),
              (e.prototype.getIcon = function() {
                return null
              }),
              (e.prototype.getDescription = function() {
                return null
              }),
              (e.prototype.getKeybinding = function() {
                return null
              }),
              (e.prototype.getResource = function() {
                return null
              }),
              (e.prototype.isHidden = function() {
                return this.hidden
              }),
              (e.prototype.setHidden = function(e) {
                this.hidden = e
              }),
              (e.prototype.setHighlights = function(e, t, n) {
                ;(this.labelHighlights = e),
                  (this.descriptionHighlights = t),
                  (this.detailHighlights = n)
              }),
              (e.prototype.getHighlights = function() {
                return [
                  this.labelHighlights,
                  this.descriptionHighlights,
                  this.detailHighlights
                ]
              }),
              (e.prototype.run = function(e, t) {
                return !1
              }),
              (e.compare = function(e, t, n) {
                var i = e.getHighlights()[0] || [],
                  o = t.getHighlights()[0] || []
                if (i.length && !o.length) return -1
                if (!i.length && o.length) return 1
                var r = e.getLabel(),
                  s = t.getLabel()
                if (r === s) {
                  var a = e.getResource(),
                    u = t.getResource()
                  a && u && ((r = a.fsPath), (s = u.fsPath))
                }
                return l.compareAnything(r, s, n)
              }),
              (e.compareByScore = function(e, t, n, i, o) {
                return l.compareByScore(e, t, v, n, i, o)
              }),
              (e.highlight = function(e, t, n) {
                void 0 === n && (n = !1)
                var i = [],
                  o = [],
                  u = s.stripWildcards(t),
                  l = e.getLabel(),
                  c = e.getDescription()
                if (e.getResource()) {
                  var d = e.getResource().fsPath
                  if (
                    t.length === d.length &&
                    t.toLowerCase() === d.toLowerCase()
                  )
                    i.push({ start: 0, end: l.length }),
                      o.push({ start: 0, end: c.length })
                  else if (n || t.indexOf(a.nativeSep) >= 0) {
                    var h = r.matchesFuzzy(t, l, n)
                    if (h) i = h
                    else {
                      var p = c ? c + a.nativeSep : '',
                        f = p.length,
                        g = r.matchesFuzzy(t, p + l, n)
                      g || t === u || (g = r.matchesFuzzy(u, p + l, n)),
                        g &&
                          g.forEach(function(e) {
                            e.start < f && e.end > f
                              ? (i.push({ start: 0, end: e.end - f }),
                                o.push({ start: e.start, end: f }))
                              : e.start >= f
                                ? i.push({ start: e.start - f, end: e.end - f })
                                : o.push(e)
                          })
                    }
                  } else i = r.matchesFuzzy(t, l)
                } else i = r.matchesFuzzy(t, l)
                return { labelHighlights: i, descriptionHighlights: o }
              }),
              (e.prototype.isFile = function() {
                return !1
              }),
              e
            )
          })()
        t.QuickOpenEntry = _
        var y = (function(e) {
          function t(t, n, i) {
            var o = e.call(this) || this
            return (o.entry = t), (o.groupLabel = n), (o.withBorder = i), o
          }
          return (
            f(t, e),
            (t.prototype.getGroupLabel = function() {
              return this.groupLabel
            }),
            (t.prototype.setGroupLabel = function(e) {
              this.groupLabel = e
            }),
            (t.prototype.showBorder = function() {
              return this.withBorder
            }),
            (t.prototype.setShowBorder = function(e) {
              this.withBorder = e
            }),
            (t.prototype.getLabel = function() {
              return this.entry
                ? this.entry.getLabel()
                : e.prototype.getLabel.call(this)
            }),
            (t.prototype.getLabelOptions = function() {
              return this.entry
                ? this.entry.getLabelOptions()
                : e.prototype.getLabelOptions.call(this)
            }),
            (t.prototype.getAriaLabel = function() {
              return this.entry
                ? this.entry.getAriaLabel()
                : e.prototype.getAriaLabel.call(this)
            }),
            (t.prototype.getDetail = function() {
              return this.entry
                ? this.entry.getDetail()
                : e.prototype.getDetail.call(this)
            }),
            (t.prototype.getResource = function() {
              return this.entry
                ? this.entry.getResource()
                : e.prototype.getResource.call(this)
            }),
            (t.prototype.getIcon = function() {
              return this.entry
                ? this.entry.getIcon()
                : e.prototype.getIcon.call(this)
            }),
            (t.prototype.getDescription = function() {
              return this.entry
                ? this.entry.getDescription()
                : e.prototype.getDescription.call(this)
            }),
            (t.prototype.getEntry = function() {
              return this.entry
            }),
            (t.prototype.getHighlights = function() {
              return this.entry
                ? this.entry.getHighlights()
                : e.prototype.getHighlights.call(this)
            }),
            (t.prototype.isHidden = function() {
              return this.entry
                ? this.entry.isHidden()
                : e.prototype.isHidden.call(this)
            }),
            (t.prototype.setHighlights = function(t, n, i) {
              this.entry
                ? this.entry.setHighlights(t, n, i)
                : e.prototype.setHighlights.call(this, t, n, i)
            }),
            (t.prototype.setHidden = function(t) {
              this.entry
                ? this.entry.setHidden(t)
                : e.prototype.setHidden.call(this, t)
            }),
            (t.prototype.run = function(t, n) {
              return this.entry
                ? this.entry.run(t, n)
                : e.prototype.run.call(this, t, n)
            }),
            t
          )
        })(_)
        t.QuickOpenEntryGroup = y
        var b = (function() {
            function e() {}
            return (
              (e.prototype.hasActions = function(e, t) {
                return !1
              }),
              (e.prototype.getActions = function(e, t) {
                return i.TPromise.as(null)
              }),
              (e.prototype.hasSecondaryActions = function(e, t) {
                return !1
              }),
              (e.prototype.getSecondaryActions = function(e, t) {
                return i.TPromise.as(null)
              }),
              (e.prototype.getActionItem = function(e, t, n) {
                return null
              }),
              e
            )
          })(),
          C = (function() {
            function e(e, t) {
              void 0 === e && (e = new b()),
                void 0 === t && (t = null),
                (this.actionProvider = e),
                (this.actionRunner = t)
            }
            return (
              (e.prototype.getHeight = function(e) {
                return e.getDetail() ? 44 : 22
              }),
              (e.prototype.getTemplateId = function(e) {
                return e instanceof y ? 'quickOpenEntryGroup' : 'quickOpenEntry'
              }),
              (e.prototype.renderTemplate = function(e, t, n) {
                var i = document.createElement('div')
                h.addClass(i, 'sub-content'), t.appendChild(i)
                var o = h.$('.row'),
                  r = h.$('.row'),
                  s = h.$('.quick-open-entry', null, o, r)
                i.appendChild(s)
                var a = document.createElement('span')
                o.appendChild(a)
                var l = new u.IconLabel(o, { supportHighlights: !0 }),
                  f = document.createElement('span')
                o.appendChild(f), h.addClass(f, 'quick-open-entry-description')
                var m = new d.HighlightedLabel(f),
                  v = document.createElement('span')
                o.appendChild(v), h.addClass(v, 'quick-open-entry-keybinding')
                var _ = new p.KeybindingLabel(v, g.OS),
                  y = document.createElement('div')
                r.appendChild(y), h.addClass(y, 'quick-open-entry-meta')
                var b,
                  C = new d.HighlightedLabel(y)
                'quickOpenEntryGroup' === e &&
                  ((b = document.createElement('div')),
                  h.addClass(b, 'results-group'),
                  t.appendChild(b)),
                  h.addClass(t, 'actions')
                var w = document.createElement('div')
                return (
                  h.addClass(w, 'primary-action-bar'),
                  t.appendChild(w),
                  {
                    container: t,
                    entry: s,
                    icon: a,
                    label: l,
                    detail: C,
                    description: m,
                    keybinding: _,
                    group: b,
                    actionBar: new c.ActionBar(w, {
                      actionRunner: this.actionRunner
                    })
                  }
                )
              }),
              (e.prototype.renderElement = function(e, t, n, i) {
                var o = n
                if (
                  (this.actionProvider.hasActions(null, e)
                    ? h.addClass(o.container, 'has-actions')
                    : h.removeClass(o.container, 'has-actions'),
                  (o.actionBar.context = e),
                  this.actionProvider.getActions(null, e).then(function(e) {
                    o.actionBar.isEmpty() && e && e.length > 0
                      ? o.actionBar.push(e, { icon: !0, label: !1 })
                      : o.actionBar.isEmpty() ||
                        (e && 0 !== e.length) ||
                        o.actionBar.clear()
                  }),
                  e instanceof y && e.getGroupLabel()
                    ? h.addClass(o.container, 'has-group-label')
                    : h.removeClass(o.container, 'has-group-label'),
                  e instanceof y)
                ) {
                  var r = e,
                    s = n
                  r.showBorder()
                    ? (h.addClass(s.container, 'results-group-separator'),
                      (s.container.style.borderTopColor = i.pickerGroupBorder.toString()))
                    : (h.removeClass(s.container, 'results-group-separator'),
                      (s.container.style.borderTopColor = null))
                  var a = r.getGroupLabel() || ''
                  ;(s.group.textContent = a),
                    (s.group.style.color = i.pickerGroupForeground.toString())
                }
                if (e instanceof _) {
                  var u = e.getHighlights(),
                    l = u[0],
                    c = u[1],
                    d = u[2],
                    p = e.getIcon()
                      ? 'quick-open-entry-icon ' + e.getIcon()
                      : ''
                  o.icon.className = p
                  var f = e.getLabelOptions() || Object.create(null)
                  ;(f.matches = l || []),
                    o.label.setValue(e.getLabel(), null, f),
                    o.detail.set(e.getDetail(), d),
                    o.description.set(e.getDescription(), c || []),
                    (o.description.element.title = e.getDescription()),
                    o.keybinding.set(e.getKeybinding(), null)
                }
              }),
              (e.prototype.disposeTemplate = function(e, t) {
                var n = t
                n.actionBar.dispose(),
                  (n.actionBar = null),
                  (n.container = null),
                  (n.entry = null),
                  n.description.dispose(),
                  (n.description = null),
                  n.keybinding.dispose(),
                  (n.keybinding = null),
                  n.detail.dispose(),
                  (n.detail = null),
                  (n.group = null),
                  (n.icon = null),
                  n.label.dispose(),
                  (n.label = null)
              }),
              e
            )
          })(),
          w = (function() {
            function e(e, t) {
              void 0 === e && (e = []),
                void 0 === t && (t = new b()),
                (this._entries = e),
                (this._dataSource = this),
                (this._renderer = new C(t)),
                (this._filter = this),
                (this._runner = this),
                (this._accessibilityProvider = this)
            }
            return (
              Object.defineProperty(e.prototype, 'entries', {
                get: function() {
                  return this._entries
                },
                set: function(e) {
                  this._entries = e
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(e.prototype, 'dataSource', {
                get: function() {
                  return this._dataSource
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(e.prototype, 'renderer', {
                get: function() {
                  return this._renderer
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(e.prototype, 'filter', {
                get: function() {
                  return this._filter
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(e.prototype, 'runner', {
                get: function() {
                  return this._runner
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(e.prototype, 'accessibilityProvider', {
                get: function() {
                  return this._accessibilityProvider
                },
                enumerable: !0,
                configurable: !0
              }),
              (e.prototype.addEntries = function(e) {
                o.isArray(e) && (this._entries = this._entries.concat(e))
              }),
              (e.prototype.setEntries = function(e) {
                o.isArray(e) && (this._entries = e)
              }),
              (e.prototype.getEntries = function(e) {
                return e
                  ? this._entries.filter(function(e) {
                      return !e.isHidden()
                    })
                  : this._entries
              }),
              (e.prototype.getId = function(e) {
                return e.getId()
              }),
              (e.prototype.getLabel = function(e) {
                return e.getLabel()
              }),
              (e.prototype.getAriaLabel = function(e) {
                return e.getAriaLabel()
                  ? n.localize(0, null, e.getAriaLabel())
                  : n.localize(1, null)
              }),
              (e.prototype.isVisible = function(e) {
                return !e.isHidden()
              }),
              (e.prototype.run = function(e, t, n) {
                return e.run(t, n)
              }),
              e
            )
          })()
        t.QuickOpenModel = w
      }),
      define(d[288], h([5, 7]), function(e, t) {
        return e.create('vs/base/parts/quickopen/browser/quickOpenWidget', t)
      }),
      define(d[289], h([5, 7]), function(e, t) {
        return e.create('vs/base/parts/tree/browser/treeDefaults', t)
      }),
      define(d[121], h([0, 1, 289, 8, 55, 15, 10, 6, 39]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var l
        !(function(e) {
          ;(e[(e.ON_MOUSE_DOWN = 0)] = 'ON_MOUSE_DOWN'),
            (e[(e.ON_MOUSE_UP = 1)] = 'ON_MOUSE_UP')
        })((l = t.ClickBehavior || (t.ClickBehavior = {})))
        var c = (function() {
          function e() {
            this._arr = []
          }
          return (
            (e.prototype.set = function(e, t) {
              this._arr.push({
                keybinding: u.createKeybinding(e, r.OS),
                callback: t
              })
            }),
            (e.prototype.dispatch = function(e) {
              for (var t = this._arr.length - 1; t >= 0; t--) {
                var n = this._arr[t]
                if (e.equals(n.keybinding)) return n.callback
              }
              return null
            }),
            e
          )
        })()
        t.KeybindingDispatcher = c
        var d = (function() {
          function e(e) {
            void 0 === e &&
              (e = { clickBehavior: l.ON_MOUSE_UP, keyboardSupport: !0 })
            var t = this
            ;(this.options = e),
              (this.downKeyBindingDispatcher = new c()),
              (this.upKeyBindingDispatcher = new c()),
              ('boolean' != typeof e.keyboardSupport || e.keyboardSupport) &&
                (this.downKeyBindingDispatcher.set(16, function(e, n) {
                  return t.onUp(e, n)
                }),
                this.downKeyBindingDispatcher.set(18, function(e, n) {
                  return t.onDown(e, n)
                }),
                this.downKeyBindingDispatcher.set(15, function(e, n) {
                  return t.onLeft(e, n)
                }),
                this.downKeyBindingDispatcher.set(17, function(e, n) {
                  return t.onRight(e, n)
                }),
                r.isMacintosh &&
                  (this.downKeyBindingDispatcher.set(2064, function(e, n) {
                    return t.onLeft(e, n)
                  }),
                  this.downKeyBindingDispatcher.set(300, function(e, n) {
                    return t.onDown(e, n)
                  }),
                  this.downKeyBindingDispatcher.set(302, function(e, n) {
                    return t.onUp(e, n)
                  })),
                this.downKeyBindingDispatcher.set(11, function(e, n) {
                  return t.onPageUp(e, n)
                }),
                this.downKeyBindingDispatcher.set(12, function(e, n) {
                  return t.onPageDown(e, n)
                }),
                this.downKeyBindingDispatcher.set(14, function(e, n) {
                  return t.onHome(e, n)
                }),
                this.downKeyBindingDispatcher.set(13, function(e, n) {
                  return t.onEnd(e, n)
                }),
                this.downKeyBindingDispatcher.set(10, function(e, n) {
                  return t.onSpace(e, n)
                }),
                this.downKeyBindingDispatcher.set(9, function(e, n) {
                  return t.onEscape(e, n)
                }),
                this.upKeyBindingDispatcher.set(3, this.onEnter.bind(this)),
                this.upKeyBindingDispatcher.set(2051, this.onEnter.bind(this)))
          }
          return (
            (e.prototype.onMouseDown = function(e, t, n, i) {
              if (
                (void 0 === i && (i = 'mouse'),
                this.options.clickBehavior === l.ON_MOUSE_DOWN &&
                  (n.leftButton || n.middleButton))
              ) {
                if (n.target) {
                  if (
                    n.target.tagName &&
                    'input' === n.target.tagName.toLowerCase()
                  )
                    return !1
                  if (
                    a.findParentWithClass(n.target, 'monaco-action-bar', 'row')
                  )
                    return !1
                }
                return this.onLeftClick(e, t, n, i)
              }
              return !1
            }),
            (e.prototype.onClick = function(e, t, n) {
              return r.isMacintosh && n.ctrlKey
                ? (n.preventDefault(), n.stopPropagation(), !1)
                : (!n.target ||
                    !n.target.tagName ||
                    'input' !== n.target.tagName.toLowerCase()) &&
                    ((this.options.clickBehavior !== l.ON_MOUSE_DOWN ||
                      (!n.leftButton && !n.middleButton)) &&
                      this.onLeftClick(e, t, n))
            }),
            (e.prototype.onLeftClick = function(e, t, n, i) {
              void 0 === i && (i = 'mouse')
              var o = { origin: i, originalEvent: n }
              return (
                e.getInput() === t
                  ? (e.clearFocus(o), e.clearSelection(o))
                  : ((n &&
                      n.browserEvent &&
                      'mousedown' === n.browserEvent.type) ||
                      n.preventDefault(),
                    n.stopPropagation(),
                    e.DOMFocus(),
                    e.setSelection([t], o),
                    e.setFocus(t, o),
                    e.isExpanded(t)
                      ? e.collapse(t).done(null, s.onUnexpectedError)
                      : e.expand(t).done(null, s.onUnexpectedError)),
                !0
              )
            }),
            (e.prototype.onContextMenu = function(e, t, n) {
              return (
                (!n.target ||
                  !n.target.tagName ||
                  'input' !== n.target.tagName.toLowerCase()) &&
                (n && (n.preventDefault(), n.stopPropagation()), !1)
              )
            }),
            (e.prototype.onTap = function(e, t, n) {
              var i = n.initialTarget
              return (
                (!i || !i.tagName || 'input' !== i.tagName.toLowerCase()) &&
                this.onLeftClick(e, t, n, 'touch')
              )
            }),
            (e.prototype.onKeyDown = function(e, t) {
              return this.onKey(this.downKeyBindingDispatcher, e, t)
            }),
            (e.prototype.onKeyUp = function(e, t) {
              return this.onKey(this.upKeyBindingDispatcher, e, t)
            }),
            (e.prototype.onKey = function(e, t, n) {
              var i = e.dispatch(n.toKeybinding())
              return (
                !(!i || !i(t, n)) &&
                (n.preventDefault(), n.stopPropagation(), !0)
              )
            }),
            (e.prototype.onUp = function(e, t) {
              var n = { origin: 'keyboard', originalEvent: t }
              return (
                e.getHighlight()
                  ? e.clearHighlight(n)
                  : (e.focusPrevious(1, n),
                    e.reveal(e.getFocus()).done(null, s.onUnexpectedError)),
                !0
              )
            }),
            (e.prototype.onPageUp = function(e, t) {
              var n = { origin: 'keyboard', originalEvent: t }
              return (
                e.getHighlight()
                  ? e.clearHighlight(n)
                  : (e.focusPreviousPage(n),
                    e.reveal(e.getFocus()).done(null, s.onUnexpectedError)),
                !0
              )
            }),
            (e.prototype.onDown = function(e, t) {
              var n = { origin: 'keyboard', originalEvent: t }
              return (
                e.getHighlight()
                  ? e.clearHighlight(n)
                  : (e.focusNext(1, n),
                    e.reveal(e.getFocus()).done(null, s.onUnexpectedError)),
                !0
              )
            }),
            (e.prototype.onPageDown = function(e, t) {
              var n = { origin: 'keyboard', originalEvent: t }
              return (
                e.getHighlight()
                  ? e.clearHighlight(n)
                  : (e.focusNextPage(n),
                    e.reveal(e.getFocus()).done(null, s.onUnexpectedError)),
                !0
              )
            }),
            (e.prototype.onHome = function(e, t) {
              var n = { origin: 'keyboard', originalEvent: t }
              return (
                e.getHighlight()
                  ? e.clearHighlight(n)
                  : (e.focusFirst(n),
                    e.reveal(e.getFocus()).done(null, s.onUnexpectedError)),
                !0
              )
            }),
            (e.prototype.onEnd = function(e, t) {
              var n = { origin: 'keyboard', originalEvent: t }
              return (
                e.getHighlight()
                  ? e.clearHighlight(n)
                  : (e.focusLast(n),
                    e.reveal(e.getFocus()).done(null, s.onUnexpectedError)),
                !0
              )
            }),
            (e.prototype.onLeft = function(e, t) {
              var n = { origin: 'keyboard', originalEvent: t }
              if (e.getHighlight()) e.clearHighlight(n)
              else {
                var i = e.getFocus()
                e.collapse(i)
                  .then(function(t) {
                    if (i && !t) return e.focusParent(n), e.reveal(e.getFocus())
                  })
                  .done(null, s.onUnexpectedError)
              }
              return !0
            }),
            (e.prototype.onRight = function(e, t) {
              var n = { origin: 'keyboard', originalEvent: t }
              if (e.getHighlight()) e.clearHighlight(n)
              else {
                var i = e.getFocus()
                e.expand(i)
                  .then(function(t) {
                    if (i && !t)
                      return e.focusFirstChild(n), e.reveal(e.getFocus())
                  })
                  .done(null, s.onUnexpectedError)
              }
              return !0
            }),
            (e.prototype.onEnter = function(e, t) {
              var n = { origin: 'keyboard', originalEvent: t }
              if (e.getHighlight()) return !1
              var i = e.getFocus()
              return i && e.setSelection([i], n), !0
            }),
            (e.prototype.onSpace = function(e, t) {
              if (e.getHighlight()) return !1
              var n = e.getFocus()
              return n && e.toggleExpansion(n), !0
            }),
            (e.prototype.onEscape = function(e, t) {
              var n = { origin: 'keyboard', originalEvent: t }
              return e.getHighlight()
                ? (e.clearHighlight(n), !0)
                : e.getSelection().length
                  ? (e.clearSelection(n), !0)
                  : !!e.getFocus() && (e.clearFocus(n), !0)
            }),
            e
          )
        })()
        t.DefaultController = d
        var h = (function() {
          function e() {}
          return (
            (e.prototype.getDragURI = function(e, t) {
              return null
            }),
            (e.prototype.onDragStart = function(e, t, n) {}),
            (e.prototype.onDragOver = function(e, t, n, i) {
              return null
            }),
            (e.prototype.drop = function(e, t, n, i) {}),
            e
          )
        })()
        t.DefaultDragAndDrop = h
        var p = (function() {
          function e() {}
          return (
            (e.prototype.isVisible = function(e, t) {
              return !0
            }),
            e
          )
        })()
        t.DefaultFilter = p
        var g = (function() {
          function e() {}
          return (
            (e.prototype.compare = function(e, t, n) {
              return 0
            }),
            e
          )
        })()
        t.DefaultSorter = g
        var m = (function() {
          function e() {}
          return (
            (e.prototype.getAriaLabel = function(e, t) {
              return null
            }),
            e
          )
        })()
        t.DefaultAccessibilityProvider = m
        var v = (function(e) {
          function t(t, i) {
            var o =
              e.call(
                this,
                'vs.tree.collapse',
                n.localize(0, null),
                'monaco-tree-action collapse-all',
                i
              ) || this
            return (o.viewer = t), o
          }
          return (
            f(t, e),
            (t.prototype.run = function(e) {
              return this.viewer.getHighlight()
                ? i.TPromise.as(null)
                : (this.viewer.collapseAll(),
                  this.viewer.clearSelection(),
                  this.viewer.clearFocus(),
                  this.viewer.DOMFocus(),
                  this.viewer.focusFirst(),
                  i.TPromise.as(null))
            }),
            t
          )
        })(o.Action)
        t.CollapseAllAction = v
      }),
      define(d[189], h([
        0,
        1,
        121,
        38,
        447,
        394,
        107,
        11,
        3,
        34,
        28,
        389
      ]), function(e, t, n, i, o, r, s, a, u, l, c) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var d = (function() {
          return function(e, t, i) {
            if (
              (void 0 === i && (i = {}),
              (this.tree = e),
              (this.configuration = t),
              (this.options = i),
              !t.dataSource)
            )
              throw new Error('You must provide a Data Source to the tree.')
            ;(this.dataSource = t.dataSource),
              (this.renderer = t.renderer),
              (this.controller =
                t.controller ||
                new n.DefaultController({
                  clickBehavior: n.ClickBehavior.ON_MOUSE_UP,
                  keyboardSupport:
                    'boolean' != typeof i.keyboardSupport || i.keyboardSupport
                })),
              (this.dnd = t.dnd || new n.DefaultDragAndDrop()),
              (this.filter = t.filter || new n.DefaultFilter()),
              (this.sorter = t.sorter || null),
              (this.accessibilityProvider =
                t.accessibilityProvider || new n.DefaultAccessibilityProvider())
          }
        })()
        t.TreeContext = d
        var h = {
            listFocusBackground: l.Color.fromHex('#073655'),
            listActiveSelectionBackground: l.Color.fromHex('#0E639C'),
            listActiveSelectionForeground: l.Color.fromHex('#FFFFFF'),
            listFocusAndSelectionBackground: l.Color.fromHex('#094771'),
            listFocusAndSelectionForeground: l.Color.fromHex('#FFFFFF'),
            listInactiveSelectionBackground: l.Color.fromHex('#3F3F46'),
            listHoverBackground: l.Color.fromHex('#2A2D2E'),
            listDropBackground: l.Color.fromHex('#383B3D')
          },
          p = (function(e) {
            function t(t, n, i) {
              void 0 === i && (i = {})
              var s = e.call(this) || this
              return (
                (s.toDispose = []),
                (s._onDispose = new a.Emitter()),
                (s._onHighlightChange = new a.Emitter()),
                s.toDispose.push(s._onDispose, s._onHighlightChange),
                (s.container = t),
                (s.configuration = n),
                (s.options = i),
                c.mixin(s.options, h, !1),
                (s.options.twistiePixels =
                  'number' == typeof s.options.twistiePixels
                    ? s.options.twistiePixels
                    : 32),
                (s.options.showTwistie = !1 !== s.options.showTwistie),
                (s.options.indentPixels =
                  'number' == typeof s.options.indentPixels
                    ? s.options.indentPixels
                    : 12),
                (s.options.alwaysFocused = !0 === s.options.alwaysFocused),
                (s.options.useShadows = !1 !== s.options.useShadows),
                (s.options.paddingOnRow = !1 !== s.options.paddingOnRow),
                (s.context = new d(s, n, i)),
                (s.model = new o.TreeModel(s.context)),
                (s.view = new r.TreeView(s.context, s.container)),
                s.view.setModel(s.model),
                s.addEmitter(s.model),
                s.addEmitter(s.view),
                s.toDispose.push(
                  s.model.addListener('highlight', function() {
                    return s._onHighlightChange.fire()
                  })
                ),
                s
              )
            }
            return (
              f(t, e),
              (t.prototype.style = function(e) {
                this.view.applyStyles(e)
              }),
              Object.defineProperty(t.prototype, 'onDOMFocus', {
                get: function() {
                  return this.view && this.view.onDOMFocus
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(t.prototype, 'onDOMBlur', {
                get: function() {
                  return this.view && this.view.onDOMBlur
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(t.prototype, 'onHighlightChange', {
                get: function() {
                  return (
                    this._onHighlightChange && this._onHighlightChange.event
                  )
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(t.prototype, 'onDispose', {
                get: function() {
                  return this._onDispose && this._onDispose.event
                },
                enumerable: !0,
                configurable: !0
              }),
              (t.prototype.getHTMLElement = function() {
                return this.view.getHTMLElement()
              }),
              (t.prototype.layout = function(e) {
                this.view.layout(e)
              }),
              (t.prototype.DOMFocus = function() {
                this.view.focus()
              }),
              (t.prototype.isDOMFocused = function() {
                return this.view.isFocused()
              }),
              (t.prototype.DOMBlur = function() {
                this.view.blur()
              }),
              (t.prototype.onVisible = function() {
                this.view.onVisible()
              }),
              (t.prototype.onHidden = function() {
                this.view.onHidden()
              }),
              (t.prototype.setInput = function(e) {
                return this.model.setInput(e)
              }),
              (t.prototype.getInput = function() {
                return this.model.getInput()
              }),
              (t.prototype.refresh = function(e, t) {
                return (
                  void 0 === e && (e = null),
                  void 0 === t && (t = !0),
                  this.model.refresh(e, t)
                )
              }),
              (t.prototype.expand = function(e) {
                return this.model.expand(e)
              }),
              (t.prototype.expandAll = function(e) {
                return this.model.expandAll(e)
              }),
              (t.prototype.collapse = function(e, t) {
                return void 0 === t && (t = !1), this.model.collapse(e, t)
              }),
              (t.prototype.collapseAll = function(e, t) {
                return (
                  void 0 === e && (e = null),
                  void 0 === t && (t = !1),
                  this.model.collapseAll(e, t)
                )
              }),
              (t.prototype.toggleExpansion = function(e) {
                return this.model.toggleExpansion(e)
              }),
              (t.prototype.toggleExpansionAll = function(e) {
                return this.model.toggleExpansionAll(e)
              }),
              (t.prototype.isExpanded = function(e) {
                return this.model.isExpanded(e)
              }),
              (t.prototype.getExpandedElements = function() {
                return this.model.getExpandedElements()
              }),
              (t.prototype.reveal = function(e, t) {
                return void 0 === t && (t = null), this.model.reveal(e, t)
              }),
              (t.prototype.getRelativeTop = function(e) {
                var t = this.model.getItem(e)
                return this.view.getRelativeTop(t)
              }),
              (t.prototype.getScrollPosition = function() {
                return this.view.getScrollPosition()
              }),
              (t.prototype.setScrollPosition = function(e) {
                this.view.setScrollPosition(e)
              }),
              (t.prototype.getContentHeight = function() {
                return this.view.getTotalHeight()
              }),
              (t.prototype.setHighlight = function(e, t) {
                this.model.setHighlight(e, t)
              }),
              (t.prototype.getHighlight = function() {
                return this.model.getHighlight()
              }),
              (t.prototype.isHighlighted = function(e) {
                return this.model.isFocused(e)
              }),
              (t.prototype.clearHighlight = function(e) {
                this.model.setHighlight(null, e)
              }),
              (t.prototype.select = function(e, t) {
                this.model.select(e, t)
              }),
              (t.prototype.selectRange = function(e, t, n) {
                this.model.selectRange(e, t, n)
              }),
              (t.prototype.deselectRange = function(e, t, n) {
                this.model.deselectRange(e, t, n)
              }),
              (t.prototype.selectAll = function(e, t) {
                this.model.selectAll(e, t)
              }),
              (t.prototype.deselect = function(e, t) {
                this.model.deselect(e, t)
              }),
              (t.prototype.deselectAll = function(e, t) {
                this.model.deselectAll(e, t)
              }),
              (t.prototype.setSelection = function(e, t) {
                this.model.setSelection(e, t)
              }),
              (t.prototype.toggleSelection = function(e, t) {
                this.model.toggleSelection(e, t)
              }),
              (t.prototype.isSelected = function(e) {
                return this.model.isSelected(e)
              }),
              (t.prototype.getSelection = function() {
                return this.model.getSelection()
              }),
              (t.prototype.clearSelection = function(e) {
                this.model.setSelection([], e)
              }),
              (t.prototype.selectNext = function(e, t, n) {
                this.model.selectNext(e, t, n)
              }),
              (t.prototype.selectPrevious = function(e, t, n) {
                this.model.selectPrevious(e, t, n)
              }),
              (t.prototype.selectParent = function(e, t) {
                this.model.selectParent(e, t)
              }),
              (t.prototype.setFocus = function(e, t) {
                this.model.setFocus(e, t)
              }),
              (t.prototype.isFocused = function(e) {
                return this.model.isFocused(e)
              }),
              (t.prototype.getFocus = function() {
                return this.model.getFocus()
              }),
              (t.prototype.focusNext = function(e, t) {
                this.model.focusNext(e, t)
              }),
              (t.prototype.focusPrevious = function(e, t) {
                this.model.focusPrevious(e, t)
              }),
              (t.prototype.focusParent = function(e) {
                this.model.focusParent(e)
              }),
              (t.prototype.focusFirstChild = function(e) {
                this.model.focusFirstChild(e)
              }),
              (t.prototype.focusFirst = function(e, t) {
                this.model.focusFirst(e, t)
              }),
              (t.prototype.focusNth = function(e, t) {
                this.model.focusNth(e, t)
              }),
              (t.prototype.focusLast = function(e, t) {
                this.model.focusLast(e, t)
              }),
              (t.prototype.focusNextPage = function(e) {
                this.view.focusNextPage(e)
              }),
              (t.prototype.focusPreviousPage = function(e) {
                this.view.focusPreviousPage(e)
              }),
              (t.prototype.clearFocus = function(e) {
                this.model.setFocus(null, e)
              }),
              (t.prototype.addTraits = function(e, t) {
                this.model.addTraits(e, t)
              }),
              (t.prototype.removeTraits = function(e, t) {
                this.model.removeTraits(e, t)
              }),
              (t.prototype.toggleTrait = function(e, t) {
                this.model.hasTrait(e, t)
                  ? this.model.removeTraits(e, [t])
                  : this.model.addTraits(e, [t])
              }),
              (t.prototype.hasTrait = function(e, t) {
                return this.model.hasTrait(e, t)
              }),
              (t.prototype.getNavigator = function(e, t) {
                return new s.MappedNavigator(
                  this.model.getNavigator(e, t),
                  function(e) {
                    return e && e.getElement()
                  }
                )
              }),
              (t.prototype.dispose = function() {
                this._onDispose.fire(),
                  null !== this.model &&
                    (this.model.dispose(), (this.model = null)),
                  null !== this.view &&
                    (this.view.dispose(), (this.view = null)),
                  (this.toDispose = u.dispose(this.toDispose)),
                  e.prototype.dispose.call(this)
              }),
              t
            )
          })(i.EventEmitter)
        t.Tree = p
      }),
      define(d[292], h([
        0,
        1,
        288,
        8,
        15,
        81,
        29,
        10,
        93,
        462,
        50,
        119,
        40,
        189,
        402,
        64,
        121,
        6,
        3,
        51,
        34,
        28,
        390
      ]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c,
        d,
        h,
        p,
        g,
        m,
        v,
        _,
        y,
        b,
        C,
        w
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var S = (function(e) {
          function t() {
            return (null !== e && e.apply(this, arguments)) || this
          }
          return (
            f(t, e),
            (t.prototype.onContextMenu = function(t, n, i) {
              return o.isMacintosh
                ? this.onLeftClick(t, n, i)
                : e.prototype.onContextMenu.call(this, t, n, i)
            }),
            t
          )
        })(v.DefaultController)
        t.QuickOpenController = S
        var E
        !(function(e) {
          ;(e[(e.ELEMENT_SELECTED = 0)] = 'ELEMENT_SELECTED'),
            (e[(e.FOCUS_LOST = 1)] = 'FOCUS_LOST'),
            (e[(e.CANCELED = 2)] = 'CANCELED')
        })((E = t.HideReason || (t.HideReason = {})))
        var L = {
            background: C.Color.fromHex('#1E1E1E'),
            foreground: C.Color.fromHex('#CCCCCC'),
            pickerGroupForeground: C.Color.fromHex('#0097FB'),
            pickerGroupBorder: C.Color.fromHex('#3F3F46'),
            widgetShadow: C.Color.fromHex('#000000'),
            progressBarBackground: C.Color.fromHex('#0E70C0')
          },
          x = n.localize(0, null),
          N = (function() {
            function e(e, t, n, i) {
              ;(this.isDisposed = !1),
                (this.toUnbind = []),
                (this.container = e),
                (this.callbacks = t),
                (this.options = n),
                (this.styles = n || Object.create(null)),
                w.mixin(this.styles, L, !1),
                (this.usageLogger = i),
                (this.model = null)
            }
            return (
              (e.prototype.getElement = function() {
                return c.$(this.builder)
              }),
              (e.prototype.getModel = function() {
                return this.model
              }),
              (e.prototype.setCallbacks = function(e) {
                this.callbacks = e
              }),
              (e.prototype.create = function() {
                var e = this
                return (
                  (this.builder = c
                    .$()
                    .div(function(t) {
                      t
                        .on(_.EventType.KEY_DOWN, function(t) {
                          9 === new m.StandardKeyboardEvent(t).keyCode &&
                            (_.EventHelper.stop(t, !0), e.hide(E.CANCELED))
                        })
                        .on(_.EventType.CONTEXT_MENU, function(e) {
                          return _.EventHelper.stop(e, !0)
                        })
                        .on(
                          _.EventType.FOCUS,
                          function(t) {
                            return e.gainingFocus()
                          },
                          null,
                          !0
                        )
                        .on(
                          _.EventType.BLUR,
                          function(t) {
                            return e.loosingFocus(t)
                          },
                          null,
                          !0
                        ),
                        (e.progressBar = new g.ProgressBar(t.clone(), {
                          progressBarBackground: e.styles.progressBarBackground
                        })),
                        e.progressBar.getContainer().hide(),
                        t.div({ class: 'quick-open-input' }, function(t) {
                          ;(e.inputContainer = t),
                            (e.inputBox = new d.InputBox(
                              t.getHTMLElement(),
                              null,
                              {
                                placeholder: e.options.inputPlaceHolder || '',
                                ariaLabel: x,
                                inputBackground: e.styles.inputBackground,
                                inputForeground: e.styles.inputForeground,
                                inputBorder: e.styles.inputBorder,
                                inputValidationInfoBackground:
                                  e.styles.inputValidationInfoBackground,
                                inputValidationInfoBorder:
                                  e.styles.inputValidationInfoBorder,
                                inputValidationWarningBackground:
                                  e.styles.inputValidationWarningBackground,
                                inputValidationWarningBorder:
                                  e.styles.inputValidationWarningBorder,
                                inputValidationErrorBackground:
                                  e.styles.inputValidationErrorBackground,
                                inputValidationErrorBorder:
                                  e.styles.inputValidationErrorBorder
                              }
                            )),
                            (e.inputElement = e.inputBox.inputElement),
                            e.inputElement.setAttribute('role', 'combobox'),
                            e.inputElement.setAttribute(
                              'aria-haspopup',
                              'false'
                            ),
                            e.inputElement.setAttribute(
                              'aria-autocomplete',
                              'list'
                            ),
                            _.addDisposableListener(
                              e.inputBox.inputElement,
                              _.EventType.KEY_DOWN,
                              function(t) {
                                var n = new m.StandardKeyboardEvent(t),
                                  i = e.shouldOpenInBackground(n)
                                if (2 !== n.keyCode)
                                  if (
                                    18 === n.keyCode ||
                                    16 === n.keyCode ||
                                    12 === n.keyCode ||
                                    11 === n.keyCode
                                  )
                                    _.EventHelper.stop(t, !0),
                                      e.navigateInTree(n.keyCode, n.shiftKey),
                                      e.inputBox.inputElement.selectionStart ===
                                        e.inputBox.inputElement.selectionEnd &&
                                        (e.inputBox.inputElement.selectionStart =
                                          e.inputBox.value.length)
                                  else if (3 === n.keyCode || i) {
                                    _.EventHelper.stop(t, !0)
                                    var o = e.tree.getFocus()
                                    o &&
                                      e.elementSelected(
                                        o,
                                        t,
                                        i
                                          ? u.Mode.OPEN_IN_BACKGROUND
                                          : u.Mode.OPEN
                                      )
                                  }
                              }
                            ),
                            _.addDisposableListener(
                              e.inputBox.inputElement,
                              _.EventType.INPUT,
                              function(t) {
                                e.onType()
                              }
                            )
                        }),
                        (e.treeContainer = t
                          .div({ class: 'quick-open-tree' }, function(t) {
                            ;(e.tree = new p.Tree(
                              t.getHTMLElement(),
                              {
                                dataSource: new l.DataSource(e),
                                controller: new S({
                                  clickBehavior: v.ClickBehavior.ON_MOUSE_UP,
                                  keyboardSupport: e.options.keyboardSupport
                                }),
                                renderer: (e.renderer = new l.Renderer(
                                  e,
                                  e.styles
                                )),
                                filter: new l.Filter(e),
                                accessibilityProvider: new l.AccessibilityProvider(
                                  e
                                )
                              },
                              {
                                twistiePixels: 11,
                                indentPixels: 0,
                                alwaysFocused: !0,
                                verticalScrollMode:
                                  b.ScrollbarVisibility.Visible,
                                ariaLabel: n.localize(1, null),
                                keyboardSupport: e.options.keyboardSupport
                              }
                            )),
                              (e.treeElement = e.tree.getHTMLElement()),
                              e.toUnbind.push(
                                e.tree.addListener(r.EventType.FOCUS, function(
                                  t
                                ) {
                                  e.elementFocused(t.focus, t)
                                })
                              ),
                              e.toUnbind.push(
                                e.tree.addListener(
                                  r.EventType.SELECTION,
                                  function(t) {
                                    t.selection &&
                                      t.selection.length > 0 &&
                                      e.elementSelected(t.selection[0], t)
                                  }
                                )
                              )
                          })
                          .on(_.EventType.KEY_DOWN, function(t) {
                            var n = new m.StandardKeyboardEvent(t)
                            e.quickNavigateConfiguration &&
                              ((18 !== n.keyCode &&
                                16 !== n.keyCode &&
                                12 !== n.keyCode &&
                                11 !== n.keyCode) ||
                                (_.EventHelper.stop(t, !0),
                                e.navigateInTree(n.keyCode)))
                          })
                          .on(_.EventType.KEY_UP, function(t) {
                            var n = new m.StandardKeyboardEvent(t),
                              i = n.keyCode
                            if (e.quickNavigateConfiguration) {
                              var o = e.quickNavigateConfiguration.keybindings
                              if (
                                3 === i ||
                                o.some(function(e) {
                                  var t = e.getParts(),
                                    o = t[0]
                                  return (
                                    !t[1] &&
                                    (o.shiftKey && 4 === i
                                      ? !(n.ctrlKey || n.altKey || n.metaKey)
                                      : !(!o.altKey || 6 !== i) ||
                                        (!(!o.ctrlKey || 5 !== i) ||
                                          !(!o.metaKey || 57 !== i)))
                                  )
                                })
                              ) {
                                var r = e.tree.getFocus()
                                r && e.elementSelected(r, t)
                              }
                            }
                          })
                          .clone())
                    })
                    .addClass('quick-open-widget')
                    .build(this.container)),
                  this.layoutDimensions && this.layout(this.layoutDimensions),
                  this.applyStyles(),
                  this.builder.getHTMLElement()
                )
              }),
              (e.prototype.style = function(e) {
                ;(this.styles = e), this.applyStyles()
              }),
              (e.prototype.applyStyles = function() {
                if (this.builder) {
                  var e = this.styles.foreground
                      ? this.styles.foreground.toString()
                      : null,
                    t = this.styles.background
                      ? this.styles.background.toString()
                      : null,
                    n = this.styles.borderColor
                      ? this.styles.borderColor.toString()
                      : null,
                    i = this.styles.widgetShadow
                      ? this.styles.widgetShadow.toString()
                      : null
                  this.builder.style('color', e),
                    this.builder.style('background-color', t),
                    this.builder.style('border-color', n),
                    this.builder.style('border-width', n ? '1px' : null),
                    this.builder.style('border-style', n ? 'solid' : null),
                    this.builder.style(
                      'box-shadow',
                      i ? '0 5px 8px ' + i : null
                    )
                }
                this.progressBar &&
                  this.progressBar.style({
                    progressBarBackground: this.styles.progressBarBackground
                  }),
                  this.inputBox &&
                    this.inputBox.style({
                      inputBackground: this.styles.inputBackground,
                      inputForeground: this.styles.inputForeground,
                      inputBorder: this.styles.inputBorder,
                      inputValidationInfoBackground: this.styles
                        .inputValidationInfoBackground,
                      inputValidationInfoBorder: this.styles
                        .inputValidationInfoBorder,
                      inputValidationWarningBackground: this.styles
                        .inputValidationWarningBackground,
                      inputValidationWarningBorder: this.styles
                        .inputValidationWarningBorder,
                      inputValidationErrorBackground: this.styles
                        .inputValidationErrorBackground,
                      inputValidationErrorBorder: this.styles
                        .inputValidationErrorBorder
                    }),
                  this.tree && this.tree.style(this.styles),
                  this.renderer && this.renderer.updateStyles(this.styles)
              }),
              (e.prototype.shouldOpenInBackground = function(e) {
                return (
                  17 === e.keyCode &&
                  (!(e.metaKey || e.ctrlKey || e.shiftKey || e.altKey) &&
                    this.inputBox.inputElement.selectionEnd ===
                      this.inputBox.value.length)
                )
              }),
              (e.prototype.onType = function() {
                var e = this.inputBox.value
                this.helpText &&
                  (e ? this.helpText.hide() : this.helpText.show()),
                  this.callbacks.onType(e)
              }),
              (e.prototype.navigate = function(e, t) {
                this.isVisible() &&
                  (!this.quickNavigateConfiguration &&
                    t &&
                    ((this.quickNavigateConfiguration = t),
                    this.tree.DOMFocus()),
                  this.navigateInTree(e ? 18 : 16))
              }),
              (e.prototype.navigateInTree = function(e, t) {
                var n = this.tree.getInput(),
                  i = n ? n.entries : [],
                  o = this.tree.getFocus()
                switch (e) {
                  case 18:
                    this.tree.focusNext()
                    break
                  case 16:
                    this.tree.focusPrevious()
                    break
                  case 12:
                    this.tree.focusNextPage()
                    break
                  case 11:
                    this.tree.focusPreviousPage()
                    break
                  case 2:
                    t ? this.tree.focusPrevious() : this.tree.focusNext()
                }
                var r = this.tree.getFocus()
                i.length > 1 &&
                  o === r &&
                  (16 === e || (2 === e && t)
                    ? this.tree.focusLast()
                    : (18 === e || (2 === e && !t)) && this.tree.focusFirst()),
                  (r = this.tree.getFocus()) &&
                    this.tree.reveal(r).done(null, a.onUnexpectedError)
              }),
              (e.prototype.elementFocused = function(e, t) {
                if (e && this.isVisible()) {
                  this.inputElement.setAttribute(
                    'aria-activedescendant',
                    this.treeElement.getAttribute('aria-activedescendant')
                  )
                  var n = {
                    event: t,
                    keymods: this.extractKeyMods(t),
                    quickNavigateConfiguration: this.quickNavigateConfiguration
                  }
                  this.model.runner.run(e, u.Mode.PREVIEW, n)
                }
              }),
              (e.prototype.elementSelected = function(e, t, n) {
                var i = !0
                if (this.isVisible()) {
                  var o = n || u.Mode.OPEN,
                    r = {
                      event: t,
                      keymods: this.extractKeyMods(t),
                      quickNavigateConfiguration: this
                        .quickNavigateConfiguration
                    }
                  i = this.model.runner.run(e, o, r)
                }
                if (this.usageLogger) {
                  var s = this.model.entries.indexOf(e),
                    a = this.model.entries.length
                  this.usageLogger.publicLog('quickOpenWidgetItemAccepted', {
                    index: s,
                    count: a,
                    isQuickNavigate: !!this.quickNavigateConfiguration
                  })
                }
                i && this.hide(E.ELEMENT_SELECTED)
              }),
              (e.prototype.extractKeyMods = function(e) {
                return e &&
                  (e.ctrlKey ||
                    e.metaKey ||
                    (e.payload &&
                      e.payload.originalEvent &&
                      (e.payload.originalEvent.ctrlKey ||
                        e.payload.originalEvent.metaKey)))
                  ? [2048]
                  : []
              }),
              (e.prototype.show = function(e, t) {
                ;(this.visible = !0),
                  (this.isLoosingFocus = !1),
                  (this.quickNavigateConfiguration = t
                    ? t.quickNavigateConfiguration
                    : void 0),
                  this.quickNavigateConfiguration
                    ? (this.inputContainer.hide(),
                      this.builder.show(),
                      this.tree.DOMFocus())
                    : (this.inputContainer.show(),
                      this.builder.show(),
                      this.inputBox.focus()),
                  this.helpText &&
                    (this.quickNavigateConfiguration || s.isString(e)
                      ? this.helpText.hide()
                      : this.helpText.show()),
                  s.isString(e)
                    ? this.doShowWithPrefix(e)
                    : this.doShowWithInput(
                        e,
                        t && t.autoFocus ? t.autoFocus : {}
                      ),
                  t &&
                    t.inputSelection &&
                    !this.quickNavigateConfiguration &&
                    this.inputBox.select(t.inputSelection),
                  this.callbacks.onShow && this.callbacks.onShow()
              }),
              (e.prototype.doShowWithPrefix = function(e) {
                ;(this.inputBox.value = e), this.callbacks.onType(e)
              }),
              (e.prototype.doShowWithInput = function(e, t) {
                this.setInput(e, t)
              }),
              (e.prototype.setInputAndLayout = function(e, t) {
                var n = this
                this.treeContainer.style({ height: this.getHeight(e) + 'px' }),
                  this.tree
                    .setInput(null)
                    .then(function() {
                      return (
                        (n.model = e),
                        n.inputElement.setAttribute(
                          'aria-haspopup',
                          String(e && e.entries && e.entries.length > 0)
                        ),
                        n.tree.setInput(e)
                      )
                    })
                    .done(function() {
                      n.tree.layout(),
                        e &&
                          e.entries.some(function(t) {
                            return n.isElementVisible(e, t)
                          }) &&
                          n.autoFocus(e, t)
                    }, a.onUnexpectedError)
              }),
              (e.prototype.isElementVisible = function(e, t) {
                return !e.filter || e.filter.isVisible(t)
              }),
              (e.prototype.autoFocus = function(e, t) {
                var n = this
                void 0 === t && (t = {})
                var i = e.entries.filter(function(t) {
                  return n.isElementVisible(e, t)
                })
                if (t.autoFocusPrefixMatch) {
                  for (
                    var o = void 0,
                      r = void 0,
                      s = t.autoFocusPrefixMatch,
                      u = s.toLowerCase(),
                      l = 0;
                    l < i.length;
                    l++
                  ) {
                    var c = i[l],
                      d = e.dataSource.getLabel(c)
                    if (
                      (o || 0 !== d.indexOf(s)
                        ? r || 0 !== d.toLowerCase().indexOf(u) || (r = c)
                        : (o = c),
                      o && r)
                    )
                      break
                  }
                  var h = o || r
                  if (h)
                    return (
                      this.tree.setFocus(h),
                      void this.tree
                        .reveal(h, 0.5)
                        .done(null, a.onUnexpectedError)
                    )
                }
                t.autoFocusFirstEntry
                  ? (this.tree.focusFirst(),
                    this.tree
                      .reveal(this.tree.getFocus())
                      .done(null, a.onUnexpectedError))
                  : 'number' == typeof t.autoFocusIndex
                    ? i.length > t.autoFocusIndex &&
                      (this.tree.focusNth(t.autoFocusIndex),
                      this.tree
                        .reveal(this.tree.getFocus())
                        .done(null, a.onUnexpectedError))
                    : t.autoFocusSecondEntry
                      ? i.length > 1 && this.tree.focusNth(1)
                      : t.autoFocusLastEntry &&
                        i.length > 1 &&
                        this.tree.focusLast()
              }),
              (e.prototype.refresh = function(e, t) {
                var n = this
                this.isVisible() &&
                  (this.treeContainer.style({
                    height: this.getHeight(e) + 'px'
                  }),
                  this.tree.refresh().done(function() {
                    n.tree.layout(),
                      t &&
                        e &&
                        e.entries.some(function(t) {
                          return n.isElementVisible(e, t)
                        }) &&
                        n.autoFocus(e, t)
                  }, a.onUnexpectedError))
              }),
              (e.prototype.getHeight = function(t) {
                var n = this,
                  i = t.renderer
                if (!t) {
                  var o = i.getHeight(null)
                  return this.options.minItemsToShow
                    ? this.options.minItemsToShow * o
                    : 0
                }
                var r,
                  s = 0
                this.layoutDimensions &&
                  this.layoutDimensions.height &&
                  (r = 0.4 * (this.layoutDimensions.height - 50)),
                  (!r || r > e.MAX_ITEMS_HEIGHT) && (r = e.MAX_ITEMS_HEIGHT)
                for (
                  var a = t.entries.filter(function(e) {
                      return n.isElementVisible(t, e)
                    }),
                    u = this.options.maxItemsToShow || a.length,
                    l = 0;
                  l < u && l < a.length;
                  l++
                ) {
                  var c = i.getHeight(a[l])
                  if (!(s + c <= r)) break
                  s += c
                }
                return s
              }),
              (e.prototype.hide = function(e) {
                var t = this
                if (this.isVisible()) {
                  if (
                    ((this.visible = !1),
                    this.builder.hide(),
                    this.builder.domBlur(),
                    e === E.CANCELED && this.model)
                  ) {
                    var n = this.model.entries.filter(function(e) {
                      return t.isElementVisible(t.model, e)
                    }).length
                    this.usageLogger &&
                      this.usageLogger.publicLog('quickOpenWidgetCancelled', {
                        count: n,
                        isQuickNavigate: !!this.quickNavigateConfiguration
                      })
                  }
                  ;(this.inputBox.value = ''),
                    this.tree.setInput(null),
                    this.inputElement.setAttribute('aria-haspopup', 'false'),
                    this.treeContainer.style({
                      height:
                        (this.options.minItemsToShow
                          ? 22 * this.options.minItemsToShow
                          : 0) + 'px'
                    }),
                    this.progressBar
                      .stop()
                      .getContainer()
                      .hide(),
                    this.tree.isDOMFocused()
                      ? this.tree.DOMBlur()
                      : this.inputBox.hasFocus() && this.inputBox.blur(),
                    e === E.ELEMENT_SELECTED
                      ? this.callbacks.onOk()
                      : this.callbacks.onCancel(),
                    this.callbacks.onHide && this.callbacks.onHide(e)
                }
              }),
              (e.prototype.getQuickNavigateConfiguration = function() {
                return this.quickNavigateConfiguration
              }),
              (e.prototype.setPlaceHolder = function(e) {
                this.inputBox && this.inputBox.setPlaceHolder(e)
              }),
              (e.prototype.setValue = function(e, t) {
                if (this.inputBox)
                  if (((this.inputBox.value = e), Array.isArray(t))) {
                    var n = t[0],
                      i = t[1]
                    this.inputBox.select({ start: n, end: i })
                  } else this.inputBox.select()
              }),
              (e.prototype.setPassword = function(e) {
                this.inputBox &&
                  (this.inputBox.inputElement.type = e ? 'password' : 'text')
              }),
              (e.prototype.setInput = function(e, t, n) {
                this.isVisible() &&
                  (this.getInput() && this.onInputChanging(),
                  this.setInputAndLayout(e, t),
                  this.inputBox && this.inputBox.setAriaLabel(n || x))
              }),
              (e.prototype.onInputChanging = function() {
                var e = this
                this.inputChangingTimeoutHandle &&
                  (clearTimeout(this.inputChangingTimeoutHandle),
                  (this.inputChangingTimeoutHandle = null)),
                  this.builder.addClass('content-changing'),
                  (this.inputChangingTimeoutHandle = setTimeout(function() {
                    e.builder.removeClass('content-changing')
                  }, 500))
              }),
              (e.prototype.getInput = function() {
                return this.tree.getInput()
              }),
              (e.prototype.getTree = function() {
                return this.tree
              }),
              (e.prototype.showInputDecoration = function(e) {
                this.inputBox &&
                  this.inputBox.showMessage({
                    type:
                      e === h.default.Info
                        ? d.MessageType.INFO
                        : e === h.default.Warning
                          ? d.MessageType.WARNING
                          : d.MessageType.ERROR,
                    content: ''
                  })
              }),
              (e.prototype.clearInputDecoration = function() {
                this.inputBox && this.inputBox.hideMessage()
              }),
              (e.prototype.focus = function() {
                this.isVisible() && this.inputBox && this.inputBox.focus()
              }),
              (e.prototype.accept = function() {
                if (this.isVisible()) {
                  var e = this.tree.getFocus()
                  e && this.elementSelected(e)
                }
              }),
              (e.prototype.getProgressBar = function() {
                return this.progressBar
              }),
              (e.prototype.getInputBox = function() {
                return this.inputBox
              }),
              (e.prototype.setExtraClass = function(e) {
                var t = this.builder.getProperty('extra-class')
                t && this.builder.removeClass(t),
                  e
                    ? (this.builder.addClass(e),
                      this.builder.setProperty('extra-class', e))
                    : t && this.builder.removeProperty('extra-class')
              }),
              (e.prototype.isVisible = function() {
                return this.visible
              }),
              (e.prototype.layout = function(t) {
                this.layoutDimensions = t
                var n = Math.min(
                  0.62 * this.layoutDimensions.width,
                  e.MAX_WIDTH
                )
                this.builder &&
                  (this.builder.style({
                    width: n + 'px',
                    marginLeft: '-' + n / 2 + 'px'
                  }),
                  this.inputContainer.style({ width: n - 12 + 'px' }))
              }),
              (e.prototype.gainingFocus = function() {
                this.isLoosingFocus = !1
              }),
              (e.prototype.loosingFocus = function(e) {
                var t = this
                if (this.isVisible()) {
                  var n = e.relatedTarget
                  ;(!this.quickNavigateConfiguration &&
                    _.isAncestor(n, this.builder.getHTMLElement())) ||
                    ((this.isLoosingFocus = !0),
                    i.TPromise.timeout(0).then(function() {
                      t.isLoosingFocus &&
                        (t.isDisposed ||
                          (t.callbacks.onFocusLost &&
                            t.callbacks.onFocusLost()) ||
                          t.hide(E.FOCUS_LOST))
                    }))
                }
              }),
              (e.prototype.dispose = function() {
                ;(this.isDisposed = !0),
                  (this.toUnbind = y.dispose(this.toUnbind)),
                  this.progressBar.dispose(),
                  this.inputBox.dispose(),
                  this.tree.dispose()
              }),
              e
            )
          })()
        ;(N.MAX_WIDTH = 600),
          (N.MAX_ITEMS_HEIGHT = 440),
          (t.QuickOpenWidget = N)
      }),
      define(d[293], h([5, 7]), function(e, t) {
        return e.create('vs/editor/browser/widget/diffReview', t)
      }),
      define(d[294], h([5, 7]), function(e, t) {
        return e.create('vs/editor/common/config/commonEditorConfig', t)
      }),
      define(d[295], h([5, 7]), function(e, t) {
        return e.create('vs/editor/common/config/editorOptions', t)
      }),
      define(d[49], h([0, 1, 295, 15, 51, 100]), function(e, t, n, i, o, r) {
        'use strict'
        function s(e, t) {
          return 'string' != typeof e
            ? t
            : 'line' === e
              ? y.Line
              : 'block' === e
                ? y.Block
                : 'underline' === e
                  ? y.Underline
                  : 'line-thin' === e
                    ? y.LineThin
                    : 'block-outline' === e
                      ? y.BlockOutline
                      : 'underline-thin' === e
                        ? y.UnderlineThin
                        : y.Line
        }
        function a(e, t) {
          return void 0 === e ? t : 'false' !== e && Boolean(e)
        }
        function u(e, t) {
          return 'string' != typeof e ? t : e
        }
        function l(e, t, n) {
          return 'string' != typeof e ? t : -1 === n.indexOf(e) ? t : e
        }
        function c(e, t, n, i) {
          var o
          return (
            void 0 === e
              ? (o = t)
              : ((o = parseInt(e, 10)), isNaN(o) && (o = t)),
            (o = Math.max(n, o)),
            0 | (o = Math.min(i, o))
          )
        }
        function d(e, t) {
          var n = parseFloat(e)
          return isNaN(n) && (n = t), n
        }
        function h(e, t) {
          return 'string' != typeof e
            ? t
            : 'indent' === e
              ? m.Indent
              : 'same' === e
                ? m.Same
                : m.None
        }
        function p(e, t) {
          if ('string' != typeof e) return t
          switch (e) {
            case 'blink':
              return v.Blink
            case 'smooth':
              return v.Smooth
            case 'phase':
              return v.Phase
            case 'expand':
              return v.Expand
            case 'visible':
            case 'solid':
              return v.Solid
          }
          return v.Blink
        }
        function f(e, t) {
          if ('string' != typeof e) return t
          switch (e) {
            case 'hidden':
              return o.ScrollbarVisibility.Hidden
            case 'visible':
              return o.ScrollbarVisibility.Visible
            default:
              return o.ScrollbarVisibility.Auto
          }
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var g
        !(function(e) {
          ;(e[(e.None = 0)] = 'None'),
            (e[(e.Small = 1)] = 'Small'),
            (e[(e.Large = 2)] = 'Large'),
            (e[(e.SmallBlocks = 3)] = 'SmallBlocks'),
            (e[(e.LargeBlocks = 4)] = 'LargeBlocks')
        })((g = t.RenderMinimap || (t.RenderMinimap = {})))
        var m
        !(function(e) {
          ;(e[(e.None = 0)] = 'None'),
            (e[(e.Same = 1)] = 'Same'),
            (e[(e.Indent = 2)] = 'Indent')
        })((m = t.WrappingIndent || (t.WrappingIndent = {})))
        var v
        !(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')
        })(
          (v =
            t.TextEditorCursorBlinkingStyle ||
            (t.TextEditorCursorBlinkingStyle = {}))
        ),
          (t.blinkingStyleToString = function(e) {
            if (e === v.Blink) return 'blink'
            if (e === v.Expand) return 'expand'
            if (e === v.Phase) return 'phase'
            if (e === v.Smooth) return 'smooth'
            if (e === v.Solid) return 'solid'
            throw new Error('blinkingStyleToString: Unknown blinkingStyle')
          })
        var y
        !(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')
        })((y = t.TextEditorCursorStyle || (t.TextEditorCursorStyle = {}))),
          (t.cursorStyleToString = function(e) {
            if (e === y.Line) return 'line'
            if (e === y.Block) return 'block'
            if (e === y.Underline) return 'underline'
            if (e === y.LineThin) return 'line-thin'
            if (e === y.BlockOutline) return 'block-outline'
            if (e === y.UnderlineThin) return 'underline-thin'
            throw new Error('cursorStyleToString: Unknown cursorStyle')
          })
        var b = (function() {
          function e(e) {
            ;(this.canUseLayerHinting = e.canUseLayerHinting),
              (this.pixelRatio = e.pixelRatio),
              (this.editorClassName = e.editorClassName),
              (this.lineHeight = 0 | e.lineHeight),
              (this.readOnly = e.readOnly),
              (this.accessibilitySupport = e.accessibilitySupport),
              (this.multiCursorModifier = e.multiCursorModifier),
              (this.wordSeparators = e.wordSeparators),
              (this.autoClosingBrackets = e.autoClosingBrackets),
              (this.autoIndent = e.autoIndent),
              (this.useTabStops = e.useTabStops),
              (this.tabFocusMode = e.tabFocusMode),
              (this.dragAndDrop = e.dragAndDrop),
              (this.emptySelectionClipboard = e.emptySelectionClipboard),
              (this.layoutInfo = e.layoutInfo),
              (this.fontInfo = e.fontInfo),
              (this.viewInfo = e.viewInfo),
              (this.wrappingInfo = e.wrappingInfo),
              (this.contribInfo = e.contribInfo)
          }
          return (
            (e.prototype.equals = function(t) {
              return (
                this.canUseLayerHinting === t.canUseLayerHinting &&
                this.pixelRatio === t.pixelRatio &&
                this.editorClassName === t.editorClassName &&
                this.lineHeight === t.lineHeight &&
                this.readOnly === t.readOnly &&
                this.accessibilitySupport === t.accessibilitySupport &&
                this.multiCursorModifier === t.multiCursorModifier &&
                this.wordSeparators === t.wordSeparators &&
                this.autoClosingBrackets === t.autoClosingBrackets &&
                this.autoIndent === t.autoIndent &&
                this.useTabStops === t.useTabStops &&
                this.tabFocusMode === t.tabFocusMode &&
                this.dragAndDrop === t.dragAndDrop &&
                this.emptySelectionClipboard === t.emptySelectionClipboard &&
                e._equalsLayoutInfo(this.layoutInfo, t.layoutInfo) &&
                this.fontInfo.equals(t.fontInfo) &&
                e._equalsViewOptions(this.viewInfo, t.viewInfo) &&
                e._equalsWrappingInfo(this.wrappingInfo, t.wrappingInfo) &&
                e._equalsContribOptions(this.contribInfo, t.contribInfo)
              )
            }),
            (e.prototype.createChangeEvent = function(t) {
              return {
                canUseLayerHinting:
                  this.canUseLayerHinting !== t.canUseLayerHinting,
                pixelRatio: this.pixelRatio !== t.pixelRatio,
                editorClassName: this.editorClassName !== t.editorClassName,
                lineHeight: this.lineHeight !== t.lineHeight,
                readOnly: this.readOnly !== t.readOnly,
                accessibilitySupport:
                  this.accessibilitySupport !== t.accessibilitySupport,
                multiCursorModifier:
                  this.multiCursorModifier !== t.multiCursorModifier,
                wordSeparators: this.wordSeparators !== t.wordSeparators,
                autoClosingBrackets:
                  this.autoClosingBrackets !== t.autoClosingBrackets,
                autoIndent: this.autoIndent !== t.autoIndent,
                useTabStops: this.useTabStops !== t.useTabStops,
                tabFocusMode: this.tabFocusMode !== t.tabFocusMode,
                dragAndDrop: this.dragAndDrop !== t.dragAndDrop,
                emptySelectionClipboard:
                  this.emptySelectionClipboard !== t.emptySelectionClipboard,
                layoutInfo: !e._equalsLayoutInfo(this.layoutInfo, t.layoutInfo),
                fontInfo: !this.fontInfo.equals(t.fontInfo),
                viewInfo: !e._equalsViewOptions(this.viewInfo, t.viewInfo),
                wrappingInfo: !e._equalsWrappingInfo(
                  this.wrappingInfo,
                  t.wrappingInfo
                ),
                contribInfo: !e._equalsContribOptions(
                  this.contribInfo,
                  t.contribInfo
                )
              }
            }),
            (e._equalsLayoutInfo = function(e, t) {
              return (
                e.width === t.width &&
                e.height === t.height &&
                e.glyphMarginLeft === t.glyphMarginLeft &&
                e.glyphMarginWidth === t.glyphMarginWidth &&
                e.glyphMarginHeight === t.glyphMarginHeight &&
                e.lineNumbersLeft === t.lineNumbersLeft &&
                e.lineNumbersWidth === t.lineNumbersWidth &&
                e.lineNumbersHeight === t.lineNumbersHeight &&
                e.decorationsLeft === t.decorationsLeft &&
                e.decorationsWidth === t.decorationsWidth &&
                e.decorationsHeight === t.decorationsHeight &&
                e.contentLeft === t.contentLeft &&
                e.contentWidth === t.contentWidth &&
                e.contentHeight === t.contentHeight &&
                e.renderMinimap === t.renderMinimap &&
                e.minimapWidth === t.minimapWidth &&
                e.viewportColumn === t.viewportColumn &&
                e.verticalScrollbarWidth === t.verticalScrollbarWidth &&
                e.horizontalScrollbarHeight === t.horizontalScrollbarHeight &&
                this._equalsOverviewRuler(e.overviewRuler, t.overviewRuler)
              )
            }),
            (e._equalsOverviewRuler = function(e, t) {
              return (
                e.width === t.width &&
                e.height === t.height &&
                e.top === t.top &&
                e.right === t.right
              )
            }),
            (e._equalsViewOptions = function(e, t) {
              return (
                e.extraEditorClassName === t.extraEditorClassName &&
                e.disableMonospaceOptimizations ===
                  t.disableMonospaceOptimizations &&
                this._equalsNumberArrays(e.rulers, t.rulers) &&
                e.ariaLabel === t.ariaLabel &&
                e.renderLineNumbers === t.renderLineNumbers &&
                e.renderCustomLineNumbers === t.renderCustomLineNumbers &&
                e.renderRelativeLineNumbers === t.renderRelativeLineNumbers &&
                e.selectOnLineNumbers === t.selectOnLineNumbers &&
                e.glyphMargin === t.glyphMargin &&
                e.revealHorizontalRightPadding ===
                  t.revealHorizontalRightPadding &&
                e.roundedSelection === t.roundedSelection &&
                e.overviewRulerLanes === t.overviewRulerLanes &&
                e.overviewRulerBorder === t.overviewRulerBorder &&
                e.cursorBlinking === t.cursorBlinking &&
                e.mouseWheelZoom === t.mouseWheelZoom &&
                e.cursorStyle === t.cursorStyle &&
                e.hideCursorInOverviewRuler === t.hideCursorInOverviewRuler &&
                e.scrollBeyondLastLine === t.scrollBeyondLastLine &&
                e.stopRenderingLineAfter === t.stopRenderingLineAfter &&
                e.renderWhitespace === t.renderWhitespace &&
                e.renderControlCharacters === t.renderControlCharacters &&
                e.fontLigatures === t.fontLigatures &&
                e.renderIndentGuides === t.renderIndentGuides &&
                e.renderLineHighlight === t.renderLineHighlight &&
                this._equalsScrollbarOptions(e.scrollbar, t.scrollbar) &&
                this._equalsMinimapOptions(e.minimap, t.minimap) &&
                e.fixedOverflowWidgets === t.fixedOverflowWidgets
              )
            }),
            (e._equalsScrollbarOptions = function(e, t) {
              return (
                e.arrowSize === t.arrowSize &&
                e.vertical === t.vertical &&
                e.horizontal === t.horizontal &&
                e.useShadows === t.useShadows &&
                e.verticalHasArrows === t.verticalHasArrows &&
                e.horizontalHasArrows === t.horizontalHasArrows &&
                e.handleMouseWheel === t.handleMouseWheel &&
                e.horizontalScrollbarSize === t.horizontalScrollbarSize &&
                e.horizontalSliderSize === t.horizontalSliderSize &&
                e.verticalScrollbarSize === t.verticalScrollbarSize &&
                e.verticalSliderSize === t.verticalSliderSize &&
                e.mouseWheelScrollSensitivity === t.mouseWheelScrollSensitivity
              )
            }),
            (e._equalsMinimapOptions = function(e, t) {
              return (
                e.enabled === t.enabled &&
                e.showSlider === t.showSlider &&
                e.renderCharacters === t.renderCharacters &&
                e.maxColumn === t.maxColumn
              )
            }),
            (e._equalsNumberArrays = function(e, t) {
              if (e.length !== t.length) return !1
              for (var n = 0; n < e.length; n++) if (e[n] !== t[n]) return !1
              return !0
            }),
            (e._equalFindOptions = function(e, t) {
              return (
                e.seedSearchStringFromSelection ===
                  t.seedSearchStringFromSelection &&
                e.autoFindInSelection === t.autoFindInSelection
              )
            }),
            (e._equalsWrappingInfo = function(e, t) {
              return (
                e.inDiffEditor === t.inDiffEditor &&
                e.isDominatedByLongLines === t.isDominatedByLongLines &&
                e.isWordWrapMinified === t.isWordWrapMinified &&
                e.isViewportWrapping === t.isViewportWrapping &&
                e.wrappingColumn === t.wrappingColumn &&
                e.wrappingIndent === t.wrappingIndent &&
                e.wordWrapBreakBeforeCharacters ===
                  t.wordWrapBreakBeforeCharacters &&
                e.wordWrapBreakAfterCharacters ===
                  t.wordWrapBreakAfterCharacters &&
                e.wordWrapBreakObtrusiveCharacters ===
                  t.wordWrapBreakObtrusiveCharacters
              )
            }),
            (e._equalsContribOptions = function(t, n) {
              return (
                t.selectionClipboard === n.selectionClipboard &&
                t.hover === n.hover &&
                t.links === n.links &&
                t.contextmenu === n.contextmenu &&
                e._equalsQuickSuggestions(
                  t.quickSuggestions,
                  n.quickSuggestions
                ) &&
                t.quickSuggestionsDelay === n.quickSuggestionsDelay &&
                t.parameterHints === n.parameterHints &&
                t.iconsInSuggestions === n.iconsInSuggestions &&
                t.formatOnType === n.formatOnType &&
                t.formatOnPaste === n.formatOnPaste &&
                t.suggestOnTriggerCharacters === n.suggestOnTriggerCharacters &&
                t.acceptSuggestionOnEnter === n.acceptSuggestionOnEnter &&
                t.acceptSuggestionOnCommitCharacter ===
                  n.acceptSuggestionOnCommitCharacter &&
                t.snippetSuggestions === n.snippetSuggestions &&
                t.wordBasedSuggestions === n.wordBasedSuggestions &&
                t.suggestFontSize === n.suggestFontSize &&
                t.suggestLineHeight === n.suggestLineHeight &&
                t.selectionHighlight === n.selectionHighlight &&
                t.occurrencesHighlight === n.occurrencesHighlight &&
                t.codeLens === n.codeLens &&
                t.folding === n.folding &&
                t.showFoldingControls === n.showFoldingControls &&
                t.matchBrackets === n.matchBrackets &&
                this._equalFindOptions(t.find, n.find)
              )
            }),
            (e._equalsQuickSuggestions = function(e, t) {
              return 'boolean' == typeof e
                ? 'boolean' == typeof t && e === t
                : 'boolean' != typeof t &&
                    (e.comments === t.comments &&
                      e.other === t.other &&
                      e.strings === t.strings)
            }),
            e
          )
        })()
        t.InternalEditorOptions = b
        var C = (function() {
          function e() {}
          return (
            (e.validate = function(e, t) {
              var n = e.wordWrap
              !0 === n ? (n = 'on') : !1 === n && (n = 'off'),
                (n = l(n, t.wordWrap, [
                  'off',
                  'on',
                  'wordWrapColumn',
                  'bounded'
                ]))
              var o,
                r = this._sanitizeViewInfo(e, t.viewInfo),
                s = this._sanitizeContribInfo(e, t.contribInfo)
              'string' == typeof e.multiCursorModifier &&
                (o =
                  'ctrlCmd' === e.multiCursorModifier
                    ? i.isMacintosh
                      ? 'metaKey'
                      : 'ctrlKey'
                    : 'altKey')
              var d = l(o, t.multiCursorModifier, [
                'altKey',
                'metaKey',
                'ctrlKey'
              ])
              return {
                inDiffEditor: a(e.inDiffEditor, t.inDiffEditor),
                wordSeparators: u(e.wordSeparators, t.wordSeparators),
                lineNumbersMinChars: c(
                  e.lineNumbersMinChars,
                  t.lineNumbersMinChars,
                  1,
                  10
                ),
                lineDecorationsWidth:
                  void 0 === e.lineDecorationsWidth
                    ? t.lineDecorationsWidth
                    : e.lineDecorationsWidth,
                readOnly: a(e.readOnly, t.readOnly),
                mouseStyle: l(e.mouseStyle, t.mouseStyle, [
                  'text',
                  'default',
                  'copy'
                ]),
                disableLayerHinting: a(
                  e.disableLayerHinting,
                  t.disableLayerHinting
                ),
                automaticLayout: a(e.automaticLayout, t.automaticLayout),
                wordWrap: n,
                wordWrapColumn: c(
                  e.wordWrapColumn,
                  t.wordWrapColumn,
                  1,
                  1073741824
                ),
                wordWrapMinified: a(e.wordWrapMinified, t.wordWrapMinified),
                wrappingIndent: h(e.wrappingIndent, t.wrappingIndent),
                wordWrapBreakBeforeCharacters: u(
                  e.wordWrapBreakBeforeCharacters,
                  t.wordWrapBreakBeforeCharacters
                ),
                wordWrapBreakAfterCharacters: u(
                  e.wordWrapBreakAfterCharacters,
                  t.wordWrapBreakAfterCharacters
                ),
                wordWrapBreakObtrusiveCharacters: u(
                  e.wordWrapBreakObtrusiveCharacters,
                  t.wordWrapBreakObtrusiveCharacters
                ),
                autoClosingBrackets: a(
                  e.autoClosingBrackets,
                  t.autoClosingBrackets
                ),
                autoIndent: a(e.autoIndent, t.autoIndent),
                dragAndDrop: a(e.dragAndDrop, t.dragAndDrop),
                emptySelectionClipboard: a(
                  e.emptySelectionClipboard,
                  t.emptySelectionClipboard
                ),
                useTabStops: a(e.useTabStops, t.useTabStops),
                multiCursorModifier: d,
                accessibilitySupport: l(
                  e.accessibilitySupport,
                  t.accessibilitySupport,
                  ['auto', 'on', 'off']
                ),
                viewInfo: r,
                contribInfo: s
              }
            }),
            (e._sanitizeScrollbarOpts = function(e, t, n) {
              if ('object' != typeof e) return t
              var i = c(
                  e.horizontalScrollbarSize,
                  t.horizontalScrollbarSize,
                  0,
                  1e3
                ),
                o = c(e.verticalScrollbarSize, t.verticalScrollbarSize, 0, 1e3)
              return {
                vertical: f(e.vertical, t.vertical),
                horizontal: f(e.horizontal, t.horizontal),
                arrowSize: c(e.arrowSize, t.arrowSize, 0, 1e3),
                useShadows: a(e.useShadows, t.useShadows),
                verticalHasArrows: a(e.verticalHasArrows, t.verticalHasArrows),
                horizontalHasArrows: a(
                  e.horizontalHasArrows,
                  t.horizontalHasArrows
                ),
                horizontalScrollbarSize: i,
                horizontalSliderSize: c(e.horizontalSliderSize, i, 0, 1e3),
                verticalScrollbarSize: o,
                verticalSliderSize: c(e.verticalSliderSize, o, 0, 1e3),
                handleMouseWheel: a(e.handleMouseWheel, t.handleMouseWheel),
                mouseWheelScrollSensitivity: n
              }
            }),
            (e._sanitizeMinimapOpts = function(e, t) {
              return 'object' != typeof e
                ? t
                : {
                    enabled: a(e.enabled, t.enabled),
                    showSlider: l(e.showSlider, t.showSlider, [
                      'always',
                      'mouseover'
                    ]),
                    renderCharacters: a(e.renderCharacters, t.renderCharacters),
                    maxColumn: c(e.maxColumn, t.maxColumn, 1, 1e4)
                  }
            }),
            (e._santizeFindOpts = function(e, t) {
              return 'object' != typeof e
                ? t
                : {
                    seedSearchStringFromSelection: a(
                      e.seedSearchStringFromSelection,
                      t.seedSearchStringFromSelection
                    ),
                    autoFindInSelection: a(
                      e.autoFindInSelection,
                      t.autoFindInSelection
                    )
                  }
            }),
            (e._sanitizeViewInfo = function(e, t) {
              var n = []
              if (Array.isArray(e.rulers)) {
                for (var i = 0, o = e.rulers.length; i < o; i++)
                  n.push(c(e.rulers[i], 0, 0, 1e4))
                n.sort()
              }
              var r = t.renderLineNumbers,
                h = t.renderCustomLineNumbers,
                f = t.renderRelativeLineNumbers
              if (void 0 !== e.lineNumbers) {
                var g = e.lineNumbers
                !0 === g ? (g = 'on') : !1 === g && (g = 'off'),
                  'function' == typeof g
                    ? ((r = !0), (h = g), (f = !1))
                    : 'relative' === g
                      ? ((r = !0), (h = null), (f = !0))
                      : 'on' === g
                        ? ((r = !0), (h = null), (f = !1))
                        : ((r = !1), (h = null), (f = !1))
              }
              var m = a(e.fontLigatures, t.fontLigatures),
                v =
                  a(
                    e.disableMonospaceOptimizations,
                    t.disableMonospaceOptimizations
                  ) || m,
                _ = e.renderWhitespace
              !0 === _ ? (_ = 'boundary') : !1 === _ && (_ = 'none'),
                (_ = l(e.renderWhitespace, t.renderWhitespace, [
                  'none',
                  'boundary',
                  'all'
                ]))
              var y = e.renderLineHighlight
              !0 === y ? (y = 'line') : !1 === y && (y = 'none'),
                (y = l(e.renderLineHighlight, t.renderLineHighlight, [
                  'none',
                  'gutter',
                  'line',
                  'all'
                ]))
              var b = d(
                  e.mouseWheelScrollSensitivity,
                  t.scrollbar.mouseWheelScrollSensitivity
                ),
                C = this._sanitizeScrollbarOpts(e.scrollbar, t.scrollbar, b),
                w = this._sanitizeMinimapOpts(e.minimap, t.minimap)
              return {
                extraEditorClassName: u(
                  e.extraEditorClassName,
                  t.extraEditorClassName
                ),
                disableMonospaceOptimizations: v,
                rulers: n,
                ariaLabel: u(e.ariaLabel, t.ariaLabel),
                renderLineNumbers: r,
                renderCustomLineNumbers: h,
                renderRelativeLineNumbers: f,
                selectOnLineNumbers: a(
                  e.selectOnLineNumbers,
                  t.selectOnLineNumbers
                ),
                glyphMargin: a(e.glyphMargin, t.glyphMargin),
                revealHorizontalRightPadding: c(
                  e.revealHorizontalRightPadding,
                  t.revealHorizontalRightPadding,
                  0,
                  1e3
                ),
                roundedSelection: a(e.roundedSelection, t.roundedSelection),
                overviewRulerLanes: c(
                  e.overviewRulerLanes,
                  t.overviewRulerLanes,
                  0,
                  3
                ),
                overviewRulerBorder: a(
                  e.overviewRulerBorder,
                  t.overviewRulerBorder
                ),
                cursorBlinking: p(e.cursorBlinking, t.cursorBlinking),
                mouseWheelZoom: a(e.mouseWheelZoom, t.mouseWheelZoom),
                cursorStyle: s(e.cursorStyle, t.cursorStyle),
                hideCursorInOverviewRuler: a(
                  e.hideCursorInOverviewRuler,
                  t.hideCursorInOverviewRuler
                ),
                scrollBeyondLastLine: a(
                  e.scrollBeyondLastLine,
                  t.scrollBeyondLastLine
                ),
                stopRenderingLineAfter: c(
                  e.stopRenderingLineAfter,
                  t.stopRenderingLineAfter,
                  -1,
                  1073741824
                ),
                renderWhitespace: _,
                renderControlCharacters: a(
                  e.renderControlCharacters,
                  t.renderControlCharacters
                ),
                fontLigatures: m,
                renderIndentGuides: a(
                  e.renderIndentGuides,
                  t.renderIndentGuides
                ),
                renderLineHighlight: y,
                scrollbar: C,
                minimap: w,
                fixedOverflowWidgets: a(
                  e.fixedOverflowWidgets,
                  t.fixedOverflowWidgets
                )
              }
            }),
            (e._sanitizeContribInfo = function(e, t) {
              var n
              n =
                'object' == typeof e.quickSuggestions
                  ? _({ other: !0 }, e.quickSuggestions)
                  : a(e.quickSuggestions, t.quickSuggestions)
              var i = this._santizeFindOpts(e.find, t.find)
              return {
                selectionClipboard: a(
                  e.selectionClipboard,
                  t.selectionClipboard
                ),
                hover: a(e.hover, t.hover),
                links: a(e.links, t.links),
                contextmenu: a(e.contextmenu, t.contextmenu),
                quickSuggestions: n,
                quickSuggestionsDelay: c(
                  e.quickSuggestionsDelay,
                  t.quickSuggestionsDelay,
                  -1073741824,
                  1073741824
                ),
                parameterHints: a(e.parameterHints, t.parameterHints),
                iconsInSuggestions: a(
                  e.iconsInSuggestions,
                  t.iconsInSuggestions
                ),
                formatOnType: a(e.formatOnType, t.formatOnType),
                formatOnPaste: a(e.formatOnPaste, t.formatOnPaste),
                suggestOnTriggerCharacters: a(
                  e.suggestOnTriggerCharacters,
                  t.suggestOnTriggerCharacters
                ),
                acceptSuggestionOnEnter: l(
                  e.acceptSuggestionOnEnter,
                  t.acceptSuggestionOnEnter,
                  ['on', 'smart', 'off']
                ),
                acceptSuggestionOnCommitCharacter: a(
                  e.acceptSuggestionOnCommitCharacter,
                  t.acceptSuggestionOnCommitCharacter
                ),
                snippetSuggestions: l(
                  e.snippetSuggestions,
                  t.snippetSuggestions,
                  ['top', 'bottom', 'inline', 'none']
                ),
                wordBasedSuggestions: a(
                  e.wordBasedSuggestions,
                  t.wordBasedSuggestions
                ),
                suggestFontSize: c(
                  e.suggestFontSize,
                  t.suggestFontSize,
                  0,
                  1e3
                ),
                suggestLineHeight: c(
                  e.suggestLineHeight,
                  t.suggestLineHeight,
                  0,
                  1e3
                ),
                selectionHighlight: a(
                  e.selectionHighlight,
                  t.selectionHighlight
                ),
                occurrencesHighlight: a(
                  e.occurrencesHighlight,
                  t.occurrencesHighlight
                ),
                codeLens: a(e.codeLens, t.codeLens) && a(e.referenceInfos, !0),
                folding: a(e.folding, t.folding),
                showFoldingControls: l(
                  e.showFoldingControls,
                  t.showFoldingControls,
                  ['always', 'mouseover']
                ),
                matchBrackets: a(e.matchBrackets, t.matchBrackets),
                find: i
              }
            }),
            e
          )
        })()
        t.EditorOptionsValidator = C
        var w = (function() {
          function e() {}
          return (
            (e._tweakValidatedOptions = function(e, t) {
              var i = 2 === t,
                o = 1 === t
              return {
                inDiffEditor: e.inDiffEditor,
                wordSeparators: e.wordSeparators,
                lineNumbersMinChars: e.lineNumbersMinChars,
                lineDecorationsWidth: e.lineDecorationsWidth,
                readOnly: e.readOnly,
                mouseStyle: e.mouseStyle,
                disableLayerHinting: e.disableLayerHinting,
                automaticLayout: e.automaticLayout,
                wordWrap: e.wordWrap,
                wordWrapColumn: e.wordWrapColumn,
                wordWrapMinified: e.wordWrapMinified,
                wrappingIndent: e.wrappingIndent,
                wordWrapBreakBeforeCharacters: e.wordWrapBreakBeforeCharacters,
                wordWrapBreakAfterCharacters: e.wordWrapBreakAfterCharacters,
                wordWrapBreakObtrusiveCharacters:
                  e.wordWrapBreakObtrusiveCharacters,
                autoClosingBrackets: e.autoClosingBrackets,
                autoIndent: e.autoIndent,
                dragAndDrop: e.dragAndDrop,
                emptySelectionClipboard: e.emptySelectionClipboard,
                useTabStops: e.useTabStops,
                multiCursorModifier: e.multiCursorModifier,
                accessibilitySupport: e.accessibilitySupport,
                viewInfo: {
                  extraEditorClassName: e.viewInfo.extraEditorClassName,
                  disableMonospaceOptimizations:
                    e.viewInfo.disableMonospaceOptimizations,
                  rulers: e.viewInfo.rulers,
                  ariaLabel: o ? n.localize(0, null) : e.viewInfo.ariaLabel,
                  renderLineNumbers: e.viewInfo.renderLineNumbers,
                  renderCustomLineNumbers: e.viewInfo.renderCustomLineNumbers,
                  renderRelativeLineNumbers:
                    e.viewInfo.renderRelativeLineNumbers,
                  selectOnLineNumbers: e.viewInfo.selectOnLineNumbers,
                  glyphMargin: e.viewInfo.glyphMargin,
                  revealHorizontalRightPadding:
                    e.viewInfo.revealHorizontalRightPadding,
                  roundedSelection: !i && e.viewInfo.roundedSelection,
                  overviewRulerLanes: e.viewInfo.overviewRulerLanes,
                  overviewRulerBorder: e.viewInfo.overviewRulerBorder,
                  cursorBlinking: e.viewInfo.cursorBlinking,
                  mouseWheelZoom: e.viewInfo.mouseWheelZoom,
                  cursorStyle: e.viewInfo.cursorStyle,
                  hideCursorInOverviewRuler:
                    e.viewInfo.hideCursorInOverviewRuler,
                  scrollBeyondLastLine: e.viewInfo.scrollBeyondLastLine,
                  stopRenderingLineAfter: e.viewInfo.stopRenderingLineAfter,
                  renderWhitespace: i ? 'none' : e.viewInfo.renderWhitespace,
                  renderControlCharacters:
                    !i && e.viewInfo.renderControlCharacters,
                  fontLigatures: !i && e.viewInfo.fontLigatures,
                  renderIndentGuides: !i && e.viewInfo.renderIndentGuides,
                  renderLineHighlight: i
                    ? 'none'
                    : e.viewInfo.renderLineHighlight,
                  scrollbar: e.viewInfo.scrollbar,
                  minimap: {
                    enabled: !i && e.viewInfo.minimap.enabled,
                    renderCharacters: e.viewInfo.minimap.renderCharacters,
                    showSlider: e.viewInfo.minimap.showSlider,
                    maxColumn: e.viewInfo.minimap.maxColumn
                  },
                  fixedOverflowWidgets: e.viewInfo.fixedOverflowWidgets
                },
                contribInfo: {
                  selectionClipboard: e.contribInfo.selectionClipboard,
                  hover: e.contribInfo.hover,
                  links: !i && e.contribInfo.links,
                  contextmenu: e.contribInfo.contextmenu,
                  quickSuggestions: e.contribInfo.quickSuggestions,
                  quickSuggestionsDelay: e.contribInfo.quickSuggestionsDelay,
                  parameterHints: e.contribInfo.parameterHints,
                  iconsInSuggestions: e.contribInfo.iconsInSuggestions,
                  formatOnType: e.contribInfo.formatOnType,
                  formatOnPaste: e.contribInfo.formatOnPaste,
                  suggestOnTriggerCharacters:
                    e.contribInfo.suggestOnTriggerCharacters,
                  acceptSuggestionOnEnter:
                    e.contribInfo.acceptSuggestionOnEnter,
                  acceptSuggestionOnCommitCharacter:
                    e.contribInfo.acceptSuggestionOnCommitCharacter,
                  snippetSuggestions: e.contribInfo.snippetSuggestions,
                  wordBasedSuggestions: e.contribInfo.wordBasedSuggestions,
                  suggestFontSize: e.contribInfo.suggestFontSize,
                  suggestLineHeight: e.contribInfo.suggestLineHeight,
                  selectionHighlight: !i && e.contribInfo.selectionHighlight,
                  occurrencesHighlight:
                    !i && e.contribInfo.occurrencesHighlight,
                  codeLens: !i && e.contribInfo.codeLens,
                  folding: !i && e.contribInfo.folding,
                  showFoldingControls: e.contribInfo.showFoldingControls,
                  matchBrackets: !i && e.contribInfo.matchBrackets,
                  find: e.contribInfo.find
                }
              }
            }),
            (e.createInternalEditorOptions = function(e, t) {
              var n
              n =
                'auto' === t.accessibilitySupport
                  ? e.accessibilitySupport
                  : 'on' === t.accessibilitySupport
                    ? 2
                    : 1
              var i,
                o = this._tweakValidatedOptions(t, n)
              ;(i =
                'string' == typeof o.lineDecorationsWidth &&
                /^\d+(\.\d+)?ch$/.test(o.lineDecorationsWidth)
                  ? parseFloat(
                      o.lineDecorationsWidth.substr(
                        0,
                        o.lineDecorationsWidth.length - 2
                      )
                    ) * e.fontInfo.typicalHalfwidthCharacterWidth
                  : c(o.lineDecorationsWidth, 0, 0, 1e3)),
                o.contribInfo.folding && (i += 16)
              var r = S.compute({
                  outerWidth: e.outerWidth,
                  outerHeight: e.outerHeight,
                  showGlyphMargin: o.viewInfo.glyphMargin,
                  lineHeight: e.fontInfo.lineHeight,
                  showLineNumbers: o.viewInfo.renderLineNumbers,
                  lineNumbersMinChars: o.lineNumbersMinChars,
                  lineNumbersDigitCount: e.lineNumbersDigitCount,
                  lineDecorationsWidth: i,
                  typicalHalfwidthCharacterWidth:
                    e.fontInfo.typicalHalfwidthCharacterWidth,
                  maxDigitWidth: e.fontInfo.maxDigitWidth,
                  verticalScrollbarWidth:
                    o.viewInfo.scrollbar.verticalScrollbarSize,
                  horizontalScrollbarHeight:
                    o.viewInfo.scrollbar.horizontalScrollbarSize,
                  scrollbarArrowSize: o.viewInfo.scrollbar.arrowSize,
                  verticalScrollbarHasArrows:
                    o.viewInfo.scrollbar.verticalHasArrows,
                  minimap: o.viewInfo.minimap.enabled,
                  minimapRenderCharacters: o.viewInfo.minimap.renderCharacters,
                  minimapMaxColumn: o.viewInfo.minimap.maxColumn,
                  pixelRatio: e.pixelRatio
                }),
                s = null,
                a = o.wordWrap,
                u = o.wordWrapColumn,
                l = o.wordWrapMinified
              s =
                2 === n
                  ? {
                      isWordWrapMinified: !1,
                      isViewportWrapping: !1,
                      wrappingColumn: -1
                    }
                  : l && e.isDominatedByLongLines
                    ? {
                        isWordWrapMinified: !0,
                        isViewportWrapping: !0,
                        wrappingColumn: Math.max(1, r.viewportColumn)
                      }
                    : 'on' === a
                      ? {
                          isWordWrapMinified: !1,
                          isViewportWrapping: !0,
                          wrappingColumn: Math.max(1, r.viewportColumn)
                        }
                      : 'bounded' === a
                        ? {
                            isWordWrapMinified: !1,
                            isViewportWrapping: !0,
                            wrappingColumn: Math.min(
                              Math.max(1, r.viewportColumn),
                              u
                            )
                          }
                        : 'wordWrapColumn' === a
                          ? {
                              isWordWrapMinified: !1,
                              isViewportWrapping: !1,
                              wrappingColumn: u
                            }
                          : {
                              isWordWrapMinified: !1,
                              isViewportWrapping: !1,
                              wrappingColumn: -1
                            }
              var d = {
                  inDiffEditor: o.inDiffEditor,
                  isDominatedByLongLines: e.isDominatedByLongLines,
                  isWordWrapMinified: s.isWordWrapMinified,
                  isViewportWrapping: s.isViewportWrapping,
                  wrappingColumn: s.wrappingColumn,
                  wrappingIndent: o.wrappingIndent,
                  wordWrapBreakBeforeCharacters:
                    o.wordWrapBreakBeforeCharacters,
                  wordWrapBreakAfterCharacters: o.wordWrapBreakAfterCharacters,
                  wordWrapBreakObtrusiveCharacters:
                    o.wordWrapBreakObtrusiveCharacters
                },
                h = 'monaco-editor'
              return (
                o.viewInfo.extraEditorClassName &&
                  (h += ' ' + o.viewInfo.extraEditorClassName),
                e.extraEditorClassName && (h += ' ' + e.extraEditorClassName),
                o.viewInfo.fontLigatures && (h += ' enable-ligatures'),
                'default' === o.mouseStyle
                  ? (h += ' mouse-default')
                  : 'copy' === o.mouseStyle && (h += ' mouse-copy'),
                new b({
                  canUseLayerHinting: !o.disableLayerHinting,
                  pixelRatio: e.pixelRatio,
                  editorClassName: h,
                  lineHeight: e.fontInfo.lineHeight,
                  readOnly: o.readOnly,
                  accessibilitySupport: n,
                  multiCursorModifier: o.multiCursorModifier,
                  wordSeparators: o.wordSeparators,
                  autoClosingBrackets: o.autoClosingBrackets,
                  autoIndent: o.autoIndent,
                  useTabStops: o.useTabStops,
                  tabFocusMode: !!o.readOnly || e.tabFocusMode,
                  dragAndDrop: o.dragAndDrop,
                  emptySelectionClipboard:
                    o.emptySelectionClipboard && e.emptySelectionClipboard,
                  layoutInfo: r,
                  fontInfo: e.fontInfo,
                  viewInfo: o.viewInfo,
                  wrappingInfo: d,
                  contribInfo: o.contribInfo
                })
              )
            }),
            e
          )
        })()
        t.InternalEditorOptionsFactory = w
        var S = (function() {
          function e() {}
          return (
            (e.compute = function(e) {
              var t = 0 | e.outerWidth,
                n = 0 | e.outerHeight,
                i = e.showGlyphMargin,
                o = 0 | e.lineHeight,
                r = e.showLineNumbers,
                s = 0 | e.lineNumbersMinChars,
                a = 0 | e.lineNumbersDigitCount,
                u = 0 | e.lineDecorationsWidth,
                l = e.typicalHalfwidthCharacterWidth,
                c = e.maxDigitWidth,
                d = 0 | e.verticalScrollbarWidth,
                h = e.verticalScrollbarHasArrows,
                p = 0 | e.scrollbarArrowSize,
                f = 0 | e.horizontalScrollbarHeight,
                m = e.minimap,
                v = e.minimapRenderCharacters,
                _ = 0 | e.minimapMaxColumn,
                y = e.pixelRatio,
                b = 0
              if (r) {
                var C = Math.max(a, s)
                b = Math.round(C * c)
              }
              var w = 0
              i && (w = o)
              var S,
                E,
                L,
                x = 0 + w,
                N = x + b,
                M = N + u,
                T = t - w - b - u
              if (m) {
                var k = void 0
                y >= 2
                  ? ((S = v ? g.Large : g.LargeBlocks), (k = 2 / y))
                  : ((S = v ? g.Small : g.SmallBlocks), (k = 1 / y)),
                  (E = Math.max(0, Math.floor(((T - d) * k) / (l + k)))) / k >
                    _ && (E = Math.floor(_ * k)),
                  (L = T - E)
              } else (E = 0), (S = g.None), (L = T)
              var I = Math.max(1, Math.floor((L - d) / l)),
                D = h ? p : 0
              return {
                width: t,
                height: n,
                glyphMarginLeft: 0,
                glyphMarginWidth: w,
                glyphMarginHeight: n,
                lineNumbersLeft: x,
                lineNumbersWidth: b,
                lineNumbersHeight: n,
                decorationsLeft: N,
                decorationsWidth: u,
                decorationsHeight: n,
                contentLeft: M,
                contentWidth: L,
                contentHeight: n,
                renderMinimap: S,
                minimapWidth: E,
                viewportColumn: I,
                verticalScrollbarWidth: d,
                horizontalScrollbarHeight: f,
                overviewRuler: { top: D, width: d, height: n - 2 * D, right: 0 }
              }
            }),
            e
          )
        })()
        t.EditorLayoutProvider = S
        ;(t.EDITOR_FONT_DEFAULTS = {
          fontFamily: i.isMacintosh
            ? "Menlo, Monaco, 'Courier New', monospace"
            : i.isLinux
              ? "'Droid Sans Mono', 'Courier New', monospace, 'Droid Sans Fallback'"
              : "Consolas, 'Courier New', monospace",
          fontWeight: 'normal',
          fontSize: i.isMacintosh ? 12 : 14,
          lineHeight: 0,
          letterSpacing: 0
        }),
          (t.EDITOR_MODEL_DEFAULTS = {
            tabSize: 4,
            insertSpaces: !0,
            detectIndentation: !0,
            trimAutoWhitespace: !0
          }),
          (t.EDITOR_DEFAULTS = {
            inDiffEditor: !1,
            wordSeparators: r.USUAL_WORD_SEPARATORS,
            lineNumbersMinChars: 5,
            lineDecorationsWidth: 10,
            readOnly: !1,
            mouseStyle: 'text',
            disableLayerHinting: !1,
            automaticLayout: !1,
            wordWrap: 'off',
            wordWrapColumn: 80,
            wordWrapMinified: !0,
            wrappingIndent: m.Same,
            wordWrapBreakBeforeCharacters:
              '([{‘“〈《「『【〔（［｛｢£¥＄￡￥+＋',
            wordWrapBreakAfterCharacters:
              ' \t})]?|&,;¢°′″‰℃、。｡､￠，．：；？！％・･ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ｧｨｩｪｫｬｭｮｯｰ”〉》」』】〕）］｝｣',
            wordWrapBreakObtrusiveCharacters: '.',
            autoClosingBrackets: !0,
            autoIndent: !0,
            dragAndDrop: !0,
            emptySelectionClipboard: !0,
            useTabStops: !0,
            multiCursorModifier: 'altKey',
            accessibilitySupport: 'auto',
            viewInfo: {
              extraEditorClassName: '',
              disableMonospaceOptimizations: !1,
              rulers: [],
              ariaLabel: n.localize(1, null),
              renderLineNumbers: !0,
              renderCustomLineNumbers: null,
              renderRelativeLineNumbers: !1,
              selectOnLineNumbers: !0,
              glyphMargin: !0,
              revealHorizontalRightPadding: 30,
              roundedSelection: !0,
              overviewRulerLanes: 2,
              overviewRulerBorder: !0,
              cursorBlinking: v.Blink,
              mouseWheelZoom: !1,
              cursorStyle: y.Line,
              hideCursorInOverviewRuler: !1,
              scrollBeyondLastLine: !0,
              stopRenderingLineAfter: 1e4,
              renderWhitespace: 'none',
              renderControlCharacters: !1,
              fontLigatures: !1,
              renderIndentGuides: !0,
              renderLineHighlight: 'line',
              scrollbar: {
                vertical: o.ScrollbarVisibility.Auto,
                horizontal: o.ScrollbarVisibility.Auto,
                arrowSize: 11,
                useShadows: !0,
                verticalHasArrows: !1,
                horizontalHasArrows: !1,
                horizontalScrollbarSize: 10,
                horizontalSliderSize: 10,
                verticalScrollbarSize: 14,
                verticalSliderSize: 14,
                handleMouseWheel: !0,
                mouseWheelScrollSensitivity: 1
              },
              minimap: {
                enabled: !0,
                showSlider: 'mouseover',
                renderCharacters: !0,
                maxColumn: 120
              },
              fixedOverflowWidgets: !1
            },
            contribInfo: {
              selectionClipboard: !0,
              hover: !0,
              links: !0,
              contextmenu: !0,
              quickSuggestions: { other: !0, comments: !1, strings: !1 },
              quickSuggestionsDelay: 10,
              parameterHints: !0,
              iconsInSuggestions: !0,
              formatOnType: !1,
              formatOnPaste: !1,
              suggestOnTriggerCharacters: !0,
              acceptSuggestionOnEnter: 'on',
              acceptSuggestionOnCommitCharacter: !0,
              snippetSuggestions: 'inline',
              wordBasedSuggestions: !0,
              suggestFontSize: 0,
              suggestLineHeight: 0,
              selectionHighlight: !0,
              occurrencesHighlight: !0,
              codeLens: !0,
              folding: !0,
              showFoldingControls: 'mouseover',
              matchBrackets: !0,
              find: {
                seedSearchStringFromSelection: !0,
                autoFindInSelection: !1
              }
            }
          })
      }),
      define(d[122], h([0, 1, 15, 111, 49]), function(e, t, n, i, o) {
        'use strict'
        function r(e, t) {
          if ('number' == typeof e) return e
          var n = parseFloat(e)
          return isNaN(n) ? t : n
        }
        function s(e, t) {
          if ('number' == typeof e) return Math.round(e)
          var n = parseInt(e)
          return isNaN(n) ? t : n
        }
        function a(e, t, n) {
          return e < t ? t : e > n ? n : e
        }
        function u(e, t) {
          return 'string' != typeof e ? t : e
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var l = n.isMacintosh ? 1.5 : 1.35,
          c = (function() {
            function e(e) {
              ;(this.zoomLevel = e.zoomLevel),
                (this.fontFamily = String(e.fontFamily)),
                (this.fontWeight = String(e.fontWeight)),
                (this.fontSize = e.fontSize),
                (this.lineHeight = 0 | e.lineHeight),
                (this.letterSpacing = e.letterSpacing)
            }
            return (
              (e.createFromRawSettings = function(t, n) {
                var c = u(t.fontFamily, o.EDITOR_FONT_DEFAULTS.fontFamily),
                  d = u(t.fontWeight, o.EDITOR_FONT_DEFAULTS.fontWeight),
                  h = r(t.fontSize, o.EDITOR_FONT_DEFAULTS.fontSize)
                0 === (h = a(h, 0, 100))
                  ? (h = o.EDITOR_FONT_DEFAULTS.fontSize)
                  : h < 8 && (h = 8)
                var p = s(t.lineHeight, 0)
                0 === (p = a(p, 0, 150))
                  ? (p = Math.round(l * h))
                  : p < 8 && (p = 8)
                var f = r(t.letterSpacing, 0)
                f = a(f, -20, 20)
                var g = 1 + 0.1 * i.EditorZoom.getZoomLevel()
                return (
                  (h *= g),
                  (p *= g),
                  new e({
                    zoomLevel: n,
                    fontFamily: c,
                    fontWeight: d,
                    fontSize: h,
                    lineHeight: p,
                    letterSpacing: f
                  })
                )
              }),
              (e.prototype.getId = function() {
                return (
                  this.zoomLevel +
                  '-' +
                  this.fontFamily +
                  '-' +
                  this.fontWeight +
                  '-' +
                  this.fontSize +
                  '-' +
                  this.lineHeight +
                  '-' +
                  this.letterSpacing
                )
              }),
              e
            )
          })()
        t.BareFontInfo = c
        var d = (function(e) {
          function t(t, n) {
            var i = e.call(this, t) || this
            return (
              (i.isTrusted = n),
              (i.isMonospace = t.isMonospace),
              (i.typicalHalfwidthCharacterWidth =
                t.typicalHalfwidthCharacterWidth),
              (i.typicalFullwidthCharacterWidth =
                t.typicalFullwidthCharacterWidth),
              (i.spaceWidth = t.spaceWidth),
              (i.maxDigitWidth = t.maxDigitWidth),
              i
            )
          }
          return (
            f(t, e),
            (t.prototype.equals = function(e) {
              return (
                this.fontFamily === e.fontFamily &&
                this.fontWeight === e.fontWeight &&
                this.fontSize === e.fontSize &&
                this.lineHeight === e.lineHeight &&
                this.letterSpacing === e.letterSpacing &&
                this.typicalHalfwidthCharacterWidth ===
                  e.typicalHalfwidthCharacterWidth &&
                this.typicalFullwidthCharacterWidth ===
                  e.typicalFullwidthCharacterWidth &&
                this.spaceWidth === e.spaceWidth &&
                this.maxDigitWidth === e.maxDigitWidth
              )
            }),
            t
          )
        })(c)
        t.FontInfo = d
      }),
      define(d[92], h([
        0,
        1,
        38,
        9,
        12,
        2,
        21,
        102,
        212,
        49,
        98,
        217,
        184,
        104,
        52
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, f) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        t.LONG_LINE_BOUNDARY = 1e4
        var g = (function() {
          function e(t, i) {
            this._eventEmitter = new n.OrderGuaranteeEventEmitter()
            var o = e.resolveCreationData(t, i)
            ;(this._shouldSimplifyMode = o.text.length > e.MODEL_SYNC_LIMIT),
              (this._shouldDenyMode =
                o.text.length > e.MODEL_TOKENIZATION_LIMIT),
              (this._options = new s.TextModelResolvedOptions(o.options)),
              this._constructLines(o.text),
              this._setVersionId(1),
              (this._isDisposed = !1),
              (this._isDisposing = !1)
          }
          return (
            (e.createFromString = function(t, n) {
              return (
                void 0 === n && (n = e.DEFAULT_CREATION_OPTIONS),
                new e(p.RawTextSource.fromString(t), n)
              )
            }),
            (e.resolveCreationData = function(e, t) {
              var n,
                i = p.TextSource.fromRawTextSource(e, t.defaultEOL)
              if (t.detectIndentation) {
                var o = u.guessIndentation(i.lines, t.tabSize, t.insertSpaces)
                n = new s.TextModelResolvedOptions({
                  tabSize: o.tabSize,
                  insertSpaces: o.insertSpaces,
                  trimAutoWhitespace: t.trimAutoWhitespace,
                  defaultEOL: t.defaultEOL
                })
              } else
                n = new s.TextModelResolvedOptions({
                  tabSize: t.tabSize,
                  insertSpaces: t.insertSpaces,
                  trimAutoWhitespace: t.trimAutoWhitespace,
                  defaultEOL: t.defaultEOL
                })
              return { text: i, options: n }
            }),
            (e.prototype.addBulkListener = function(e) {
              return this._eventEmitter.addBulkListener(e)
            }),
            (e.prototype._assertNotDisposed = function() {
              if (this._isDisposed) throw new Error('Model is disposed!')
            }),
            (e.prototype.isTooLargeForHavingAMode = function() {
              return this._assertNotDisposed(), this._shouldDenyMode
            }),
            (e.prototype.isTooLargeForHavingARichMode = function() {
              return this._assertNotDisposed(), this._shouldSimplifyMode
            }),
            (e.prototype.getOptions = function() {
              return this._assertNotDisposed(), this._options
            }),
            (e.prototype.updateOptions = function(e) {
              this._assertNotDisposed()
              var t = void 0 !== e.tabSize ? e.tabSize : this._options.tabSize,
                n =
                  void 0 !== e.insertSpaces
                    ? e.insertSpaces
                    : this._options.insertSpaces,
                i =
                  void 0 !== e.trimAutoWhitespace
                    ? e.trimAutoWhitespace
                    : this._options.trimAutoWhitespace,
                o = new s.TextModelResolvedOptions({
                  tabSize: t,
                  insertSpaces: n,
                  defaultEOL: this._options.defaultEOL,
                  trimAutoWhitespace: i
                })
              if (!this._options.equals(o)) {
                var r = this._options.createChangeEvent(o)
                if (((this._options = o), r.tabSize))
                  for (
                    var a = this._options.tabSize,
                      u = 0,
                      l = this._lines.length;
                    u < l;
                    u++
                  )
                    this._lines[u].updateTabSize(a)
                this._eventEmitter.emit(
                  f.TextModelEventType.ModelOptionsChanged,
                  r
                )
              }
            }),
            (e.prototype.detectIndentation = function(e, t) {
              this._assertNotDisposed()
              var n = this._lines.map(function(e) {
                  return e.text
                }),
                i = u.guessIndentation(n, t, e)
              this.updateOptions({
                insertSpaces: i.insertSpaces,
                tabSize: i.tabSize
              })
            }),
            (e._normalizeIndentationFromWhitespace = function(e, t, n) {
              for (var i = 0, o = 0; o < e.length; o++)
                '\t' === e.charAt(o) ? (i += t) : i++
              var r = ''
              if (!n) {
                var s = Math.floor(i / t)
                i %= t
                for (o = 0; o < s; o++) r += '\t'
              }
              for (o = 0; o < i; o++) r += ' '
              return r
            }),
            (e.normalizeIndentation = function(t, n, o) {
              var r = i.firstNonWhitespaceIndex(t)
              return (
                -1 === r && (r = t.length),
                e._normalizeIndentationFromWhitespace(t.substring(0, r), n, o) +
                  t.substring(r)
              )
            }),
            (e.prototype.normalizeIndentation = function(t) {
              return (
                this._assertNotDisposed(),
                e.normalizeIndentation(
                  t,
                  this._options.tabSize,
                  this._options.insertSpaces
                )
              )
            }),
            (e.prototype.getOneIndent = function() {
              this._assertNotDisposed()
              var e = this._options.tabSize
              if (this._options.insertSpaces) {
                for (var t = '', n = 0; n < e; n++) t += ' '
                return t
              }
              return '\t'
            }),
            (e.prototype.getVersionId = function() {
              return this._assertNotDisposed(), this._versionId
            }),
            (e.prototype.mightContainRTL = function() {
              return this._mightContainRTL
            }),
            (e.prototype.mightContainNonBasicASCII = function() {
              return this._mightContainNonBasicASCII
            }),
            (e.prototype.getAlternativeVersionId = function() {
              return this._assertNotDisposed(), this._alternativeVersionId
            }),
            (e.prototype._ensureLineStarts = function() {
              if (!this._lineStarts) {
                for (
                  var e = this._EOL.length,
                    t = this._lines.length,
                    n = new Uint32Array(t),
                    i = 0;
                  i < t;
                  i++
                )
                  n[i] = this._lines[i].text.length + e
                this._lineStarts = new c.PrefixSumComputer(n)
              }
            }),
            (e.prototype.getOffsetAt = function(e) {
              this._assertNotDisposed()
              var t = this._validatePosition(e.lineNumber, e.column, !1)
              return (
                this._ensureLineStarts(),
                this._lineStarts.getAccumulatedValue(t.lineNumber - 2) +
                  t.column -
                  1
              )
            }),
            (e.prototype.getPositionAt = function(e) {
              this._assertNotDisposed(),
                (e = Math.floor(e)),
                (e = Math.max(0, e)),
                this._ensureLineStarts()
              var t = this._lineStarts.getIndexOf(e),
                n = this._lines[t.index].text.length
              return new o.Position(
                t.index + 1,
                Math.min(t.remainder + 1, n + 1)
              )
            }),
            (e.prototype._increaseVersionId = function() {
              this._setVersionId(this._versionId + 1)
            }),
            (e.prototype._setVersionId = function(e) {
              ;(this._versionId = e),
                (this._alternativeVersionId = this._versionId)
            }),
            (e.prototype._overwriteAlternativeVersionId = function(e) {
              this._alternativeVersionId = e
            }),
            (e.prototype.isDisposed = function() {
              return this._isDisposed
            }),
            (e.prototype.dispose = function() {
              ;(this._isDisposed = !0),
                (this._lines = null),
                (this._EOL = null),
                (this._BOM = null),
                this._eventEmitter.dispose()
            }),
            (e.prototype._emitContentChanged2 = function(
              e,
              t,
              n,
              i,
              o,
              s,
              a,
              u,
              l
            ) {
              var c = {
                changes: [
                  { range: new r.Range(e, t, n, i), rangeLength: o, text: s }
                ],
                eol: this._EOL,
                versionId: this.getVersionId(),
                isUndoing: a,
                isRedoing: u,
                isFlush: l
              }
              this._isDisposing ||
                this._eventEmitter.emit(
                  f.TextModelEventType.ModelContentChanged,
                  c
                )
            }),
            (e.prototype._resetValue = function(e) {
              this._constructLines(e), this._increaseVersionId()
            }),
            (e.prototype.equals = function(e) {
              if ((this._assertNotDisposed(), this._BOM !== e.BOM)) return !1
              if (this._EOL !== e.EOL) return !1
              if (this._lines.length !== e.lines.length) return !1
              for (var t = 0, n = this._lines.length; t < n; t++)
                if (this._lines[t].text !== e.lines[t]) return !1
              return !0
            }),
            (e.prototype.setValue = function(e) {
              if ((this._assertNotDisposed(), null !== e)) {
                var t = p.TextSource.fromString(e, this._options.defaultEOL)
                this.setValueFromTextSource(t)
              }
            }),
            (e.prototype.setValueFromTextSource = function(e) {
              if ((this._assertNotDisposed(), null !== e)) {
                var t = this.getFullModelRange(),
                  n = this.getValueLengthInRange(t),
                  i = this.getLineCount(),
                  o = this.getLineMaxColumn(i)
                this._resetValue(e),
                  this._emitModelRawContentChangedEvent(
                    new f.ModelRawContentChangedEvent(
                      [new f.ModelRawFlush()],
                      this._versionId,
                      !1,
                      !1
                    )
                  ),
                  this._emitContentChanged2(
                    1,
                    1,
                    i,
                    o,
                    n,
                    this.getValue(),
                    !1,
                    !1,
                    !0
                  )
              }
            }),
            (e.prototype.getValue = function(e, t) {
              void 0 === t && (t = !1), this._assertNotDisposed()
              var n = this.getFullModelRange(),
                i = this.getValueInRange(n, e)
              return t ? this._BOM + i : i
            }),
            (e.prototype.getValueLength = function(e, t) {
              void 0 === t && (t = !1), this._assertNotDisposed()
              var n = this.getFullModelRange(),
                i = this.getValueLengthInRange(n, e)
              return t ? this._BOM.length + i : i
            }),
            (e.prototype.getValueInRange = function(e, t) {
              void 0 === t && (t = s.EndOfLinePreference.TextDefined),
                this._assertNotDisposed()
              var n = this.validateRange(e)
              if (n.isEmpty()) return ''
              if (n.startLineNumber === n.endLineNumber)
                return this._lines[n.startLineNumber - 1].text.substring(
                  n.startColumn - 1,
                  n.endColumn - 1
                )
              var i = this._getEndOfLine(t),
                o = n.startLineNumber - 1,
                r = n.endLineNumber - 1,
                a = []
              a.push(this._lines[o].text.substring(n.startColumn - 1))
              for (var u = o + 1; u < r; u++) a.push(this._lines[u].text)
              return (
                a.push(this._lines[r].text.substring(0, n.endColumn - 1)),
                a.join(i)
              )
            }),
            (e.prototype.getValueLengthInRange = function(e, t) {
              void 0 === t && (t = s.EndOfLinePreference.TextDefined),
                this._assertNotDisposed()
              var n = this.validateRange(e)
              if (n.isEmpty()) return 0
              if (n.startLineNumber === n.endLineNumber)
                return n.endColumn - n.startColumn
              var i = this.getOffsetAt(
                new o.Position(n.startLineNumber, n.startColumn)
              )
              return (
                this.getOffsetAt(new o.Position(n.endLineNumber, n.endColumn)) -
                i
              )
            }),
            (e.prototype.isDominatedByLongLines = function() {
              this._assertNotDisposed()
              var e,
                n,
                i,
                o = 0,
                r = 0,
                s = this._lines
              for (e = 0, n = this._lines.length; e < n; e++)
                (i = s[e].text.length) >= t.LONG_LINE_BOUNDARY
                  ? (r += i)
                  : (o += i)
              return r > o
            }),
            (e.prototype.getLineCount = function() {
              return this._assertNotDisposed(), this._lines.length
            }),
            (e.prototype.getLineContent = function(e) {
              if ((this._assertNotDisposed(), e < 1 || e > this.getLineCount()))
                throw new Error('Illegal value ' + e + ' for `lineNumber`')
              return this._lines[e - 1].text
            }),
            (e.prototype.getIndentLevel = function(e) {
              if ((this._assertNotDisposed(), e < 1 || e > this.getLineCount()))
                throw new Error('Illegal value ' + e + ' for `lineNumber`')
              return this._lines[e - 1].getIndentLevel()
            }),
            (e.prototype._resetIndentRanges = function() {
              this._indentRanges = null
            }),
            (e.prototype._getIndentRanges = function() {
              return (
                this._indentRanges ||
                  (this._indentRanges = d.computeRanges(this)),
                this._indentRanges
              )
            }),
            (e.prototype.getIndentRanges = function() {
              this._assertNotDisposed()
              var e = this._getIndentRanges()
              return d.IndentRange.deepCloneArr(e)
            }),
            (e.prototype._toValidLineIndentGuide = function(e, t) {
              var n = this._lines[e - 1].getIndentLevel()
              if (-1 === n) return t
              var i = Math.ceil(n / this._options.tabSize)
              return Math.min(i, t)
            }),
            (e.prototype.getLineIndentGuide = function(e) {
              if ((this._assertNotDisposed(), e < 1 || e > this.getLineCount()))
                throw new Error('Illegal value ' + e + ' for `lineNumber`')
              for (
                var t = this._getIndentRanges(), n = t.length - 1;
                n >= 0;
                n--
              ) {
                var i = t[n]
                if (i.startLineNumber === e)
                  return this._toValidLineIndentGuide(
                    e,
                    Math.ceil(i.indent / this._options.tabSize)
                  )
                if (i.startLineNumber < e && e <= i.endLineNumber)
                  return this._toValidLineIndentGuide(
                    e,
                    1 + Math.floor(i.indent / this._options.tabSize)
                  )
                if (i.endLineNumber + 1 === e) {
                  for (var o = i.indent; n > 0; )
                    (i = t[--n]).endLineNumber + 1 === e && (o = i.indent)
                  return this._toValidLineIndentGuide(
                    e,
                    Math.ceil(o / this._options.tabSize)
                  )
                }
              }
              return 0
            }),
            (e.prototype.getLinesContent = function() {
              this._assertNotDisposed()
              for (var e = [], t = 0, n = this._lines.length; t < n; t++)
                e[t] = this._lines[t].text
              return e
            }),
            (e.prototype.getEOL = function() {
              return this._assertNotDisposed(), this._EOL
            }),
            (e.prototype.setEOL = function(e) {
              this._assertNotDisposed()
              var t = e === s.EndOfLineSequence.CRLF ? '\r\n' : '\n'
              if (this._EOL !== t) {
                var n = this.getFullModelRange(),
                  i = this.getValueLengthInRange(n),
                  o = this.getLineCount(),
                  r = this.getLineMaxColumn(o)
                ;(this._EOL = t),
                  (this._lineStarts = null),
                  this._increaseVersionId(),
                  this._emitModelRawContentChangedEvent(
                    new f.ModelRawContentChangedEvent(
                      [new f.ModelRawEOLChanged()],
                      this._versionId,
                      !1,
                      !1
                    )
                  ),
                  this._emitContentChanged2(
                    1,
                    1,
                    o,
                    r,
                    i,
                    this.getValue(),
                    !1,
                    !1,
                    !1
                  )
              }
            }),
            (e.prototype.getLineMinColumn = function(e) {
              return this._assertNotDisposed(), 1
            }),
            (e.prototype.getLineMaxColumn = function(e) {
              if ((this._assertNotDisposed(), e < 1 || e > this.getLineCount()))
                throw new Error('Illegal value ' + e + ' for `lineNumber`')
              return this._lines[e - 1].text.length + 1
            }),
            (e.prototype.getLineFirstNonWhitespaceColumn = function(e) {
              if ((this._assertNotDisposed(), e < 1 || e > this.getLineCount()))
                throw new Error('Illegal value ' + e + ' for `lineNumber`')
              var t = i.firstNonWhitespaceIndex(this._lines[e - 1].text)
              return -1 === t ? 0 : t + 1
            }),
            (e.prototype.getLineLastNonWhitespaceColumn = function(e) {
              if ((this._assertNotDisposed(), e < 1 || e > this.getLineCount()))
                throw new Error('Illegal value ' + e + ' for `lineNumber`')
              var t = i.lastNonWhitespaceIndex(this._lines[e - 1].text)
              return -1 === t ? 0 : t + 2
            }),
            (e.prototype.validateLineNumber = function(e) {
              return (
                this._assertNotDisposed(),
                e < 1 && (e = 1),
                e > this._lines.length && (e = this._lines.length),
                e
              )
            }),
            (e.prototype._validatePosition = function(e, t, n) {
              var r = Math.floor('number' == typeof e ? e : 1),
                s = Math.floor('number' == typeof t ? t : 1)
              if (r < 1) return new o.Position(1, 1)
              if (r > this._lines.length)
                return new o.Position(
                  this._lines.length,
                  this.getLineMaxColumn(this._lines.length)
                )
              if (s <= 1) return new o.Position(r, 1)
              var a = this.getLineMaxColumn(r)
              if (s >= a) return new o.Position(r, a)
              if (n) {
                var u = this._lines[r - 1].text.charCodeAt(s - 2)
                if (i.isHighSurrogate(u)) return new o.Position(r, s - 1)
              }
              return new o.Position(r, s)
            }),
            (e.prototype.validatePosition = function(e) {
              return (
                this._assertNotDisposed(),
                this._validatePosition(e.lineNumber, e.column, !0)
              )
            }),
            (e.prototype.validateRange = function(e) {
              this._assertNotDisposed()
              var t = this._validatePosition(
                  e.startLineNumber,
                  e.startColumn,
                  !1
                ),
                n = this._validatePosition(e.endLineNumber, e.endColumn, !1),
                o = t.lineNumber,
                s = t.column,
                a = n.lineNumber,
                u = n.column,
                l = this._lines[o - 1].text,
                c = this._lines[a - 1].text,
                d = s > 1 ? l.charCodeAt(s - 2) : 0,
                h = u > 1 && u <= c.length ? c.charCodeAt(u - 2) : 0,
                p = i.isHighSurrogate(d),
                f = i.isHighSurrogate(h)
              return p || f
                ? o === a && s === u
                  ? new r.Range(o, s - 1, a, u - 1)
                  : p && f
                    ? new r.Range(o, s - 1, a, u + 1)
                    : p
                      ? new r.Range(o, s - 1, a, u)
                      : new r.Range(o, s, a, u + 1)
                : new r.Range(o, s, a, u)
            }),
            (e.prototype.modifyPosition = function(e, t) {
              return (
                this._assertNotDisposed(),
                this.getPositionAt(this.getOffsetAt(e) + t)
              )
            }),
            (e.prototype.getFullModelRange = function() {
              this._assertNotDisposed()
              var e = this.getLineCount()
              return new r.Range(1, 1, e, this.getLineMaxColumn(e))
            }),
            (e.prototype._emitModelRawContentChangedEvent = function(e) {
              this._isDisposing ||
                this._eventEmitter.emit(
                  f.TextModelEventType.ModelRawContentChanged2,
                  e
                )
            }),
            (e.prototype._constructLines = function(e) {
              for (
                var t = this._options.tabSize,
                  n = e.lines,
                  i = [],
                  o = 0,
                  r = n.length;
                o < r;
                o++
              )
                i[o] = new a.ModelLine(o + 1, n[o], t)
              ;(this._BOM = e.BOM),
                (this._mightContainRTL = e.containsRTL),
                (this._mightContainNonBasicASCII = !e.isBasicASCII),
                (this._EOL = e.EOL),
                (this._lines = i),
                (this._lineStarts = null),
                this._resetIndentRanges()
            }),
            (e.prototype._getEndOfLine = function(e) {
              switch (e) {
                case s.EndOfLinePreference.LF:
                  return '\n'
                case s.EndOfLinePreference.CRLF:
                  return '\r\n'
                case s.EndOfLinePreference.TextDefined:
                  return this.getEOL()
              }
              throw new Error('Unknown EOL preference')
            }),
            (e.prototype.findMatches = function(e, t, n, i, o, s, a) {
              void 0 === a && (a = 999), this._assertNotDisposed()
              var u
              return (
                (u = r.Range.isIRange(t)
                  ? this.validateRange(t)
                  : this.getFullModelRange()),
                h.TextModelSearch.findMatches(
                  this,
                  new h.SearchParams(e, n, i, o),
                  u,
                  s,
                  a
                )
              )
            }),
            (e.prototype.findNextMatch = function(e, t, n, i, o, r) {
              this._assertNotDisposed()
              var s = this.validatePosition(t)
              return h.TextModelSearch.findNextMatch(
                this,
                new h.SearchParams(e, n, i, o),
                s,
                r
              )
            }),
            (e.prototype.findPreviousMatch = function(e, t, n, i, o, r) {
              this._assertNotDisposed()
              var s = this.validatePosition(t)
              return h.TextModelSearch.findPreviousMatch(
                this,
                new h.SearchParams(e, n, i, o),
                s,
                r
              )
            }),
            e
          )
        })()
        ;(g.MODEL_SYNC_LIMIT = 5242880),
          (g.MODEL_TOKENIZATION_LIMIT = 20971520),
          (g.DEFAULT_CREATION_OPTIONS = {
            tabSize: l.EDITOR_MODEL_DEFAULTS.tabSize,
            insertSpaces: l.EDITOR_MODEL_DEFAULTS.insertSpaces,
            detectIndentation: !1,
            defaultEOL: s.DefaultEndOfLine.LF,
            trimAutoWhitespace: l.EDITOR_MODEL_DEFAULTS.trimAutoWhitespace
          }),
          (t.TextModel = g)
      }),
      define(d[37], h([0, 1, 12, 9, 92, 22, 2, 43, 10]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        !(function(e) {
          ;(e[(e.Primary = 0)] = 'Primary'),
            (e[(e.TopMost = 1)] = 'TopMost'),
            (e[(e.BottomMost = 2)] = 'BottomMost')
        })(t.RevealTarget || (t.RevealTarget = {}))
        var l = (function() {
          function e(t, n, i, o) {
            var r = o.editor
            ;(this.readOnly = r.readOnly),
              (this.tabSize = i.tabSize),
              (this.insertSpaces = i.insertSpaces),
              (this.oneIndent = n),
              (this.pageSize =
                Math.floor(r.layoutInfo.height / r.fontInfo.lineHeight) - 2),
              (this.lineHeight = r.lineHeight),
              (this.useTabStops = r.useTabStops),
              (this.wordSeparators = r.wordSeparators),
              (this.emptySelectionClipboard = r.emptySelectionClipboard),
              (this.autoClosingBrackets = r.autoClosingBrackets),
              (this.autoIndent = r.autoIndent),
              (this.autoClosingPairsOpen = {}),
              (this.autoClosingPairsClose = {}),
              (this.surroundingPairs = {}),
              (this.electricChars = {})
            var s = e._getElectricCharacters(t)
            if (s) for (l = 0; l < s.length; l++) this.electricChars[s[l]] = !0
            var a = e._getAutoClosingPairs(t)
            if (a)
              for (l = 0; l < a.length; l++)
                (this.autoClosingPairsOpen[a[l].open] = a[l].close),
                  (this.autoClosingPairsClose[a[l].close] = a[l].open)
            var u = e._getSurroundingPairs(t)
            if (u)
              for (var l = 0; l < u.length; l++)
                this.surroundingPairs[u[l].open] = u[l].close
          }
          return (
            (e.shouldRecreate = function(e) {
              return (
                e.layoutInfo ||
                e.wordSeparators ||
                e.emptySelectionClipboard ||
                e.autoClosingBrackets ||
                e.useTabStops ||
                e.lineHeight ||
                e.readOnly
              )
            }),
            (e.prototype.normalizeIndentation = function(e) {
              return o.TextModel.normalizeIndentation(
                e,
                this.tabSize,
                this.insertSpaces
              )
            }),
            (e._getElectricCharacters = function(e) {
              try {
                return a.LanguageConfigurationRegistry.getElectricCharacters(
                  e.id
                )
              } catch (e) {
                return u.onUnexpectedError(e), null
              }
            }),
            (e._getAutoClosingPairs = function(e) {
              try {
                return a.LanguageConfigurationRegistry.getAutoClosingPairs(e.id)
              } catch (e) {
                return u.onUnexpectedError(e), null
              }
            }),
            (e._getSurroundingPairs = function(e) {
              try {
                return a.LanguageConfigurationRegistry.getSurroundingPairs(e.id)
              } catch (e) {
                return u.onUnexpectedError(e), null
              }
            }),
            e
          )
        })()
        t.CursorConfiguration = l
        var c = (function() {
          function e(t, n, i, o) {
            ;(this.selectionStart = t),
              (this.selectionStartLeftoverVisibleColumns = n),
              (this.position = i),
              (this.leftoverVisibleColumns = o),
              (this.selection = e._computeSelection(
                this.selectionStart,
                this.position
              ))
          }
          return (
            (e.prototype.equals = function(e) {
              return (
                this.selectionStartLeftoverVisibleColumns ===
                  e.selectionStartLeftoverVisibleColumns &&
                this.leftoverVisibleColumns === e.leftoverVisibleColumns &&
                this.position.equals(e.position) &&
                this.selectionStart.equalsRange(e.selectionStart)
              )
            }),
            (e.prototype.hasSelection = function() {
              return !this.selection.isEmpty() || !this.selectionStart.isEmpty()
            }),
            (e.prototype.move = function(t, i, o, r) {
              return t
                ? new e(
                    this.selectionStart,
                    this.selectionStartLeftoverVisibleColumns,
                    new n.Position(i, o),
                    r
                  )
                : new e(new s.Range(i, o, i, o), r, new n.Position(i, o), r)
            }),
            (e._computeSelection = function(e, t) {
              var n, i, o, s
              return (
                e.isEmpty()
                  ? ((n = e.startLineNumber),
                    (i = e.startColumn),
                    (o = t.lineNumber),
                    (s = t.column))
                  : t.isBeforeOrEqual(e.getStartPosition())
                    ? ((n = e.endLineNumber),
                      (i = e.endColumn),
                      (o = t.lineNumber),
                      (s = t.column))
                    : ((n = e.startLineNumber),
                      (i = e.startColumn),
                      (o = t.lineNumber),
                      (s = t.column)),
                new r.Selection(n, i, o, s)
              )
            }),
            e
          )
        })()
        t.SingleCursorState = c
        var d = (function() {
          function e(e, t, n) {
            ;(this.model = t),
              (this.viewModel = n),
              (this.config = new l(
                this.model.getLanguageIdentifier(),
                this.model.getOneIndent(),
                this.model.getOptions(),
                e
              ))
          }
          return (
            (e.prototype.validateViewPosition = function(e, t) {
              return this.viewModel.coordinatesConverter.validateViewPosition(
                e,
                t
              )
            }),
            (e.prototype.validateViewRange = function(e, t) {
              return this.viewModel.coordinatesConverter.validateViewRange(e, t)
            }),
            (e.prototype.convertViewRangeToModelRange = function(e) {
              return this.viewModel.coordinatesConverter.convertViewRangeToModelRange(
                e
              )
            }),
            (e.prototype.convertViewPositionToModelPosition = function(e, t) {
              return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(
                new n.Position(e, t)
              )
            }),
            (e.prototype.convertModelPositionToViewPosition = function(e) {
              return this.viewModel.coordinatesConverter.convertModelPositionToViewPosition(
                e
              )
            }),
            (e.prototype.convertModelRangeToViewRange = function(e) {
              return this.viewModel.coordinatesConverter.convertModelRangeToViewRange(
                e
              )
            }),
            (e.prototype.getScrollTop = function() {
              return this.viewModel.viewLayout.getScrollTop()
            }),
            (e.prototype.getCompletelyVisibleViewRange = function() {
              return this.viewModel.getCompletelyVisibleViewRange()
            }),
            (e.prototype.getCompletelyVisibleModelRange = function() {
              var e = this.viewModel.getCompletelyVisibleViewRange()
              return this.viewModel.coordinatesConverter.convertViewRangeToModelRange(
                e
              )
            }),
            (e.prototype.getCompletelyVisibleViewRangeAtScrollTop = function(
              e
            ) {
              return this.viewModel.getCompletelyVisibleViewRangeAtScrollTop(e)
            }),
            (e.prototype.getCompletelyVisibleModelRangeAtScrollTop = function(
              e
            ) {
              var t = this.viewModel.getCompletelyVisibleViewRangeAtScrollTop(e)
              return this.viewModel.coordinatesConverter.convertViewRangeToModelRange(
                t
              )
            }),
            (e.prototype.getVerticalOffsetForViewLine = function(e) {
              return this.viewModel.viewLayout.getVerticalOffsetForLineNumber(e)
            }),
            e
          )
        })()
        t.CursorContext = d
        var h = (function() {
          function e(e, t) {
            ;(this.modelState = e), (this.viewState = t)
          }
          return (
            (e.fromModelState = function(t) {
              return new e(t, null)
            }),
            (e.fromViewState = function(t) {
              return new e(null, t)
            }),
            (e.fromModelSelection = function(t) {
              var i = t.selectionStartLineNumber,
                o = t.selectionStartColumn,
                r = t.positionLineNumber,
                a = t.positionColumn,
                u = new c(new s.Range(i, o, i, o), 0, new n.Position(r, a), 0)
              return e.fromModelState(u)
            }),
            (e.fromModelSelections = function(e) {
              for (var t = [], n = 0, i = e.length; n < i; n++)
                t[n] = this.fromModelSelection(e[n])
              return t
            }),
            (e.ensureInEditableRange = function(t, n) {
              var i = t.model
              if (!i.hasEditableRange()) return n
              for (
                var o = i.getEditableRange(),
                  r = t.convertModelRangeToViewRange(o),
                  s = [],
                  a = 0,
                  u = n.length;
                a < u;
                a++
              ) {
                var l = n[a]
                if (l.modelState) {
                  var c = e._ensureInEditableRange(l.modelState, o)
                  s[a] = c ? e.fromModelState(c) : l
                } else {
                  var d = e._ensureInEditableRange(l.viewState, r)
                  s[a] = d ? e.fromViewState(d) : l
                }
              }
              return s
            }),
            (e._ensureInEditableRange = function(e, t) {
              var i = e.position
              return i.lineNumber < t.startLineNumber ||
                (i.lineNumber === t.startLineNumber && i.column < t.startColumn)
                ? new c(
                    e.selectionStart,
                    e.selectionStartLeftoverVisibleColumns,
                    new n.Position(t.startLineNumber, t.startColumn),
                    0
                  )
                : i.lineNumber > t.endLineNumber ||
                  (i.lineNumber === t.endLineNumber && i.column > t.endColumn)
                  ? new c(
                      e.selectionStart,
                      e.selectionStartLeftoverVisibleColumns,
                      new n.Position(t.endLineNumber, t.endColumn),
                      0
                    )
                  : null
            }),
            (e.prototype.equals = function(e) {
              return (
                this.viewState.equals(e.viewState) &&
                this.modelState.equals(e.viewState)
              )
            }),
            e
          )
        })()
        t.CursorState = h
        var p = (function() {
          return function(e, t) {
            ;(this.commands = e),
              (this.shouldPushStackElementBefore =
                t.shouldPushStackElementBefore),
              (this.shouldPushStackElementAfter = t.shouldPushStackElementAfter)
          }
        })()
        t.EditOperationResult = p
        var f = (function() {
          function e() {}
          return (
            (e.isLowSurrogate = function(e, t, n) {
              var o = e.getLineContent(t)
              return (
                !(n < 0 || n >= o.length) && i.isLowSurrogate(o.charCodeAt(n))
              )
            }),
            (e.isHighSurrogate = function(e, t, n) {
              var o = e.getLineContent(t)
              return (
                !(n < 0 || n >= o.length) && i.isHighSurrogate(o.charCodeAt(n))
              )
            }),
            (e.isInsideSurrogatePair = function(e, t, n) {
              return this.isHighSurrogate(e, t, n - 2)
            }),
            (e.visibleColumnFromColumn = function(e, t, n) {
              var i = e.length
              i > t - 1 && (i = t - 1)
              for (var o = 0, r = 0; r < i; r++)
                9 === e.charCodeAt(r) ? (o = this.nextTabStop(o, n)) : (o += 1)
              return o
            }),
            (e.visibleColumnFromColumn2 = function(e, t, n) {
              return this.visibleColumnFromColumn(
                t.getLineContent(n.lineNumber),
                n.column,
                e.tabSize
              )
            }),
            (e.columnFromVisibleColumn = function(e, t, n) {
              if (t <= 0) return 1
              for (var i = e.length, o = 0, r = 0; r < i; r++) {
                var s = void 0
                if (
                  (s =
                    9 === e.charCodeAt(r) ? this.nextTabStop(o, n) : o + 1) >= t
                )
                  return s - t < t - o ? r + 2 : r + 1
                o = s
              }
              return i + 1
            }),
            (e.columnFromVisibleColumn2 = function(e, t, n, i) {
              var o = this.columnFromVisibleColumn(
                  t.getLineContent(n),
                  i,
                  e.tabSize
                ),
                r = t.getLineMinColumn(n)
              if (o < r) return r
              var s = t.getLineMaxColumn(n)
              return o > s ? s : o
            }),
            (e.nextTabStop = function(e, t) {
              return e + t - (e % t)
            }),
            (e.prevTabStop = function(e, t) {
              return e - 1 - ((e - 1) % t)
            }),
            e
          )
        })()
        t.CursorColumns = f
      }),
      define(d[183], h([0, 1, 9, 37, 2, 22, 43]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = (function() {
          function e(e, t) {
            ;(this._opts = t),
              (this._selection = e),
              (this._useLastEditRangeForCursorEndPosition = !1),
              (this._selectionStartColumnStaysPut = !1)
          }
          return (
            (e.unshiftIndentCount = function(e, t, n) {
              var o = i.CursorColumns.visibleColumnFromColumn(e, t, n)
              return i.CursorColumns.prevTabStop(o, n) / n
            }),
            (e.shiftIndentCount = function(e, t, n) {
              var o = i.CursorColumns.visibleColumnFromColumn(e, t, n)
              return i.CursorColumns.nextTabStop(o, n) / n
            }),
            (e.prototype._addEditOperation = function(e, t, n) {
              this._useLastEditRangeForCursorEndPosition
                ? e.addTrackedEditOperation(t, n)
                : e.addEditOperation(t, n)
            }),
            (e.prototype.getEditOperations = function(t, r) {
              var a = this._selection.startLineNumber,
                u = this._selection.endLineNumber
              1 === this._selection.endColumn && a !== u && (u -= 1)
              var l = this._opts.tabSize,
                c = this._opts.oneIndent,
                d = a === u
              if (
                (this._selection.isEmpty() &&
                  /^\s*$/.test(t.getLineContent(a)) &&
                  (this._useLastEditRangeForCursorEndPosition = !0),
                this._opts.useTabStops)
              )
                for (var h = ['', c], p = 0, f = 0, g = a; g <= u; g++, p = f) {
                  f = 0
                  var m = t.getLineContent(g),
                    v = n.firstNonWhitespaceIndex(m)
                  if (
                    (!this._opts.isUnshift || (0 !== m.length && 0 !== v)) &&
                    (d || this._opts.isUnshift || 0 !== m.length)
                  ) {
                    if (
                      (-1 === v && (v = m.length),
                      g > 1 &&
                        i.CursorColumns.visibleColumnFromColumn(m, v + 1, l) %
                          l !=
                          0)
                    ) {
                      var _ = s.LanguageConfigurationRegistry.getRawEnterActionAtPosition(
                        t,
                        g - 1,
                        t.getLineMaxColumn(g - 1)
                      )
                      if (_) {
                        if (((f = p), _.appendText))
                          for (
                            var y = 0, b = _.appendText.length;
                            y < b && f < l && 32 === _.appendText.charCodeAt(y);
                            y++
                          )
                            f++
                        _.removeText && (f = Math.max(0, f - _.removeText))
                        for (
                          y = 0;
                          y < f && (0 !== v && 32 === m.charCodeAt(v - 1));
                          y++
                        )
                          v--
                      }
                    }
                    if (!this._opts.isUnshift || 0 !== v) {
                      var C = void 0
                      C = this._opts.isUnshift
                        ? e.unshiftIndentCount(m, v + 1, l)
                        : e.shiftIndentCount(m, v + 1, l)
                      for (y = h.length; y <= C; y++) h[y] = h[y - 1] + c
                      this._addEditOperation(
                        r,
                        new o.Range(g, 1, g, v + 1),
                        h[C]
                      ),
                        g === a &&
                          (this._selectionStartColumnStaysPut =
                            this._selection.startColumn <= v + 1)
                    }
                  }
                }
              else
                for (g = a; g <= u; g++) {
                  var m = t.getLineContent(g),
                    v = n.firstNonWhitespaceIndex(m)
                  if (
                    (!this._opts.isUnshift || (0 !== m.length && 0 !== v)) &&
                    ((d || this._opts.isUnshift || 0 !== m.length) &&
                      (-1 === v && (v = m.length),
                      !this._opts.isUnshift || 0 !== v))
                  )
                    if (this._opts.isUnshift) {
                      v = Math.min(v, l)
                      for (var w = 0; w < v; w++)
                        if (9 === m.charCodeAt(w)) {
                          v = w + 1
                          break
                        }
                      this._addEditOperation(r, new o.Range(g, 1, g, v + 1), '')
                    } else
                      this._addEditOperation(r, new o.Range(g, 1, g, 1), c),
                        g === a &&
                          (this._selectionStartColumnStaysPut =
                            1 === this._selection.startColumn)
                }
              this._selectionId = r.trackSelection(this._selection)
            }),
            (e.prototype.computeCursorState = function(e, t) {
              if (this._useLastEditRangeForCursorEndPosition) {
                var n = t.getInverseEditOperations()[0]
                return new r.Selection(
                  n.range.endLineNumber,
                  n.range.endColumn,
                  n.range.endLineNumber,
                  n.range.endColumn
                )
              }
              var i = t.getTrackedSelection(this._selectionId)
              if (this._selectionStartColumnStaysPut) {
                var o = this._selection.startColumn
                return i.startColumn <= o
                  ? i
                  : i.getDirection() === r.SelectionDirection.LTR
                    ? new r.Selection(
                        i.startLineNumber,
                        o,
                        i.endLineNumber,
                        i.endColumn
                      )
                    : new r.Selection(
                        i.endLineNumber,
                        i.endColumn,
                        i.startLineNumber,
                        o
                      )
              }
              return i
            }),
            e
          )
        })()
        t.ShiftCommand = a
      }),
      define(d[301], h([0, 1, 12, 2, 37]), function(e, t, n, i, o) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = (function() {
          function e() {}
          return (
            (e._columnSelect = function(e, t, r, s, a, u) {
              for (
                var l = Math.abs(a - r) + 1,
                  c = r > a,
                  d = s > u,
                  h = s < u,
                  p = [],
                  f = 0;
                f < l;
                f++
              ) {
                var g = r + (c ? -f : f),
                  m = o.CursorColumns.columnFromVisibleColumn2(e, t, g, s),
                  v = o.CursorColumns.columnFromVisibleColumn2(e, t, g, u),
                  _ = o.CursorColumns.visibleColumnFromColumn2(
                    e,
                    t,
                    new n.Position(g, m)
                  ),
                  y = o.CursorColumns.visibleColumnFromColumn2(
                    e,
                    t,
                    new n.Position(g, v)
                  )
                if (h) {
                  if (_ > u) continue
                  if (y < s) continue
                }
                if (d) {
                  if (y > s) continue
                  if (_ < u) continue
                }
                p.push(
                  new o.SingleCursorState(
                    new i.Range(g, m, g, m),
                    0,
                    new n.Position(g, v),
                    0
                  )
                )
              }
              return {
                viewStates: p,
                reversed: c,
                toLineNumber: a,
                toVisualColumn: u
              }
            }),
            (e.columnSelect = function(t, i, r, s, a) {
              var u = new n.Position(
                  r.selectionStartLineNumber,
                  r.selectionStartColumn
                ),
                l = o.CursorColumns.visibleColumnFromColumn2(t, i, u)
              return e._columnSelect(t, i, u.lineNumber, l, s, a)
            }),
            (e.columnSelectLeft = function(e, t, n, i, o) {
              return o > 1 && o--, this.columnSelect(e, t, n.selection, i, o)
            }),
            (e.columnSelectRight = function(e, t, i, r, s) {
              for (
                var a = 0,
                  u = Math.min(i.position.lineNumber, r),
                  l = Math.max(i.position.lineNumber, r),
                  c = u;
                c <= l;
                c++
              ) {
                var d = t.getLineMaxColumn(c),
                  h = o.CursorColumns.visibleColumnFromColumn2(
                    e,
                    t,
                    new n.Position(c, d)
                  )
                a = Math.max(a, h)
              }
              return s < a && s++, this.columnSelect(e, t, i.selection, r, s)
            }),
            (e.columnSelectUp = function(e, t, n, i, o, r) {
              return (
                (o -= i ? e.pageSize : 1) < 1 && (o = 1),
                this.columnSelect(e, t, n.selection, o, r)
              )
            }),
            (e.columnSelectDown = function(e, t, n, i, o, r) {
              return (
                (o += i ? e.pageSize : 1) > t.getLineCount() &&
                  (o = t.getLineCount()),
                this.columnSelect(e, t, n.selection, o, r)
              )
            }),
            e
          )
        })()
        t.ColumnSelection = r
      }),
      define(d[182], h([0, 1, 37, 12, 2]), function(e, t, n, i, o) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = (function() {
          return function(e, t, n) {
            ;(this.lineNumber = e),
              (this.column = t),
              (this.leftoverVisibleColumns = n)
          }
        })()
        t.CursorPosition = r
        var s = (function() {
          function e() {}
          return (
            (e.left = function(e, t, i, o) {
              return (
                o > t.getLineMinColumn(i)
                  ? n.CursorColumns.isLowSurrogate(t, i, o - 2)
                    ? (o -= 2)
                    : (o -= 1)
                  : i > 1 && ((i -= 1), (o = t.getLineMaxColumn(i))),
                new r(i, o, 0)
              )
            }),
            (e.moveLeft = function(t, n, i, o, r) {
              var s, a
              if (i.hasSelection() && !o)
                (s = i.selection.startLineNumber), (a = i.selection.startColumn)
              else {
                var u = e.left(
                  t,
                  n,
                  i.position.lineNumber,
                  i.position.column - (r - 1)
                )
                ;(s = u.lineNumber), (a = u.column)
              }
              return i.move(o, s, a, 0)
            }),
            (e.right = function(e, t, i, o) {
              return (
                o < t.getLineMaxColumn(i)
                  ? n.CursorColumns.isHighSurrogate(t, i, o - 1)
                    ? (o += 2)
                    : (o += 1)
                  : i < t.getLineCount() &&
                    ((i += 1), (o = t.getLineMinColumn(i))),
                new r(i, o, 0)
              )
            }),
            (e.moveRight = function(t, n, i, o, r) {
              var s, a
              if (i.hasSelection() && !o)
                (s = i.selection.endLineNumber), (a = i.selection.endColumn)
              else {
                var u = e.right(
                  t,
                  n,
                  i.position.lineNumber,
                  i.position.column + (r - 1)
                )
                ;(s = u.lineNumber), (a = u.column)
              }
              return i.move(o, s, a, 0)
            }),
            (e.down = function(e, t, i, o, s, a, u) {
              var l =
                n.CursorColumns.visibleColumnFromColumn(
                  t.getLineContent(i),
                  o,
                  e.tabSize
                ) + s
              i += a
              var c = t.getLineCount()
              return (
                i > c
                  ? ((i = c),
                    u
                      ? (o = t.getLineMaxColumn(i))
                      : ((o = Math.min(t.getLineMaxColumn(i), o)),
                        n.CursorColumns.isInsideSurrogatePair(t, i, o) &&
                          (o -= 1)))
                  : ((o = n.CursorColumns.columnFromVisibleColumn2(e, t, i, l)),
                    n.CursorColumns.isInsideSurrogatePair(t, i, o) && (o -= 1)),
                (s =
                  l -
                  n.CursorColumns.visibleColumnFromColumn(
                    t.getLineContent(i),
                    o,
                    e.tabSize
                  )),
                new r(i, o, s)
              )
            }),
            (e.moveDown = function(t, n, i, o, r) {
              var s, a
              i.hasSelection() && !o
                ? ((s = i.selection.endLineNumber), (a = i.selection.endColumn))
                : ((s = i.position.lineNumber), (a = i.position.column))
              var u = e.down(t, n, s, a, i.leftoverVisibleColumns, r, !0)
              return i.move(o, u.lineNumber, u.column, u.leftoverVisibleColumns)
            }),
            (e.translateDown = function(t, r, s) {
              var a = s.selection,
                u = e.down(
                  t,
                  r,
                  a.selectionStartLineNumber,
                  a.selectionStartColumn,
                  s.selectionStartLeftoverVisibleColumns,
                  1,
                  !1
                ),
                l = e.down(
                  t,
                  r,
                  a.positionLineNumber,
                  a.positionColumn,
                  s.leftoverVisibleColumns,
                  1,
                  !1
                )
              return new n.SingleCursorState(
                new o.Range(u.lineNumber, u.column, u.lineNumber, u.column),
                u.leftoverVisibleColumns,
                new i.Position(l.lineNumber, l.column),
                l.leftoverVisibleColumns
              )
            }),
            (e.up = function(e, t, i, o, s, a, u) {
              var l =
                n.CursorColumns.visibleColumnFromColumn(
                  t.getLineContent(i),
                  o,
                  e.tabSize
                ) + s
              return (
                (i -= a),
                i < 1
                  ? ((i = 1),
                    u
                      ? (o = t.getLineMinColumn(i))
                      : ((o = Math.min(t.getLineMaxColumn(i), o)),
                        n.CursorColumns.isInsideSurrogatePair(t, i, o) &&
                          (o -= 1)))
                  : ((o = n.CursorColumns.columnFromVisibleColumn2(e, t, i, l)),
                    n.CursorColumns.isInsideSurrogatePair(t, i, o) && (o -= 1)),
                (s =
                  l -
                  n.CursorColumns.visibleColumnFromColumn(
                    t.getLineContent(i),
                    o,
                    e.tabSize
                  )),
                new r(i, o, s)
              )
            }),
            (e.moveUp = function(t, n, i, o, r) {
              var s, a
              i.hasSelection() && !o
                ? ((s = i.selection.startLineNumber),
                  (a = i.selection.startColumn))
                : ((s = i.position.lineNumber), (a = i.position.column))
              var u = e.up(t, n, s, a, i.leftoverVisibleColumns, r, !0)
              return i.move(o, u.lineNumber, u.column, u.leftoverVisibleColumns)
            }),
            (e.translateUp = function(t, r, s) {
              var a = s.selection,
                u = e.up(
                  t,
                  r,
                  a.selectionStartLineNumber,
                  a.selectionStartColumn,
                  s.selectionStartLeftoverVisibleColumns,
                  1,
                  !1
                ),
                l = e.up(
                  t,
                  r,
                  a.positionLineNumber,
                  a.positionColumn,
                  s.leftoverVisibleColumns,
                  1,
                  !1
                )
              return new n.SingleCursorState(
                new o.Range(u.lineNumber, u.column, u.lineNumber, u.column),
                u.leftoverVisibleColumns,
                new i.Position(l.lineNumber, l.column),
                l.leftoverVisibleColumns
              )
            }),
            (e.moveToBeginningOfLine = function(e, t, n, i) {
              var o,
                r = n.position.lineNumber,
                s = t.getLineMinColumn(r),
                a = t.getLineFirstNonWhitespaceColumn(r) || s
              return (o = n.position.column === a ? s : a), n.move(i, r, o, 0)
            }),
            (e.moveToEndOfLine = function(e, t, n, i) {
              var o = n.position.lineNumber,
                r = t.getLineMaxColumn(o)
              return n.move(i, o, r, 0)
            }),
            (e.moveToBeginningOfBuffer = function(e, t, n, i) {
              return n.move(i, 1, 1, 0)
            }),
            (e.moveToEndOfBuffer = function(e, t, n, i) {
              var o = t.getLineCount(),
                r = t.getLineMaxColumn(o)
              return n.move(i, o, r, 0)
            }),
            e
          )
        })()
        t.MoveOperations = s
      }),
      define(d[181], h([0, 1, 74, 37, 2, 182, 9]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = (function() {
          function e() {}
          return (
            (e.deleteRight = function(e, t, i) {
              for (var s = [], a = !1, u = 0, l = i.length; u < l; u++) {
                var c = i[u],
                  d = c
                if (d.isEmpty()) {
                  var h = c.getPosition(),
                    p = r.MoveOperations.right(e, t, h.lineNumber, h.column)
                  d = new o.Range(
                    p.lineNumber,
                    p.column,
                    h.lineNumber,
                    h.column
                  )
                }
                d.isEmpty()
                  ? (s[u] = null)
                  : (d.startLineNumber !== d.endLineNumber && (a = !0),
                    (s[u] = new n.ReplaceCommand(d, '')))
              }
              return [a, s]
            }),
            (e._isAutoClosingPairDelete = function(e, t, n) {
              if (!e.autoClosingBrackets) return !1
              for (var i = 0, o = n.length; i < o; i++) {
                var r = n[i],
                  s = r.getPosition()
                if (!r.isEmpty()) return !1
                var a = t.getLineContent(s.lineNumber),
                  u = a[s.column - 2]
                if (!e.autoClosingPairsOpen.hasOwnProperty(u)) return !1
                if (a[s.column - 1] !== e.autoClosingPairsOpen[u]) return !1
              }
              return !0
            }),
            (e._runAutoClosingPairDelete = function(e, t, i) {
              for (var r = [], s = 0, a = i.length; s < a; s++) {
                var u = i[s].getPosition(),
                  l = new o.Range(
                    u.lineNumber,
                    u.column - 1,
                    u.lineNumber,
                    u.column + 1
                  )
                r[s] = new n.ReplaceCommand(l, '')
              }
              return [!0, r]
            }),
            (e.deleteLeft = function(e, t, a) {
              if (this._isAutoClosingPairDelete(e, t, a))
                return this._runAutoClosingPairDelete(e, t, a)
              for (var u = [], l = !1, c = 0, d = a.length; c < d; c++) {
                var h = a[c],
                  p = h
                if (p.isEmpty()) {
                  var f = h.getPosition()
                  if (e.useTabStops && f.column > 1) {
                    var g = t.getLineContent(f.lineNumber),
                      m = s.firstNonWhitespaceIndex(g),
                      v = -1 === m ? g.length + 1 : m + 1
                    if (f.column <= v) {
                      var _ = i.CursorColumns.visibleColumnFromColumn2(e, t, f),
                        y = i.CursorColumns.prevTabStop(_, e.tabSize),
                        b = i.CursorColumns.columnFromVisibleColumn2(
                          e,
                          t,
                          f.lineNumber,
                          y
                        )
                      p = new o.Range(f.lineNumber, b, f.lineNumber, f.column)
                    } else
                      p = new o.Range(
                        f.lineNumber,
                        f.column - 1,
                        f.lineNumber,
                        f.column
                      )
                  } else {
                    var C = r.MoveOperations.left(e, t, f.lineNumber, f.column)
                    p = new o.Range(
                      C.lineNumber,
                      C.column,
                      f.lineNumber,
                      f.column
                    )
                  }
                }
                p.isEmpty()
                  ? (u[c] = null)
                  : (p.startLineNumber !== p.endLineNumber && (l = !0),
                    (u[c] = new n.ReplaceCommand(p, '')))
              }
              return [l, u]
            }),
            (e.cut = function(e, t, r) {
              for (var s = [], a = 0, u = r.length; a < u; a++) {
                var l = r[a]
                if (l.isEmpty())
                  if (e.emptySelectionClipboard) {
                    var c = l.getPosition(),
                      d = void 0,
                      h = void 0,
                      p = void 0,
                      f = void 0
                    c.lineNumber < t.getLineCount()
                      ? ((d = c.lineNumber),
                        (h = 1),
                        (p = c.lineNumber + 1),
                        (f = 1))
                      : c.lineNumber > 1
                        ? ((d = c.lineNumber - 1),
                          (h = t.getLineMaxColumn(c.lineNumber - 1)),
                          (p = c.lineNumber),
                          (f = t.getLineMaxColumn(c.lineNumber)))
                        : ((d = c.lineNumber),
                          (h = 1),
                          (p = c.lineNumber),
                          (f = t.getLineMaxColumn(c.lineNumber)))
                    var g = new o.Range(d, h, p, f)
                    g.isEmpty()
                      ? (s[a] = null)
                      : (s[a] = new n.ReplaceCommand(g, ''))
                  } else s[a] = null
                else s[a] = new n.ReplaceCommand(l, '')
              }
              return new i.EditOperationResult(s, {
                shouldPushStackElementBefore: !0,
                shouldPushStackElementAfter: !0
              })
            }),
            e
          )
        })()
        t.DeleteOperations = a
      }),
      define(d[123], h([
        0,
        1,
        10,
        74,
        37,
        2,
        9,
        183,
        43,
        58,
        223,
        90
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var h = (function() {
          function e() {}
          return (
            (e.indent = function(e, t, n) {
              for (var i = [], o = 0, r = n.length; o < r; o++)
                i[o] = new a.ShiftCommand(n[o], {
                  isUnshift: !1,
                  tabSize: e.tabSize,
                  oneIndent: e.oneIndent,
                  useTabStops: e.useTabStops
                })
              return i
            }),
            (e.outdent = function(e, t, n) {
              for (var i = [], o = 0, r = n.length; o < r; o++)
                i[o] = new a.ShiftCommand(n[o], {
                  isUnshift: !0,
                  tabSize: e.tabSize,
                  oneIndent: e.oneIndent,
                  useTabStops: e.useTabStops
                })
              return i
            }),
            (e.shiftIndent = function(e, t, n) {
              n = n || 1
              for (
                var i = a.ShiftCommand.shiftIndentCount(
                    t,
                    t.length + n,
                    e.tabSize
                  ),
                  o = '',
                  r = 0;
                r < i;
                r++
              )
                o += '\t'
              return o
            }),
            (e.unshiftIndent = function(e, t, n) {
              n = n || 1
              for (
                var i = a.ShiftCommand.unshiftIndentCount(
                    t,
                    t.length + n,
                    e.tabSize
                  ),
                  o = '',
                  r = 0;
                r < i;
                r++
              )
                o += '\t'
              return o
            }),
            (e._distributedPaste = function(e, t, n, r) {
              for (var s = [], a = 0, u = n.length; a < u; a++)
                s[a] = new i.ReplaceCommand(n[a], r[a])
              return new o.EditOperationResult(s, {
                shouldPushStackElementBefore: !0,
                shouldPushStackElementAfter: !0
              })
            }),
            (e._simplePaste = function(e, t, n, s, a) {
              for (var u = [], l = 0, c = n.length; l < c; l++) {
                var d = n[l],
                  h = d.getPosition()
                if (
                  (a && s.indexOf('\n') !== s.length - 1 && (a = !1),
                  a && d.startLineNumber !== d.endLineNumber && (a = !1),
                  a &&
                    d.startColumn === t.getLineMinColumn(d.startLineNumber) &&
                    d.endColumn === t.getLineMaxColumn(d.startLineNumber) &&
                    (a = !1),
                  a)
                ) {
                  var p = new r.Range(h.lineNumber, 1, h.lineNumber, 1)
                  u[l] = new i.ReplaceCommand(p, s)
                } else u[l] = new i.ReplaceCommand(d, s)
              }
              return new o.EditOperationResult(u, {
                shouldPushStackElementBefore: !0,
                shouldPushStackElementAfter: !0
              })
            }),
            (e._distributePasteToCursors = function(e, t, n) {
              if (t) return null
              if (1 === e.length) return null
              for (var i = 0; i < e.length; i++)
                if (e[i].startLineNumber !== e[i].endLineNumber) return null
              var o = n.split(/\r\n|\r|\n/)
              return o.length !== e.length ? null : o
            }),
            (e.paste = function(e, t, n, i, o) {
              var s = this._distributePasteToCursors(n, i, o)
              return s
                ? ((n = n.sort(r.Range.compareRangesUsingStarts)),
                  this._distributedPaste(e, t, n, s))
                : this._simplePaste(e, t, n, o, i)
            }),
            (e._goodIndentForLine = function(t, n, i) {
              var o = u.LanguageConfigurationRegistry.getInheritIndentForLine(
                n,
                i,
                !1
              )
              if (o) {
                if (o.action) {
                  var r = o.indentation
                  return (
                    o.action === l.IndentAction.Indent &&
                      (r = e.shiftIndent(t, r)),
                    o.action === l.IndentAction.Outdent &&
                      (r = e.unshiftIndent(t, r)),
                    (r = t.normalizeIndentation(r)),
                    0 === r.length ? '' : r
                  )
                }
                return o.indentation
              }
              return null
            }),
            (e._replaceJumpToNextIndent = function(e, t, n, r) {
              var s = '',
                a = n.getStartPosition()
              if (e.insertSpaces)
                for (
                  var u = o.CursorColumns.visibleColumnFromColumn2(e, t, a),
                    l = e.tabSize,
                    c = l - (u % l),
                    d = 0;
                  d < c;
                  d++
                )
                  s += ' '
              else s = '\t'
              return new i.ReplaceCommand(n, s, r)
            }),
            (e.tab = function(e, t, n) {
              for (var o = [], u = 0, l = n.length; u < l; u++) {
                var c = n[u]
                if (c.isEmpty()) {
                  var d = t.getLineContent(c.startLineNumber)
                  if (/^\s*$/.test(d)) {
                    var h = this._goodIndentForLine(e, t, c.startLineNumber)
                    h = h || '\t'
                    var p = e.normalizeIndentation(h)
                    if (!s.startsWith(d, p)) {
                      o[u] = new i.ReplaceCommand(
                        new r.Range(
                          c.startLineNumber,
                          1,
                          c.startLineNumber,
                          d.length + 1
                        ),
                        p,
                        !0
                      )
                      continue
                    }
                  }
                  o[u] = this._replaceJumpToNextIndent(e, t, c, !0)
                } else {
                  if (c.startLineNumber === c.endLineNumber) {
                    var f = t.getLineMaxColumn(c.startLineNumber)
                    if (1 !== c.startColumn || c.endColumn !== f) {
                      o[u] = this._replaceJumpToNextIndent(e, t, c, !1)
                      continue
                    }
                  }
                  o[u] = new a.ShiftCommand(c, {
                    isUnshift: !1,
                    tabSize: e.tabSize,
                    oneIndent: e.oneIndent,
                    useTabStops: e.useTabStops
                  })
                }
              }
              return o
            }),
            (e.replacePreviousChar = function(e, t, n, s, a) {
              for (var u = [], l = 0, c = n.length; l < c; l++) {
                var d = n[l]
                if (d.isEmpty()) {
                  var h = d.getPosition(),
                    p = Math.max(1, h.column - a),
                    f = new r.Range(h.lineNumber, p, h.lineNumber, h.column)
                  u[l] = new i.ReplaceCommand(f, s)
                } else u[l] = null
              }
              return new o.EditOperationResult(u, {
                shouldPushStackElementBefore: !1,
                shouldPushStackElementAfter: !1
              })
            }),
            (e._typeCommand = function(e, t, n) {
              return n
                ? new i.ReplaceCommandWithoutChangingPosition(e, t, !0)
                : new i.ReplaceCommand(e, t, !0)
            }),
            (e._enter = function(t, n, a, c) {
              var d = u.LanguageConfigurationRegistry.getEnterAction(n, c)
              if (d) {
                var h = d.enterAction,
                  p = d.indentation
                if (h.indentAction === l.IndentAction.None)
                  return e._typeCommand(
                    c,
                    '\n' + t.normalizeIndentation(p + h.appendText),
                    a
                  )
                if (h.indentAction === l.IndentAction.Indent)
                  return e._typeCommand(
                    c,
                    '\n' + t.normalizeIndentation(p + h.appendText),
                    a
                  )
                if (h.indentAction === l.IndentAction.IndentOutdent) {
                  var f = t.normalizeIndentation(p),
                    g = t.normalizeIndentation(p + h.appendText),
                    m = '\n' + g + '\n' + f
                  return a
                    ? new i.ReplaceCommandWithoutChangingPosition(c, m, !0)
                    : new i.ReplaceCommandWithOffsetCursorState(
                        c,
                        m,
                        -1,
                        g.length - f.length,
                        !0
                      )
                }
                if (h.indentAction === l.IndentAction.Outdent) {
                  var v = e.unshiftIndent(t, p)
                  return e._typeCommand(
                    c,
                    '\n' + t.normalizeIndentation(v + h.appendText),
                    a
                  )
                }
              }
              var _ = u.LanguageConfigurationRegistry.getIndentForEnter(
                  n,
                  c,
                  {
                    unshiftIndent: function(n) {
                      return e.unshiftIndent(t, n)
                    },
                    shiftIndent: function(n) {
                      return e.shiftIndent(t, n)
                    },
                    normalizeIndentation: function(e) {
                      return t.normalizeIndentation(e)
                    }
                  },
                  t.autoIndent
                ),
                y = n.getLineContent(c.startLineNumber),
                b = s.getLeadingWhitespace(y).substring(0, c.startColumn - 1)
              if (_) {
                var C = o.CursorColumns.visibleColumnFromColumn2(
                    t,
                    n,
                    c.getEndPosition()
                  ),
                  w = c.endColumn,
                  S = '\n'
                b !== t.normalizeIndentation(_.beforeEnter) &&
                  ((S =
                    t.normalizeIndentation(_.beforeEnter) +
                    y.substring(b.length, c.startColumn - 1) +
                    '\n'),
                  (c = new r.Range(
                    c.startLineNumber,
                    1,
                    c.endLineNumber,
                    c.endColumn
                  )))
                var E = n.getLineContent(c.endLineNumber),
                  L = s.firstNonWhitespaceIndex(E)
                if (
                  ((c =
                    L >= 0
                      ? c.setEndPosition(
                          c.endLineNumber,
                          Math.max(c.endColumn, L + 1)
                        )
                      : c.setEndPosition(
                          c.endLineNumber,
                          n.getLineMaxColumn(c.endLineNumber)
                        )),
                  a)
                )
                  return new i.ReplaceCommandWithoutChangingPosition(
                    c,
                    S + t.normalizeIndentation(_.afterEnter),
                    !0
                  )
                var x = 0
                return (
                  w <= L + 1 &&
                    (t.insertSpaces || (C = Math.ceil(C / t.tabSize)),
                    (x = Math.min(
                      C + 1 - t.normalizeIndentation(_.afterEnter).length - 1,
                      0
                    ))),
                  new i.ReplaceCommandWithOffsetCursorState(
                    c,
                    S + t.normalizeIndentation(_.afterEnter),
                    0,
                    x,
                    !0
                  )
                )
              }
              return e._typeCommand(c, '\n' + t.normalizeIndentation(b), a)
            }),
            (e._runAutoIndentType = function(t, n, i, o) {
              var s = u.LanguageConfigurationRegistry.getIndentationAtPosition(
                  n,
                  i.startLineNumber,
                  i.startColumn
                ),
                a = u.LanguageConfigurationRegistry.getIndentActionForType(
                  n,
                  i,
                  o,
                  {
                    shiftIndent: function(n) {
                      return e.shiftIndent(t, n)
                    },
                    unshiftIndent: function(n) {
                      return e.unshiftIndent(t, n)
                    }
                  }
                )
              if (null === a) return null
              if (a !== t.normalizeIndentation(s)) {
                var l = n.getLineFirstNonWhitespaceColumn(i.startLineNumber)
                return 0 === l
                  ? e._typeCommand(
                      new r.Range(
                        i.startLineNumber,
                        0,
                        i.endLineNumber,
                        i.endColumn
                      ),
                      t.normalizeIndentation(a) + o,
                      !1
                    )
                  : e._typeCommand(
                      new r.Range(
                        i.startLineNumber,
                        0,
                        i.endLineNumber,
                        i.endColumn
                      ),
                      t.normalizeIndentation(a) +
                        n
                          .getLineContent(i.startLineNumber)
                          .substring(l - 1, i.startColumn - 1) +
                        o,
                      !1
                    )
              }
              return null
            }),
            (e._isAutoClosingCloseCharType = function(e, t, n, i) {
              if (
                !e.autoClosingBrackets ||
                !e.autoClosingPairsClose.hasOwnProperty(i)
              )
                return !1
              for (var o = 0, r = n.length; o < r; o++) {
                var s = n[o]
                if (!s.isEmpty()) return !1
                var a = s.getPosition()
                if (t.getLineContent(a.lineNumber).charAt(a.column - 1) !== i)
                  return !1
              }
              return !0
            }),
            (e._runAutoClosingCloseCharType = function(e, t, n, s) {
              for (var a = [], u = 0, l = n.length; u < l; u++) {
                var c = n[u].getPosition(),
                  d = new r.Range(
                    c.lineNumber,
                    c.column,
                    c.lineNumber,
                    c.column + 1
                  )
                a[u] = new i.ReplaceCommand(d, s)
              }
              return new o.EditOperationResult(a, {
                shouldPushStackElementBefore: !1,
                shouldPushStackElementAfter: !1
              })
            }),
            (e._isAutoClosingOpenCharType = function(e, t, i, o) {
              if (
                !e.autoClosingBrackets ||
                !e.autoClosingPairsOpen.hasOwnProperty(o)
              )
                return !1
              for (var r = 0, s = i.length; r < s; r++) {
                var a = i[r]
                if (!a.isEmpty()) return !1
                var l = a.getPosition(),
                  c = t.getLineContent(l.lineNumber)
                if (("'" === o || '"' === o) && l.column > 1) {
                  var h = d.getMapForWordSeparators(e.wordSeparators),
                    p = c.charCodeAt(l.column - 2)
                  if (0 === h.get(p)) return !1
                }
                var f = c.charAt(l.column - 1)
                if (f) {
                  var g = e.autoClosingPairsOpen[o] === o,
                    m = !1
                  for (var v in e.autoClosingPairsClose) {
                    var _ = e.autoClosingPairsOpen[v] === v
                    if ((g || !_) && f === v) {
                      m = !0
                      break
                    }
                  }
                  if (!m && !/\s/.test(f)) return !1
                }
                t.forceTokenization(l.lineNumber)
                var y = t.getLineTokens(l.lineNumber),
                  b = !1
                try {
                  b = u.LanguageConfigurationRegistry.shouldAutoClosePair(
                    o,
                    y,
                    l.column
                  )
                } catch (e) {
                  n.onUnexpectedError(e)
                }
                if (!b) return !1
              }
              return !0
            }),
            (e._runAutoClosingOpenCharType = function(e, t, n, r) {
              for (var s = [], a = 0, u = n.length; a < u; a++) {
                var l = n[a],
                  c = e.autoClosingPairsOpen[r]
                s[a] = new i.ReplaceCommandWithOffsetCursorState(
                  l,
                  r + c,
                  0,
                  -c.length
                )
              }
              return new o.EditOperationResult(s, {
                shouldPushStackElementBefore: !0,
                shouldPushStackElementAfter: !1
              })
            }),
            (e._isSurroundSelectionType = function(e, t, n, i) {
              if (
                !e.autoClosingBrackets ||
                !e.surroundingPairs.hasOwnProperty(i)
              )
                return !1
              for (var o = 0, r = n.length; o < r; o++) {
                var s = n[o]
                if (s.isEmpty()) return !1
                for (
                  var a = !0, u = s.startLineNumber;
                  u <= s.endLineNumber;
                  u++
                ) {
                  var l = t.getLineContent(u),
                    c = u === s.startLineNumber ? s.startColumn - 1 : 0,
                    d = u === s.endLineNumber ? s.endColumn - 1 : l.length,
                    h = l.substring(c, d)
                  if (/[^ \t]/.test(h)) {
                    a = !1
                    break
                  }
                }
                if (a) return !1
              }
              return !0
            }),
            (e._runSurroundSelectionType = function(e, t, n, i) {
              for (var r = [], s = 0, a = n.length; s < a; s++) {
                var u = n[s],
                  l = e.surroundingPairs[i]
                r[s] = new c.SurroundSelectionCommand(u, i, l)
              }
              return new o.EditOperationResult(r, {
                shouldPushStackElementBefore: !0,
                shouldPushStackElementAfter: !0
              })
            }),
            (e._typeInterceptorElectricChar = function(e, t, a, l) {
              if (!e.electricChars.hasOwnProperty(l) || !a.isEmpty())
                return null
              var c = a.getPosition()
              t.forceTokenization(c.lineNumber)
              var d,
                h = t.getLineTokens(c.lineNumber)
              try {
                d = u.LanguageConfigurationRegistry.onElectricCharacter(
                  l,
                  h,
                  c.column
                )
              } catch (e) {
                n.onUnexpectedError(e)
              }
              if (!d) return null
              if (d.appendText) {
                w = new i.ReplaceCommandWithOffsetCursorState(
                  a,
                  l + d.appendText,
                  0,
                  -d.appendText.length
                )
                return new o.EditOperationResult([w], {
                  shouldPushStackElementBefore: !1,
                  shouldPushStackElementAfter: !0
                })
              }
              if (d.matchOpenBracket) {
                var p =
                    (h.getLineContent() + l).lastIndexOf(d.matchOpenBracket) +
                    1,
                  f = t.findMatchingBracketUp(d.matchOpenBracket, {
                    lineNumber: c.lineNumber,
                    column: p
                  })
                if (f) {
                  if (f.startLineNumber === c.lineNumber) return null
                  var g = t.getLineContent(f.startLineNumber),
                    m = s.getLeadingWhitespace(g),
                    v = e.normalizeIndentation(m),
                    _ = t.getLineContent(c.lineNumber),
                    y =
                      t.getLineFirstNonWhitespaceColumn(c.lineNumber) ||
                      c.column,
                    b = v + _.substring(y - 1, c.column - 1) + l,
                    C = new r.Range(c.lineNumber, 1, c.lineNumber, c.column),
                    w = new i.ReplaceCommand(C, b)
                  return new o.EditOperationResult([w], {
                    shouldPushStackElementBefore: !1,
                    shouldPushStackElementAfter: !0
                  })
                }
              }
              return null
            }),
            (e.typeWithInterceptors = function(t, n, i, r) {
              if ('\n' === r) {
                for (var s = [], a = 0, u = i.length; a < u; a++)
                  s[a] = e._enter(t, n, !1, i[a])
                return new o.EditOperationResult(s, {
                  shouldPushStackElementBefore: !0,
                  shouldPushStackElementAfter: !1
                })
              }
              if (t.autoIndent) {
                var l = this._runAutoIndentType(t, n, i[0], r)
                if (l)
                  return new o.EditOperationResult([l], {
                    shouldPushStackElementBefore: !0,
                    shouldPushStackElementAfter: !1
                  })
              }
              if (this._isAutoClosingCloseCharType(t, n, i, r))
                return this._runAutoClosingCloseCharType(t, n, i, r)
              if (this._isAutoClosingOpenCharType(t, n, i, r))
                return this._runAutoClosingOpenCharType(t, n, i, r)
              if (this._isSurroundSelectionType(t, n, i, r))
                return this._runSurroundSelectionType(t, n, i, r)
              if (1 === i.length) {
                var c = this._typeInterceptorElectricChar(t, n, i[0], r)
                if (c) return c
              }
              return this.typeWithoutInterceptors(t, n, i, r)
            }),
            (e.typeWithoutInterceptors = function(e, t, n, r) {
              for (var s = [], a = 0, u = n.length; a < u; a++)
                s[a] = new i.ReplaceCommand(n[a], r)
              return new o.EditOperationResult(s, {
                shouldPushStackElementBefore: !1,
                shouldPushStackElementAfter: !1
              })
            }),
            (e.lineInsertBefore = function(e, t, n) {
              for (var o = [], s = 0, a = n.length; s < a; s++) {
                var u = n[s].positionLineNumber
                if (1 === u)
                  o[s] = new i.ReplaceCommandWithoutChangingPosition(
                    new r.Range(1, 1, 1, 1),
                    '\n'
                  )
                else {
                  u--
                  var l = t.getLineMaxColumn(u)
                  o[s] = this._enter(e, t, !1, new r.Range(u, l, u, l))
                }
              }
              return o
            }),
            (e.lineInsertAfter = function(e, t, n) {
              for (var i = [], o = 0, s = n.length; o < s; o++) {
                var a = n[o].positionLineNumber,
                  u = t.getLineMaxColumn(a)
                i[o] = this._enter(e, t, !1, new r.Range(a, u, a, u))
              }
              return i
            }),
            (e.lineBreakInsert = function(e, t, n) {
              for (var i = [], o = 0, r = n.length; o < r; o++)
                i[o] = this._enter(e, t, !0, n[o])
              return i
            }),
            e
          )
        })()
        t.TypeOperations = h
      }),
      define(d[177], h([0, 1, 37, 12, 90, 9, 2]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a
        !(function(e) {
          ;(e[(e.None = 0)] = 'None'),
            (e[(e.Regular = 1)] = 'Regular'),
            (e[(e.Separator = 2)] = 'Separator')
        })(a || (a = {}))
        !(function(e) {
          ;(e[(e.WordStart = 0)] = 'WordStart'),
            (e[(e.WordEnd = 1)] = 'WordEnd')
        })(t.WordNavigationType || (t.WordNavigationType = {}))
        var u = (function() {
          function e() {}
          return (
            (e._createWord = function(e, t, n, i) {
              return { start: n, end: i, wordType: t }
            }),
            (e._findPreviousWordOnLine = function(e, t, n) {
              var i = t.getLineContent(n.lineNumber)
              return this._doFindPreviousWordOnLine(i, e, n)
            }),
            (e._doFindPreviousWordOnLine = function(e, t, n) {
              for (var i = 0, o = n.column - 2; o >= 0; o--) {
                var r = e.charCodeAt(o),
                  s = t.get(r)
                if (0 === s) {
                  if (2 === i)
                    return this._createWord(
                      e,
                      i,
                      o + 1,
                      this._findEndOfWord(e, t, i, o + 1)
                    )
                  i = 1
                } else if (2 === s) {
                  if (1 === i)
                    return this._createWord(
                      e,
                      i,
                      o + 1,
                      this._findEndOfWord(e, t, i, o + 1)
                    )
                  i = 2
                } else if (1 === s && 0 !== i)
                  return this._createWord(
                    e,
                    i,
                    o + 1,
                    this._findEndOfWord(e, t, i, o + 1)
                  )
              }
              return 0 !== i
                ? this._createWord(e, i, 0, this._findEndOfWord(e, t, i, 0))
                : null
            }),
            (e._findEndOfWord = function(e, t, n, i) {
              for (var o = e.length, r = i; r < o; r++) {
                var s = e.charCodeAt(r),
                  a = t.get(s)
                if (1 === a) return r
                if (1 === n && 2 === a) return r
                if (2 === n && 0 === a) return r
              }
              return o
            }),
            (e._findNextWordOnLine = function(e, t, n) {
              var i = t.getLineContent(n.lineNumber)
              return this._doFindNextWordOnLine(i, e, n)
            }),
            (e._doFindNextWordOnLine = function(e, t, n) {
              for (var i = 0, o = e.length, r = n.column - 1; r < o; r++) {
                var s = e.charCodeAt(r),
                  a = t.get(s)
                if (0 === a) {
                  if (2 === i)
                    return this._createWord(
                      e,
                      i,
                      this._findStartOfWord(e, t, i, r - 1),
                      r
                    )
                  i = 1
                } else if (2 === a) {
                  if (1 === i)
                    return this._createWord(
                      e,
                      i,
                      this._findStartOfWord(e, t, i, r - 1),
                      r
                    )
                  i = 2
                } else if (1 === a && 0 !== i)
                  return this._createWord(
                    e,
                    i,
                    this._findStartOfWord(e, t, i, r - 1),
                    r
                  )
              }
              return 0 !== i
                ? this._createWord(
                    e,
                    i,
                    this._findStartOfWord(e, t, i, o - 1),
                    o
                  )
                : null
            }),
            (e._findStartOfWord = function(e, t, n, i) {
              for (var o = i; o >= 0; o--) {
                var r = e.charCodeAt(o),
                  s = t.get(r)
                if (1 === s) return o + 1
                if (1 === n && 2 === s) return o + 1
                if (2 === n && 0 === s) return o + 1
              }
              return 0
            }),
            (e.moveWordLeft = function(t, n, o, r) {
              var s = o.lineNumber,
                a = o.column
              1 === a && s > 1 && ((s -= 1), (a = n.getLineMaxColumn(s)))
              var u = e._findPreviousWordOnLine(t, n, new i.Position(s, a))
              return (
                0 === r
                  ? (a = u ? u.start + 1 : 1)
                  : (u &&
                      a <= u.end + 1 &&
                      (u = e._findPreviousWordOnLine(
                        t,
                        n,
                        new i.Position(s, u.start + 1)
                      )),
                    (a = u ? u.end + 1 : 1)),
                new i.Position(s, a)
              )
            }),
            (e.moveWordRight = function(t, n, o, r) {
              var s = o.lineNumber,
                a = o.column
              a === n.getLineMaxColumn(s) &&
                s < n.getLineCount() &&
                ((s += 1), (a = 1))
              var u = e._findNextWordOnLine(t, n, new i.Position(s, a))
              return (
                1 === r
                  ? (a = u ? u.end + 1 : n.getLineMaxColumn(s))
                  : (u &&
                      a >= u.start + 1 &&
                      (u = e._findNextWordOnLine(
                        t,
                        n,
                        new i.Position(s, u.end + 1)
                      )),
                    (a = u ? u.start + 1 : n.getLineMaxColumn(s))),
                new i.Position(s, a)
              )
            }),
            (e._deleteWordLeftWhitespace = function(e, t) {
              var n = e.getLineContent(t.lineNumber),
                i = t.column - 2,
                o = r.lastNonWhitespaceIndex(n, i)
              return o + 1 < i
                ? new s.Range(t.lineNumber, o + 2, t.lineNumber, t.column)
                : null
            }),
            (e.deleteWordLeft = function(t, n, o, r, a) {
              if (!o.isEmpty()) return o
              var u = new i.Position(o.positionLineNumber, o.positionColumn),
                l = u.lineNumber,
                c = u.column
              if (1 === l && 1 === c) return null
              if (r) {
                var d = this._deleteWordLeftWhitespace(n, u)
                if (d) return d
              }
              var h = e._findPreviousWordOnLine(t, n, u)
              return (
                0 === a
                  ? h
                    ? (c = h.start + 1)
                    : c > 1
                      ? (c = 1)
                      : (l--, (c = n.getLineMaxColumn(l)))
                  : (h &&
                      c <= h.end + 1 &&
                      (h = e._findPreviousWordOnLine(
                        t,
                        n,
                        new i.Position(l, h.start + 1)
                      )),
                    h
                      ? (c = h.end + 1)
                      : c > 1
                        ? (c = 1)
                        : (l--, (c = n.getLineMaxColumn(l)))),
                new s.Range(l, c, u.lineNumber, u.column)
              )
            }),
            (e._findFirstNonWhitespaceChar = function(e, t) {
              for (var n = e.length, i = t; i < n; i++) {
                var o = e.charAt(i)
                if (' ' !== o && '\t' !== o) return i
              }
              return n
            }),
            (e._deleteWordRightWhitespace = function(e, t) {
              var n = e.getLineContent(t.lineNumber),
                i = t.column - 1,
                o = this._findFirstNonWhitespaceChar(n, i)
              return i + 1 < o
                ? new s.Range(t.lineNumber, t.column, t.lineNumber, o + 1)
                : null
            }),
            (e.deleteWordRight = function(t, n, o, r, a) {
              if (!o.isEmpty()) return o
              var u = new i.Position(o.positionLineNumber, o.positionColumn),
                l = u.lineNumber,
                c = u.column,
                d = n.getLineCount(),
                h = n.getLineMaxColumn(l)
              if (l === d && c === h) return null
              if (r) {
                var p = this._deleteWordRightWhitespace(n, u)
                if (p) return p
              }
              var f = e._findNextWordOnLine(t, n, u)
              return (
                1 === a
                  ? f
                    ? (c = f.end + 1)
                    : c < h || l === d
                      ? (c = h)
                      : (l++,
                        (c = (f = e._findNextWordOnLine(
                          t,
                          n,
                          new i.Position(l, 1)
                        ))
                          ? f.start + 1
                          : n.getLineMaxColumn(l)))
                  : (f &&
                      c >= f.start + 1 &&
                      (f = e._findNextWordOnLine(
                        t,
                        n,
                        new i.Position(l, f.end + 1)
                      )),
                    f
                      ? (c = f.start + 1)
                      : c < h || l === d
                        ? (c = h)
                        : (l++,
                          (c = (f = e._findNextWordOnLine(
                            t,
                            n,
                            new i.Position(l, 1)
                          ))
                            ? f.start + 1
                            : n.getLineMaxColumn(l)))),
                new s.Range(l, c, u.lineNumber, u.column)
              )
            }),
            (e.word = function(t, r, a, u, l) {
              var c = o.getMapForWordSeparators(t.wordSeparators),
                d = e._findPreviousWordOnLine(c, r, l),
                h =
                  d &&
                  1 === d.wordType &&
                  d.start < l.column - 1 &&
                  l.column - 1 <= d.end,
                p = e._findNextWordOnLine(c, r, l),
                f =
                  p &&
                  1 === p.wordType &&
                  p.start < l.column - 1 &&
                  l.column - 1 <= p.end
              if (!u || !a.hasSelection()) {
                var g, m
                return (
                  h
                    ? ((g = d.start + 1), (m = d.end + 1))
                    : f
                      ? ((g = p.start + 1), (m = p.end + 1))
                      : ((g = d ? d.end + 1 : 1),
                        (m = p
                          ? p.start + 1
                          : r.getLineMaxColumn(l.lineNumber))),
                  new n.SingleCursorState(
                    new s.Range(l.lineNumber, g, l.lineNumber, m),
                    0,
                    new i.Position(l.lineNumber, m),
                    0
                  )
                )
              }
              var v, _
              h
                ? ((v = d.start + 1), (_ = d.end + 1))
                : f
                  ? ((v = p.start + 1), (_ = p.end + 1))
                  : ((v = l.column), (_ = l.column))
              var y,
                b = l.lineNumber
              if (l.isBeforeOrEqual(a.selectionStart.getStartPosition())) {
                y = v
                C = new i.Position(b, y)
                a.selectionStart.containsPosition(C) &&
                  (y = a.selectionStart.endColumn)
              } else {
                y = _
                var C = new i.Position(b, y)
                a.selectionStart.containsPosition(C) &&
                  (y = a.selectionStart.startColumn)
              }
              return a.move(a.hasSelection(), b, y, 0)
            }),
            e
          )
        })()
        t.WordOperations = u
      }),
      define(d[175], h([0, 1, 37, 12, 2, 182, 177, 29]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var u = (function() {
          function e() {}
          return (
            (e.addCursorDown = function(e, t) {
              for (var i = [], o = 0, s = 0, a = t.length; s < a; s++) {
                var u = t[s]
                ;(i[o++] = new n.CursorState(u.modelState, u.viewState)),
                  (i[o++] = n.CursorState.fromViewState(
                    r.MoveOperations.translateDown(
                      e.config,
                      e.viewModel,
                      u.viewState
                    )
                  ))
              }
              return i
            }),
            (e.addCursorUp = function(e, t) {
              for (var i = [], o = 0, s = 0, a = t.length; s < a; s++) {
                var u = t[s]
                ;(i[o++] = new n.CursorState(u.modelState, u.viewState)),
                  (i[o++] = n.CursorState.fromViewState(
                    r.MoveOperations.translateUp(
                      e.config,
                      e.viewModel,
                      u.viewState
                    )
                  ))
              }
              return i
            }),
            (e.moveToBeginningOfLine = function(e, t, n) {
              for (var i = [], o = 0, r = t.length; o < r; o++) {
                var s = t[o]
                i[o] = this._moveToLineStart(e, s, n)
              }
              return i
            }),
            (e._moveToLineStart = function(e, t, n) {
              var i = t.viewState.position.column,
                o = i === t.modelState.position.column,
                r = t.viewState.position.lineNumber,
                s = i === e.viewModel.getLineFirstNonWhitespaceColumn(r)
              return o || s
                ? this._moveToLineStartByModel(e, t, n)
                : this._moveToLineStartByView(e, t, n)
            }),
            (e._moveToLineStartByView = function(e, t, i) {
              return n.CursorState.fromViewState(
                r.MoveOperations.moveToBeginningOfLine(
                  e.config,
                  e.viewModel,
                  t.viewState,
                  i
                )
              )
            }),
            (e._moveToLineStartByModel = function(e, t, i) {
              return n.CursorState.fromModelState(
                r.MoveOperations.moveToBeginningOfLine(
                  e.config,
                  e.model,
                  t.modelState,
                  i
                )
              )
            }),
            (e.moveToEndOfLine = function(e, t, n) {
              for (var i = [], o = 0, r = t.length; o < r; o++) {
                var s = t[o]
                i[o] = this._moveToLineEnd(e, s, n)
              }
              return i
            }),
            (e._moveToLineEnd = function(e, t, n) {
              var i = t.viewState.position,
                o = e.viewModel.getLineMaxColumn(i.lineNumber),
                r = i.column === o,
                s = t.modelState.position,
                a = e.model.getLineMaxColumn(s.lineNumber),
                u = o - i.column == a - s.column
              return r || u
                ? this._moveToLineEndByModel(e, t, n)
                : this._moveToLineEndByView(e, t, n)
            }),
            (e._moveToLineEndByView = function(e, t, i) {
              return n.CursorState.fromViewState(
                r.MoveOperations.moveToEndOfLine(
                  e.config,
                  e.viewModel,
                  t.viewState,
                  i
                )
              )
            }),
            (e._moveToLineEndByModel = function(e, t, i) {
              return n.CursorState.fromModelState(
                r.MoveOperations.moveToEndOfLine(
                  e.config,
                  e.model,
                  t.modelState,
                  i
                )
              )
            }),
            (e.expandLineSelection = function(e, t) {
              for (var r = [], s = 0, a = t.length; s < a; s++) {
                var u = t[s].viewState.selection,
                  l = u.startLineNumber,
                  c = e.viewModel.getLineCount(),
                  d = u.endLineNumber,
                  h = void 0
                d === c
                  ? (h = e.viewModel.getLineMaxColumn(c))
                  : (d++, (h = 1)),
                  (r[s] = n.CursorState.fromViewState(
                    new n.SingleCursorState(
                      new o.Range(l, 1, l, 1),
                      0,
                      new i.Position(d, h),
                      0
                    )
                  ))
              }
              return r
            }),
            (e.moveToBeginningOfBuffer = function(e, t, i) {
              for (var o = [], s = 0, a = t.length; s < a; s++) {
                var u = t[s]
                o[s] = n.CursorState.fromModelState(
                  r.MoveOperations.moveToBeginningOfBuffer(
                    e.config,
                    e.model,
                    u.modelState,
                    i
                  )
                )
              }
              return o
            }),
            (e.moveToEndOfBuffer = function(e, t, i) {
              for (var o = [], s = 0, a = t.length; s < a; s++) {
                var u = t[s]
                o[s] = n.CursorState.fromModelState(
                  r.MoveOperations.moveToEndOfBuffer(
                    e.config,
                    e.model,
                    u.modelState,
                    i
                  )
                )
              }
              return o
            }),
            (e.selectAll = function(e, t) {
              if (e.model.hasEditableRange()) {
                var r = e.model.getEditableRange()
                if (!t.modelState.selection.equalsRange(r))
                  return n.CursorState.fromModelState(
                    new n.SingleCursorState(
                      new o.Range(
                        r.startLineNumber,
                        r.startColumn,
                        r.startLineNumber,
                        r.startColumn
                      ),
                      0,
                      new i.Position(r.endLineNumber, r.endColumn),
                      0
                    )
                  )
              }
              var s = e.model.getLineCount(),
                a = e.model.getLineMaxColumn(s)
              return n.CursorState.fromModelState(
                new n.SingleCursorState(
                  new o.Range(1, 1, 1, 1),
                  0,
                  new i.Position(s, a),
                  0
                )
              )
            }),
            (e.line = function(e, t, r, s, a) {
              var u = e.model.validatePosition(s),
                l = a
                  ? e.validateViewPosition(
                      new i.Position(a.lineNumber, a.column),
                      u
                    )
                  : e.convertModelPositionToViewPosition(u)
              if (!r || !t.modelState.hasSelection()) {
                var c = e.model.getLineCount(),
                  d = u.lineNumber + 1,
                  h = 1
                return (
                  d > c && ((d = c), (h = e.model.getLineMaxColumn(d))),
                  n.CursorState.fromModelState(
                    new n.SingleCursorState(
                      new o.Range(u.lineNumber, 1, d, h),
                      0,
                      new i.Position(d, h),
                      0
                    )
                  )
                )
              }
              var p = t.modelState.selectionStart.getStartPosition().lineNumber
              if (u.lineNumber < p)
                return n.CursorState.fromViewState(
                  t.viewState.move(
                    t.modelState.hasSelection(),
                    l.lineNumber,
                    1,
                    0
                  )
                )
              if (u.lineNumber > p) {
                var c = e.viewModel.getLineCount(),
                  f = l.lineNumber + 1,
                  g = 1
                return (
                  f > c && ((f = c), (g = e.viewModel.getLineMaxColumn(f))),
                  n.CursorState.fromViewState(
                    t.viewState.move(t.modelState.hasSelection(), f, g, 0)
                  )
                )
              }
              var m = t.modelState.selectionStart.getEndPosition()
              return n.CursorState.fromModelState(
                t.modelState.move(
                  t.modelState.hasSelection(),
                  m.lineNumber,
                  m.column,
                  0
                )
              )
            }),
            (e.word = function(e, t, i, o) {
              var r = e.model.validatePosition(o)
              return n.CursorState.fromModelState(
                s.WordOperations.word(e.config, e.model, t.modelState, i, r)
              )
            }),
            (e.cancelSelection = function(e, t) {
              if (!t.modelState.hasSelection())
                return new n.CursorState(t.modelState, t.viewState)
              var r = t.viewState.position.lineNumber,
                s = t.viewState.position.column
              return n.CursorState.fromViewState(
                new n.SingleCursorState(
                  new o.Range(r, s, r, s),
                  0,
                  new i.Position(r, s),
                  0
                )
              )
            }),
            (e.moveTo = function(e, t, o, r, s) {
              var a = e.model.validatePosition(r),
                u = s
                  ? e.validateViewPosition(
                      new i.Position(s.lineNumber, s.column),
                      a
                    )
                  : e.convertModelPositionToViewPosition(a)
              return n.CursorState.fromViewState(
                t.viewState.move(o, u.lineNumber, u.column, 0)
              )
            }),
            (e.move = function(e, t, n) {
              var i = n.select,
                o = n.value
              switch (n.direction) {
                case 0:
                  return 4 === n.unit
                    ? this._moveHalfLineLeft(e, t, i)
                    : this._moveLeft(e, t, i, o)
                case 1:
                  return 4 === n.unit
                    ? this._moveHalfLineRight(e, t, i)
                    : this._moveRight(e, t, i, o)
                case 2:
                  return 2 === n.unit
                    ? this._moveUpByViewLines(e, t, i, o)
                    : this._moveUpByModelLines(e, t, i, o)
                case 3:
                  return 2 === n.unit
                    ? this._moveDownByViewLines(e, t, i, o)
                    : this._moveDownByModelLines(e, t, i, o)
                case 4:
                  return this._moveToViewMinColumn(e, t, i)
                case 5:
                  return this._moveToViewFirstNonWhitespaceColumn(e, t, i)
                case 6:
                  return this._moveToViewCenterColumn(e, t, i)
                case 7:
                  return this._moveToViewMaxColumn(e, t, i)
                case 8:
                  return this._moveToViewLastNonWhitespaceColumn(e, t, i)
                case 9:
                  var r = t[0],
                    s = e.getCompletelyVisibleModelRange(),
                    a = this._firstLineNumberInRange(e.model, s, o),
                    u = e.model.getLineFirstNonWhitespaceColumn(a)
                  return [this._moveToModelPosition(e, r, i, a, u)]
                case 11:
                  var r = t[0],
                    s = e.getCompletelyVisibleModelRange(),
                    a = this._lastLineNumberInRange(e.model, s, o),
                    u = e.model.getLineFirstNonWhitespaceColumn(a)
                  return [this._moveToModelPosition(e, r, i, a, u)]
                case 10:
                  var r = t[0],
                    s = e.getCompletelyVisibleModelRange(),
                    a = Math.round((s.startLineNumber + s.endLineNumber) / 2),
                    u = e.model.getLineFirstNonWhitespaceColumn(a)
                  return [this._moveToModelPosition(e, r, i, a, u)]
                case 12:
                  for (
                    var l = e.getCompletelyVisibleViewRange(),
                      c = [],
                      d = 0,
                      h = t.length;
                    d < h;
                    d++
                  ) {
                    r = t[d]
                    c[d] = this.findPositionInViewportIfOutside(e, r, l, i)
                  }
                  return c
              }
              return null
            }),
            (e.findPositionInViewportIfOutside = function(e, t, i, o) {
              var r = t.viewState.position.lineNumber
              if (i.startLineNumber <= r && r <= i.endLineNumber - 1)
                return new n.CursorState(t.modelState, t.viewState)
              r > i.endLineNumber - 1 && (r = i.endLineNumber - 1),
                r < i.startLineNumber && (r = i.startLineNumber)
              var s = e.viewModel.getLineFirstNonWhitespaceColumn(r)
              return this._moveToViewPosition(e, t, o, r, s)
            }),
            (e._firstLineNumberInRange = function(e, t, n) {
              var i = t.startLineNumber
              return (
                t.startColumn !== e.getLineMinColumn(i) && i++,
                Math.min(t.endLineNumber, i + n - 1)
              )
            }),
            (e._lastLineNumberInRange = function(e, t, n) {
              var i = t.startLineNumber
              return (
                t.startColumn !== e.getLineMinColumn(i) && i++,
                Math.max(i, t.endLineNumber - n + 1)
              )
            }),
            (e._moveLeft = function(e, t, i, o) {
              for (var s = [], a = 0, u = t.length; a < u; a++) {
                var l = t[a]
                s[a] = n.CursorState.fromViewState(
                  r.MoveOperations.moveLeft(
                    e.config,
                    e.viewModel,
                    l.viewState,
                    i,
                    o
                  )
                )
              }
              return s
            }),
            (e._moveHalfLineLeft = function(e, t, i) {
              for (var o = [], s = 0, a = t.length; s < a; s++) {
                var u = t[s],
                  l = u.viewState.position.lineNumber,
                  c = Math.round(e.viewModel.getLineContent(l).length / 2)
                o[s] = n.CursorState.fromViewState(
                  r.MoveOperations.moveLeft(
                    e.config,
                    e.viewModel,
                    u.viewState,
                    i,
                    c
                  )
                )
              }
              return o
            }),
            (e._moveRight = function(e, t, i, o) {
              for (var s = [], a = 0, u = t.length; a < u; a++) {
                var l = t[a]
                s[a] = n.CursorState.fromViewState(
                  r.MoveOperations.moveRight(
                    e.config,
                    e.viewModel,
                    l.viewState,
                    i,
                    o
                  )
                )
              }
              return s
            }),
            (e._moveHalfLineRight = function(e, t, i) {
              for (var o = [], s = 0, a = t.length; s < a; s++) {
                var u = t[s],
                  l = u.viewState.position.lineNumber,
                  c = Math.round(e.viewModel.getLineContent(l).length / 2)
                o[s] = n.CursorState.fromViewState(
                  r.MoveOperations.moveRight(
                    e.config,
                    e.viewModel,
                    u.viewState,
                    i,
                    c
                  )
                )
              }
              return o
            }),
            (e._moveDownByViewLines = function(e, t, i, o) {
              for (var s = [], a = 0, u = t.length; a < u; a++) {
                var l = t[a]
                s[a] = n.CursorState.fromViewState(
                  r.MoveOperations.moveDown(
                    e.config,
                    e.viewModel,
                    l.viewState,
                    i,
                    o
                  )
                )
              }
              return s
            }),
            (e._moveDownByModelLines = function(e, t, i, o) {
              for (var s = [], a = 0, u = t.length; a < u; a++) {
                var l = t[a]
                s[a] = n.CursorState.fromModelState(
                  r.MoveOperations.moveDown(
                    e.config,
                    e.model,
                    l.modelState,
                    i,
                    o
                  )
                )
              }
              return s
            }),
            (e._moveUpByViewLines = function(e, t, i, o) {
              for (var s = [], a = 0, u = t.length; a < u; a++) {
                var l = t[a]
                s[a] = n.CursorState.fromViewState(
                  r.MoveOperations.moveUp(
                    e.config,
                    e.viewModel,
                    l.viewState,
                    i,
                    o
                  )
                )
              }
              return s
            }),
            (e._moveUpByModelLines = function(e, t, i, o) {
              for (var s = [], a = 0, u = t.length; a < u; a++) {
                var l = t[a]
                s[a] = n.CursorState.fromModelState(
                  r.MoveOperations.moveUp(e.config, e.model, l.modelState, i, o)
                )
              }
              return s
            }),
            (e._moveToViewPosition = function(e, t, i, o, r) {
              return n.CursorState.fromViewState(t.viewState.move(i, o, r, 0))
            }),
            (e._moveToModelPosition = function(e, t, i, o, r) {
              return n.CursorState.fromModelState(t.modelState.move(i, o, r, 0))
            }),
            (e._moveToViewMinColumn = function(e, t, n) {
              for (var i = [], o = 0, r = t.length; o < r; o++) {
                var s = t[o],
                  a = s.viewState.position.lineNumber,
                  u = e.viewModel.getLineMinColumn(a)
                i[o] = this._moveToViewPosition(e, s, n, a, u)
              }
              return i
            }),
            (e._moveToViewFirstNonWhitespaceColumn = function(e, t, n) {
              for (var i = [], o = 0, r = t.length; o < r; o++) {
                var s = t[o],
                  a = s.viewState.position.lineNumber,
                  u = e.viewModel.getLineFirstNonWhitespaceColumn(a)
                i[o] = this._moveToViewPosition(e, s, n, a, u)
              }
              return i
            }),
            (e._moveToViewCenterColumn = function(e, t, n) {
              for (var i = [], o = 0, r = t.length; o < r; o++) {
                var s = t[o],
                  a = s.viewState.position.lineNumber,
                  u = Math.round(
                    (e.viewModel.getLineMaxColumn(a) +
                      e.viewModel.getLineMinColumn(a)) /
                      2
                  )
                i[o] = this._moveToViewPosition(e, s, n, a, u)
              }
              return i
            }),
            (e._moveToViewMaxColumn = function(e, t, n) {
              for (var i = [], o = 0, r = t.length; o < r; o++) {
                var s = t[o],
                  a = s.viewState.position.lineNumber,
                  u = e.viewModel.getLineMaxColumn(a)
                i[o] = this._moveToViewPosition(e, s, n, a, u)
              }
              return i
            }),
            (e._moveToViewLastNonWhitespaceColumn = function(e, t, n) {
              for (var i = [], o = 0, r = t.length; o < r; o++) {
                var s = t[o],
                  a = s.viewState.position.lineNumber,
                  u = e.viewModel.getLineLastNonWhitespaceColumn(a)
                i[o] = this._moveToViewPosition(e, s, n, a, u)
              }
              return i
            }),
            e
          )
        })()
        t.CursorMoveCommands = u
        !(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 (!a.isObject(e)) return !1
                  var t = e
                  return (
                    !!a.isString(t.to) &&
                    (!(!a.isUndefined(t.select) && !a.isBoolean(t.select)) &&
                      (!(!a.isUndefined(t.by) && !a.isString(t.by)) &&
                        !(!a.isUndefined(t.value) && !a.isNumber(t.value))))
                  )
                }
              }
            ]
          }),
            (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
              var n
              switch (t.to) {
                case e.RawDirection.Left:
                  n = 0
                  break
                case e.RawDirection.Right:
                  n = 1
                  break
                case e.RawDirection.Up:
                  n = 2
                  break
                case e.RawDirection.Down:
                  n = 3
                  break
                case e.RawDirection.WrappedLineStart:
                  n = 4
                  break
                case e.RawDirection.WrappedLineFirstNonWhitespaceCharacter:
                  n = 5
                  break
                case e.RawDirection.WrappedLineColumnCenter:
                  n = 6
                  break
                case e.RawDirection.WrappedLineEnd:
                  n = 7
                  break
                case e.RawDirection.WrappedLineLastNonWhitespaceCharacter:
                  n = 8
                  break
                case e.RawDirection.ViewPortTop:
                  n = 9
                  break
                case e.RawDirection.ViewPortBottom:
                  n = 11
                  break
                case e.RawDirection.ViewPortCenter:
                  n = 10
                  break
                case e.RawDirection.ViewPortIfOutside:
                  n = 12
                  break
                default:
                  return null
              }
              var i = 0
              switch (t.by) {
                case e.RawUnit.Line:
                  i = 1
                  break
                case e.RawUnit.WrappedLine:
                  i = 2
                  break
                case e.RawUnit.Character:
                  i = 3
                  break
                case e.RawUnit.HalfLine:
                  i = 4
              }
              return {
                direction: n,
                unit: i,
                select: !!t.select,
                value: t.value || 1
              }
            })
          !(function(e) {
            ;(e[(e.Left = 0)] = 'Left'),
              (e[(e.Right = 1)] = 'Right'),
              (e[(e.Up = 2)] = 'Up'),
              (e[(e.Down = 3)] = 'Down'),
              (e[(e.WrappedLineStart = 4)] = 'WrappedLineStart'),
              (e[(e.WrappedLineFirstNonWhitespaceCharacter = 5)] =
                'WrappedLineFirstNonWhitespaceCharacter'),
              (e[(e.WrappedLineColumnCenter = 6)] = 'WrappedLineColumnCenter'),
              (e[(e.WrappedLineEnd = 7)] = 'WrappedLineEnd'),
              (e[(e.WrappedLineLastNonWhitespaceCharacter = 8)] =
                'WrappedLineLastNonWhitespaceCharacter'),
              (e[(e.ViewPortTop = 9)] = 'ViewPortTop'),
              (e[(e.ViewPortCenter = 10)] = 'ViewPortCenter'),
              (e[(e.ViewPortBottom = 11)] = 'ViewPortBottom'),
              (e[(e.ViewPortIfOutside = 12)] = 'ViewPortIfOutside')
          })(e.Direction || (e.Direction = {}))
          !(function(e) {
            ;(e[(e.None = 0)] = 'None'),
              (e[(e.Line = 1)] = 'Line'),
              (e[(e.WrappedLine = 2)] = 'WrappedLine'),
              (e[(e.Character = 3)] = 'Character'),
              (e[(e.HalfLine = 4)] = 'HalfLine')
          })(e.Unit || (e.Unit = {}))
        })(t.CursorMove || (t.CursorMove = {}))
      }),
      define(d[307], h([0, 1, 37, 12, 2, 22]), function(e, t, n, i, o, r) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = (function() {
          function e(e) {
            this._setState(
              e,
              new n.SingleCursorState(
                new o.Range(1, 1, 1, 1),
                0,
                new i.Position(1, 1),
                0
              ),
              new n.SingleCursorState(
                new o.Range(1, 1, 1, 1),
                0,
                new i.Position(1, 1),
                0
              )
            )
          }
          return (
            (e.prototype.dispose = function(e) {
              e.model._removeMarker(this._selStartMarker),
                e.model._removeMarker(this._selEndMarker)
            }),
            (e.prototype.asCursorState = function() {
              return new n.CursorState(this.modelState, this.viewState)
            }),
            (e.prototype.readSelectionFromMarkers = function(e) {
              var t = e.model._getMarker(this._selStartMarker),
                n = e.model._getMarker(this._selEndMarker)
              return this.modelState.selection.getDirection() ===
                r.SelectionDirection.LTR
                ? new r.Selection(
                    t.lineNumber,
                    t.column,
                    n.lineNumber,
                    n.column
                  )
                : new r.Selection(
                    n.lineNumber,
                    n.column,
                    t.lineNumber,
                    t.column
                  )
            }),
            (e.prototype.ensureValidState = function(e) {
              this._setState(e, this.modelState, this.viewState)
            }),
            (e.prototype.setState = function(e, t, n) {
              this._setState(e, t, n)
            }),
            (e.prototype._setState = function(e, t, r) {
              if (t) {
                var s = e.model.validateRange(t.selectionStart),
                  a = t.selectionStart.equalsRange(s)
                    ? t.selectionStartLeftoverVisibleColumns
                    : 0,
                  u = e.model.validatePosition(t.position),
                  l = t.position.equals(u) ? t.leftoverVisibleColumns : 0
                t = new n.SingleCursorState(s, a, u, l)
              } else {
                var s = e.model.validateRange(
                    e.convertViewRangeToModelRange(r.selectionStart)
                  ),
                  u = e.model.validatePosition(
                    e.convertViewPositionToModelPosition(
                      r.position.lineNumber,
                      r.position.column
                    )
                  )
                t = new n.SingleCursorState(
                  s,
                  r.selectionStartLeftoverVisibleColumns,
                  u,
                  r.leftoverVisibleColumns
                )
              }
              if (r) {
                var c = e.validateViewRange(r.selectionStart, t.selectionStart),
                  d = e.validateViewPosition(r.position, t.position)
                r = new n.SingleCursorState(
                  c,
                  t.selectionStartLeftoverVisibleColumns,
                  d,
                  t.leftoverVisibleColumns
                )
              } else {
                var h = e.convertModelPositionToViewPosition(
                    new i.Position(
                      t.selectionStart.startLineNumber,
                      t.selectionStart.startColumn
                    )
                  ),
                  p = e.convertModelPositionToViewPosition(
                    new i.Position(
                      t.selectionStart.endLineNumber,
                      t.selectionStart.endColumn
                    )
                  ),
                  c = new o.Range(
                    h.lineNumber,
                    h.column,
                    p.lineNumber,
                    p.column
                  ),
                  d = e.convertModelPositionToViewPosition(t.position)
                r = new n.SingleCursorState(
                  c,
                  t.selectionStartLeftoverVisibleColumns,
                  d,
                  t.leftoverVisibleColumns
                )
              }
              ;(this.modelState &&
                this.viewState &&
                this.modelState.equals(t) &&
                this.viewState.equals(r)) ||
                ((this.modelState = t),
                (this.viewState = r),
                (this._selStartMarker = this._ensureMarker(
                  e,
                  this._selStartMarker,
                  this.modelState.selection.startLineNumber,
                  this.modelState.selection.startColumn,
                  !0
                )),
                (this._selEndMarker = this._ensureMarker(
                  e,
                  this._selEndMarker,
                  this.modelState.selection.endLineNumber,
                  this.modelState.selection.endColumn,
                  !1
                )))
            }),
            (e.prototype._ensureMarker = function(e, t, n, i, o) {
              return t
                ? (e.model._changeMarker(t, n, i),
                  e.model._changeMarkerStickiness(t, o),
                  t)
                : e.model._addMarker(0, n, i, o)
            }),
            e
          )
        })()
        t.OneCursor = s
      }),
      define(d[308], h([0, 1, 307, 22, 37]), function(e, t, n, i, o) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = (function() {
          function e(e) {
            ;(this.context = e),
              (this.primaryCursor = new n.OneCursor(e)),
              (this.secondaryCursors = []),
              (this.lastAddedCursorIndex = 0)
          }
          return (
            (e.prototype.dispose = function() {
              this.primaryCursor.dispose(this.context),
                this.killSecondaryCursors()
            }),
            (e.prototype.updateContext = function(e) {
              this.context = e
            }),
            (e.prototype.ensureValidState = function() {
              this.primaryCursor.ensureValidState(this.context)
              for (var e = 0, t = this.secondaryCursors.length; e < t; e++)
                this.secondaryCursors[e].ensureValidState(this.context)
            }),
            (e.prototype.readSelectionFromMarkers = function() {
              var e = []
              e[0] = this.primaryCursor.readSelectionFromMarkers(this.context)
              for (var t = 0, n = this.secondaryCursors.length; t < n; t++)
                e[t + 1] = this.secondaryCursors[t].readSelectionFromMarkers(
                  this.context
                )
              return e
            }),
            (e.prototype.getAll = function() {
              var e = []
              e[0] = this.primaryCursor.asCursorState()
              for (var t = 0, n = this.secondaryCursors.length; t < n; t++)
                e[t + 1] = this.secondaryCursors[t].asCursorState()
              return e
            }),
            (e.prototype.getViewPositions = function() {
              var e = []
              e[0] = this.primaryCursor.viewState.position
              for (var t = 0, n = this.secondaryCursors.length; t < n; t++)
                e[t + 1] = this.secondaryCursors[t].viewState.position
              return e
            }),
            (e.prototype.getSelections = function() {
              var e = []
              e[0] = this.primaryCursor.modelState.selection
              for (var t = 0, n = this.secondaryCursors.length; t < n; t++)
                e[t + 1] = this.secondaryCursors[t].modelState.selection
              return e
            }),
            (e.prototype.getViewSelections = function() {
              var e = []
              e[0] = this.primaryCursor.viewState.selection
              for (var t = 0, n = this.secondaryCursors.length; t < n; t++)
                e[t + 1] = this.secondaryCursors[t].viewState.selection
              return e
            }),
            (e.prototype.setSelections = function(e) {
              this.setStates(o.CursorState.fromModelSelections(e))
            }),
            (e.prototype.getPrimaryCursor = function() {
              return this.primaryCursor.asCursorState()
            }),
            (e.prototype.setStates = function(e) {
              null !== e &&
                (this.primaryCursor.setState(
                  this.context,
                  e[0].modelState,
                  e[0].viewState
                ),
                this._setSecondaryStates(e.slice(1)))
            }),
            (e.prototype._setSecondaryStates = function(e) {
              var t = this.secondaryCursors.length,
                n = e.length
              if (t < n)
                for (var i = n - t, o = 0; o < i; o++)
                  this._addSecondaryCursor()
              else if (t > n)
                for (var r = t - n, o = 0; o < r; o++)
                  this._removeSecondaryCursor(this.secondaryCursors.length - 1)
              for (o = 0; o < n; o++)
                this.secondaryCursors[o].setState(
                  this.context,
                  e[o].modelState,
                  e[o].viewState
                )
            }),
            (e.prototype.killSecondaryCursors = function() {
              this._setSecondaryStates([])
            }),
            (e.prototype._addSecondaryCursor = function() {
              this.secondaryCursors.push(new n.OneCursor(this.context)),
                (this.lastAddedCursorIndex = this.secondaryCursors.length)
            }),
            (e.prototype.getLastAddedCursorIndex = function() {
              return 0 === this.secondaryCursors.length ||
                0 === this.lastAddedCursorIndex
                ? 0
                : this.lastAddedCursorIndex
            }),
            (e.prototype._removeSecondaryCursor = function(e) {
              this.lastAddedCursorIndex >= e + 1 && this.lastAddedCursorIndex--,
                this.secondaryCursors[e].dispose(this.context),
                this.secondaryCursors.splice(e, 1)
            }),
            (e.prototype._getAll = function() {
              var e = []
              e[0] = this.primaryCursor
              for (var t = 0, n = this.secondaryCursors.length; t < n; t++)
                e[t + 1] = this.secondaryCursors[t]
              return e
            }),
            (e.prototype.normalize = function() {
              if (0 !== this.secondaryCursors.length) {
                for (
                  var e = this._getAll(), t = [], n = 0, r = e.length;
                  n < r;
                  n++
                )
                  t.push({
                    index: n,
                    selection: e[n].modelState.selection,
                    viewSelection: e[n].viewState.selection
                  })
                t.sort(function(e, t) {
                  return e.viewSelection.startLineNumber ===
                    t.viewSelection.startLineNumber
                    ? e.viewSelection.startColumn - t.viewSelection.startColumn
                    : e.viewSelection.startLineNumber -
                        t.viewSelection.startLineNumber
                })
                for (var s = 0; s < t.length - 1; s++) {
                  var a = t[s],
                    u = t[s + 1],
                    l = a.viewSelection,
                    c = u.viewSelection
                  if (
                    c.isEmpty() || l.isEmpty()
                      ? c.getStartPosition().isBeforeOrEqual(l.getEndPosition())
                      : c.getStartPosition().isBefore(l.getEndPosition())
                  ) {
                    var d = a.index < u.index ? s : s + 1,
                      h = a.index < u.index ? s + 1 : s,
                      p = t[h].index,
                      f = t[d].index,
                      g = t[h].selection,
                      m = t[d].selection
                    if (!g.equalsSelection(m)) {
                      var v = g.plusRange(m),
                        _ =
                          g.selectionStartLineNumber === g.startLineNumber &&
                          g.selectionStartColumn === g.startColumn,
                        y =
                          m.selectionStartLineNumber === m.startLineNumber &&
                          m.selectionStartColumn === m.startColumn,
                        b = void 0
                      p === this.lastAddedCursorIndex
                        ? ((b = _), (this.lastAddedCursorIndex = f))
                        : (b = y)
                      var C = void 0
                      ;(C = b
                        ? new i.Selection(
                            v.startLineNumber,
                            v.startColumn,
                            v.endLineNumber,
                            v.endColumn
                          )
                        : new i.Selection(
                            v.endLineNumber,
                            v.endColumn,
                            v.startLineNumber,
                            v.startColumn
                          )),
                        (t[d].selection = C)
                      var w = o.CursorState.fromModelSelection(C)
                      e[f].setState(this.context, w.modelState, w.viewState)
                    }
                    for (var S = 0; S < t.length; S++)
                      t[S].index > p && t[S].index--
                    e.splice(p, 1),
                      t.splice(h, 1),
                      this._removeSecondaryCursor(p - 1),
                      s--
                  }
                }
              }
            }),
            e
          )
        })()
        t.CursorCollection = r
      }),
      define(d[309], h([0, 1, 9, 2, 22, 43, 183, 254, 58]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var l = (function() {
          function e(e, t, n) {
            ;(this._selection = e),
              (this._isMovingDown = t),
              (this._autoIndent = n),
              (this._moveEndLineSelectionShrink = !1)
          }
          return (
            (e.prototype.getEditOperations = function(e, t) {
              var s = e.getLineCount()
              if (
                (!this._isMovingDown || this._selection.endLineNumber !== s) &&
                (this._isMovingDown || 1 !== this._selection.startLineNumber)
              ) {
                this._moveEndPositionDown = !1
                var u = this._selection
                u.startLineNumber < u.endLineNumber &&
                  1 === u.endColumn &&
                  ((this._moveEndPositionDown = !0),
                  (u = u.setEndPosition(
                    u.endLineNumber - 1,
                    e.getLineMaxColumn(u.endLineNumber - 1)
                  )))
                var l = e.getOptions().tabSize,
                  c = e.getOptions().insertSpaces,
                  d = this.buildIndentConverter(l),
                  h = {
                    getLineTokens: function(t) {
                      return e.getLineTokens(t)
                    },
                    getLanguageIdentifier: function() {
                      return e.getLanguageIdentifier()
                    },
                    getLanguageIdAtPosition: function(t, n) {
                      return e.getLanguageIdAtPosition(t, n)
                    },
                    getLineContent: null
                  }
                if (
                  u.startLineNumber === u.endLineNumber &&
                  1 === e.getLineMaxColumn(u.startLineNumber)
                ) {
                  var p = u.startLineNumber,
                    f = this._isMovingDown ? p + 1 : p - 1
                  1 === e.getLineMaxColumn(f)
                    ? t.addEditOperation(new i.Range(1, 1, 1, 1), null)
                    : (t.addEditOperation(
                        new i.Range(p, 1, p, 1),
                        e.getLineContent(f)
                      ),
                      t.addEditOperation(
                        new i.Range(f, 1, f, e.getLineMaxColumn(f)),
                        null
                      )),
                    (u = new o.Selection(f, 1, f, 1))
                } else {
                  var g, m
                  if (this._isMovingDown) {
                    ;(g = u.endLineNumber + 1),
                      (m = e.getLineContent(g)),
                      t.addEditOperation(
                        new i.Range(
                          g - 1,
                          e.getLineMaxColumn(g - 1),
                          g,
                          e.getLineMaxColumn(g)
                        ),
                        null
                      )
                    var v = m
                    if (this.isAutoIndent(e, u)) {
                      var _ = this.matchEnterRule(
                        e,
                        u.startLineNumber - 1,
                        g,
                        d,
                        l
                      )
                      if (null !== _) {
                        var y = n.getLeadingWhitespace(e.getLineContent(g)),
                          b = _ + a.getSpaceCnt(y, l),
                          C = a.generateIndent(b, l, c)
                        v = C + this.trimLeft(m)
                      } else {
                        h.getLineContent = function(t) {
                          return t === u.startLineNumber
                            ? e.getLineContent(g)
                            : e.getLineContent(t)
                        }
                        var w = r.LanguageConfigurationRegistry.getGoodIndentForLine(
                          h,
                          e.getLanguageIdAtPosition(g, 1),
                          u.startLineNumber,
                          d
                        )
                        if (null !== w) {
                          y = n.getLeadingWhitespace(e.getLineContent(g))
                          if (
                            (b = a.getSpaceCnt(w, l)) !==
                            (N = a.getSpaceCnt(y, l))
                          ) {
                            C = a.generateIndent(b, l, c)
                            v = C + this.trimLeft(m)
                          }
                        }
                      }
                      if (
                        (t.addEditOperation(
                          new i.Range(
                            u.startLineNumber,
                            1,
                            u.startLineNumber,
                            1
                          ),
                          v + '\n'
                        ),
                        null !==
                          (E = this.matchEnterRule(
                            e,
                            u.endLineNumber + 1,
                            u.startLineNumber,
                            d,
                            l
                          )))
                      )
                        0 !== E &&
                          this.getIndentEditsOfMovingBlock(e, t, u, l, c, E)
                      else {
                        h.getLineContent = function(t) {
                          return t === u.startLineNumber
                            ? v
                            : t >= u.startLineNumber + 1 &&
                              t <= u.endLineNumber + 1
                              ? e.getLineContent(t - 1)
                              : e.getLineContent(t)
                        }
                        var S = r.LanguageConfigurationRegistry.getGoodIndentForLine(
                          h,
                          e.getLanguageIdAtPosition(g, 1),
                          u.startLineNumber + 1,
                          d
                        )
                        if (null !== S) {
                          y = n.getLeadingWhitespace(
                            e.getLineContent(u.startLineNumber)
                          )
                          if (
                            (b = a.getSpaceCnt(S, l)) !==
                            (N = a.getSpaceCnt(y, l))
                          ) {
                            M = b - N
                            this.getIndentEditsOfMovingBlock(e, t, u, l, c, M)
                          }
                        }
                      }
                    } else
                      t.addEditOperation(
                        new i.Range(u.startLineNumber, 1, u.startLineNumber, 1),
                        v + '\n'
                      )
                  } else if (
                    ((g = u.startLineNumber - 1),
                    (m = e.getLineContent(g)),
                    t.addEditOperation(new i.Range(g, 1, g + 1, 1), null),
                    t.addEditOperation(
                      new i.Range(
                        u.endLineNumber,
                        e.getLineMaxColumn(u.endLineNumber),
                        u.endLineNumber,
                        e.getLineMaxColumn(u.endLineNumber)
                      ),
                      '\n' + m
                    ),
                    this.isAutoIndent(e, u))
                  ) {
                    h.getLineContent = function(t) {
                      return t === g
                        ? e.getLineContent(u.startLineNumber)
                        : e.getLineContent(t)
                    }
                    var E = this.matchEnterRule(
                      e,
                      u.startLineNumber - 2,
                      u.startLineNumber,
                      d,
                      l
                    )
                    if (null !== E)
                      0 !== E &&
                        this.getIndentEditsOfMovingBlock(e, t, u, l, c, E)
                    else {
                      var L = r.LanguageConfigurationRegistry.getGoodIndentForLine(
                        h,
                        e.getLanguageIdAtPosition(u.startLineNumber, 1),
                        g,
                        d
                      )
                      if (null !== L) {
                        var x = n.getLeadingWhitespace(
                            e.getLineContent(u.startLineNumber)
                          ),
                          b = a.getSpaceCnt(L, l),
                          N = a.getSpaceCnt(x, l)
                        if (b !== N) {
                          var M = b - N
                          this.getIndentEditsOfMovingBlock(e, t, u, l, c, M)
                        }
                      }
                    }
                  }
                }
                this._selectionId = t.trackSelection(u)
              }
            }),
            (e.prototype.buildIndentConverter = function(e) {
              return {
                shiftIndent: function(t) {
                  for (
                    var n = s.ShiftCommand.shiftIndentCount(t, t.length + 1, e),
                      i = '',
                      o = 0;
                    o < n;
                    o++
                  )
                    i += '\t'
                  return i
                },
                unshiftIndent: function(t) {
                  for (
                    var n = s.ShiftCommand.unshiftIndentCount(
                        t,
                        t.length + 1,
                        e
                      ),
                      i = '',
                      o = 0;
                    o < n;
                    o++
                  )
                    i += '\t'
                  return i
                }
              }
            }),
            (e.prototype.matchEnterRule = function(e, t, o, s, l) {
              for (; t >= 1; ) {
                var c = e.getLineContent(t)
                if (n.lastNonWhitespaceIndex(c) >= 0) break
                t--
              }
              if (t < 1 || o > e.getLineCount()) return null
              var d = e.getLineMaxColumn(t),
                h = r.LanguageConfigurationRegistry.getEnterAction(
                  e,
                  new i.Range(t, d, t, d)
                )
              if (h) {
                var p = h.indentation,
                  f = h.enterAction
                f.indentAction === u.IndentAction.None
                  ? (p = h.indentation + f.appendText)
                  : f.indentAction === u.IndentAction.Indent
                    ? (p = h.indentation + f.appendText)
                    : f.indentAction === u.IndentAction.IndentOutdent
                      ? (p = h.indentation)
                      : f.indentAction === u.IndentAction.Outdent &&
                        (p = s.unshiftIndent(h.indentation) + f.appendText)
                var g = e.getLineContent(o)
                if (this.trimLeft(g).indexOf(this.trimLeft(p)) >= 0) {
                  var m = n.getLeadingWhitespace(e.getLineContent(o)),
                    v = n.getLeadingWhitespace(p)
                  return (
                    2 &
                      r.LanguageConfigurationRegistry.getIndentMetadata(e, o) &&
                      (v = s.unshiftIndent(v)),
                    a.getSpaceCnt(v, l) - a.getSpaceCnt(m, l)
                  )
                }
              }
              return null
            }),
            (e.prototype.trimLeft = function(e) {
              return e.replace(/^\s+/, '')
            }),
            (e.prototype.isAutoIndent = function(e, t) {
              if (!this._autoIndent) return !1
              var n = e.getLanguageIdAtPosition(t.startLineNumber, 1)
              return (
                n === e.getLanguageIdAtPosition(t.endLineNumber, 1) &&
                null !==
                  r.LanguageConfigurationRegistry.getIndentRulesSupport(n)
              )
            }),
            (e.prototype.getIndentEditsOfMovingBlock = function(
              e,
              t,
              o,
              r,
              s,
              u
            ) {
              for (var l = o.startLineNumber; l <= o.endLineNumber; l++) {
                var c = e.getLineContent(l),
                  d = n.getLeadingWhitespace(c),
                  h = a.getSpaceCnt(d, r) + u,
                  p = a.generateIndent(h, r, s)
                p !== d &&
                  (t.addEditOperation(new i.Range(l, 1, l, d.length + 1), p),
                  l === o.endLineNumber &&
                    o.endColumn <= d.length + 1 &&
                    '' === p &&
                    (this._moveEndLineSelectionShrink = !0))
              }
            }),
            (e.prototype.computeCursorState = function(e, t) {
              var n = t.getTrackedSelection(this._selectionId)
              return (
                this._moveEndPositionDown &&
                  (n = n.setEndPosition(n.endLineNumber + 1, 1)),
                this._moveEndLineSelectionShrink &&
                  n.startLineNumber < n.endLineNumber &&
                  (n = n.setEndPosition(n.endLineNumber, 2)),
                n
              )
            }),
            e
          )
        })()
        t.MoveLinesCommand = l
      }),
      define(d[310], h([5, 7]), function(e, t) {
        return e.create('vs/editor/common/controller/cursor', t)
      }),
      define(d[311], h([
        0,
        1,
        310,
        9,
        10,
        308,
        2,
        22,
        21,
        37,
        43,
        181,
        123,
        52,
        54,
        56,
        11
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g, m, v) {
        'use strict'
        function _(e) {
          for (var t = 0, n = e.length; t < n; t++)
            if (6 === e[t].type) return !0
          return !1
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var y = (function() {
          return function(e, t, n) {
            ;(this.selections = e), (this.source = t), (this.reason = n)
          }
        })()
        t.CursorStateChangedEvent = y
        var b = (function() {
          function e(e, t) {
            ;(this.modelVersionId = e.getVersionId()),
              (this.cursorState = t.getAll())
          }
          return (
            (e.prototype.equals = function(e) {
              if (!e) return !1
              if (this.modelVersionId !== e.modelVersionId) return !1
              if (this.cursorState.length !== e.cursorState.length) return !1
              for (var t = 0, n = this.cursorState.length; t < n; t++)
                if (!this.cursorState[t].equals(e.cursorState[t])) return !1
              return !0
            }),
            e
          )
        })()
        t.CursorModelState = b
        var C = (function(e) {
          function t(t, n, i) {
            var o = e.call(this) || this
            ;(o._onDidChange = o._register(new v.Emitter())),
              (o.onDidChange = o._onDidChange.event),
              (o._configuration = t),
              (o._model = n),
              (o._viewModel = i),
              (o.context = new l.CursorContext(
                o._configuration,
                o._model,
                o._viewModel
              )),
              (o._cursors = new r.CursorCollection(o.context)),
              (o._isHandling = !1),
              (o._isDoingComposition = !1),
              (o._columnSelectData = null),
              o._register(
                o._model.addBulkListener(function(e) {
                  if (!o._isHandling) {
                    for (var t = !1, n = !1, i = 0, r = e.length; i < r; i++) {
                      var s = e[i]
                      if (
                        s.type === p.TextModelEventType.ModelRawContentChanged2
                      ) {
                        t = !0
                        var a = s.data
                        n = n || a.containsEvent(1)
                      }
                    }
                    t && o._onModelContentChanged(n)
                  }
                })
              ),
              o._register(
                i.addEventListener(function(e) {
                  _(e) &&
                    o.setStates(
                      'viewModel',
                      g.CursorChangeReason.NotSet,
                      o.getAll()
                    )
                })
              )
            var s = function() {
              ;(o.context = new l.CursorContext(
                o._configuration,
                o._model,
                o._viewModel
              )),
                o._cursors.updateContext(o.context)
            }
            return (
              o._register(
                o._model.onDidChangeLanguage(function(e) {
                  s()
                })
              ),
              o._register(
                c.LanguageConfigurationRegistry.onDidChange(function() {
                  s()
                })
              ),
              o._register(
                n.onDidChangeOptions(function() {
                  s()
                })
              ),
              o._register(
                o._configuration.onDidChange(function(e) {
                  l.CursorConfiguration.shouldRecreate(e) && s()
                })
              ),
              o
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              this._cursors.dispose(), e.prototype.dispose.call(this)
            }),
            (t.prototype.getPrimaryCursor = function() {
              return this._cursors.getPrimaryCursor()
            }),
            (t.prototype.getLastAddedCursorIndex = function() {
              return this._cursors.getLastAddedCursorIndex()
            }),
            (t.prototype.getAll = function() {
              return this._cursors.getAll()
            }),
            (t.prototype.setStates = function(e, t, n) {
              var i = new b(this._model, this)
              this._cursors.setStates(n),
                this._cursors.normalize(),
                (this._columnSelectData = null),
                this._emitStateChangedIfNecessary(e, t, i)
            }),
            (t.prototype.setColumnSelectData = function(e) {
              this._columnSelectData = e
            }),
            (t.prototype.reveal = function(e, t) {
              this._revealRange(t, 0, e)
            }),
            (t.prototype.revealRange = function(e, t, n) {
              this.emitCursorRevealRange(t, n, e)
            }),
            (t.prototype.scrollTo = function(e) {
              this._viewModel.viewLayout.setScrollPosition({ scrollTop: e })
            }),
            (t.prototype.saveState = function() {
              for (
                var e = [],
                  t = this._cursors.getSelections(),
                  n = 0,
                  i = t.length;
                n < i;
                n++
              ) {
                var o = t[n]
                e.push({
                  inSelectionMode: !o.isEmpty(),
                  selectionStart: {
                    lineNumber: o.selectionStartLineNumber,
                    column: o.selectionStartColumn
                  },
                  position: {
                    lineNumber: o.positionLineNumber,
                    column: o.positionColumn
                  }
                })
              }
              return e
            }),
            (t.prototype.restoreState = function(e) {
              for (var t = [], n = 0, i = e.length; n < i; n++) {
                var o = e[n],
                  r = 1,
                  s = 1
                o.position &&
                  o.position.lineNumber &&
                  (r = o.position.lineNumber),
                  o.position && o.position.column && (s = o.position.column)
                var a = r,
                  u = s
                o.selectionStart &&
                  o.selectionStart.lineNumber &&
                  (a = o.selectionStart.lineNumber),
                  o.selectionStart &&
                    o.selectionStart.column &&
                    (u = o.selectionStart.column),
                  t.push({
                    selectionStartLineNumber: a,
                    selectionStartColumn: u,
                    positionLineNumber: r,
                    positionColumn: s
                  })
              }
              this.setStates(
                'restoreState',
                g.CursorChangeReason.NotSet,
                l.CursorState.fromModelSelections(t)
              ),
                this.reveal(!0, 0)
            }),
            (t.prototype._onModelContentChanged = function(e) {
              if (e)
                this._cursors.dispose(),
                  (this._cursors = new r.CursorCollection(this.context)),
                  this._emitStateChangedIfNecessary(
                    'model',
                    g.CursorChangeReason.ContentFlush,
                    null
                  )
              else {
                var t = this._cursors.readSelectionFromMarkers()
                this.setStates(
                  'modelChange',
                  g.CursorChangeReason.RecoverFromMarkers,
                  l.CursorState.fromModelSelections(t)
                )
              }
            }),
            (t.prototype.getSelection = function() {
              return this._cursors.getPrimaryCursor().modelState.selection
            }),
            (t.prototype.getColumnSelectData = function() {
              if (this._columnSelectData) return this._columnSelectData
              var e = this._cursors.getPrimaryCursor().viewState.position
              return {
                toViewLineNumber: e.lineNumber,
                toViewVisualColumn: l.CursorColumns.visibleColumnFromColumn2(
                  this.context.config,
                  this.context.viewModel,
                  e
                )
              }
            }),
            (t.prototype.getSelections = function() {
              return this._cursors.getSelections()
            }),
            (t.prototype.getViewSelections = function() {
              return this._cursors.getViewSelections()
            }),
            (t.prototype.getPosition = function() {
              return this._cursors.getPrimaryCursor().modelState.position
            }),
            (t.prototype.setSelections = function(e, t) {
              this.setStates(
                e,
                g.CursorChangeReason.NotSet,
                l.CursorState.fromModelSelections(t)
              )
            }),
            (t.prototype._executeEditOperation = function(e) {
              if (e && !this._configuration.editor.readOnly) {
                e.shouldPushStackElementBefore && this._model.pushStackElement()
                var t = w.executeCommands(
                  this._model,
                  this._cursors.getSelections(),
                  e.commands
                )
                t && this._interpretCommandResult(t),
                  e.shouldPushStackElementAfter &&
                    this._model.pushStackElement()
              }
            }),
            (t.prototype._interpretCommandResult = function(e) {
              e &&
                0 !== e.length &&
                ((this._columnSelectData = null),
                this._cursors.setSelections(e),
                this._cursors.normalize())
            }),
            (t.prototype._emitStateChangedIfNecessary = function(e, t, n) {
              var i = new b(this._model, this)
              if (i.equals(n)) return !1
              var o = !0
              this._model.hasEditableRange() &&
                (this._model
                  .getEditableRange()
                  .containsPosition(i.cursorState[0].modelState.position) ||
                  (o = !1))
              var r = this._cursors.getSelections(),
                s = this._cursors.getViewSelections()
              return (
                this._emit([new m.ViewCursorStateChangedEvent(s, o, null)]),
                this._onDidChange.fire(new y(r, e || 'keyboard', t)),
                !0
              )
            }),
            (t.prototype._revealRange = function(e, t, n) {
              var i = this._cursors.getViewPositions(),
                o = i[0]
              if (1 === e)
                for (r = 1; r < i.length; r++) i[r].isBefore(o) && (o = i[r])
              else if (2 === e)
                for (var r = 1; r < i.length; r++)
                  o.isBeforeOrEqual(i[r]) && (o = i[r])
              else if (i.length > 1) return
              var a = new s.Range(
                o.lineNumber,
                o.column,
                o.lineNumber,
                o.column
              )
              this.emitCursorRevealRange(a, t, n)
            }),
            (t.prototype.emitCursorRevealRange = function(e, t, n) {
              this._emit([new m.ViewRevealRangeRequestEvent(e, t, n)])
            }),
            (t.prototype.trigger = function(e, t, n) {
              var i = u.Handler
              if (t !== i.CompositionStart)
                if (t !== i.CompositionEnd) {
                  var r = new b(this._model, this),
                    s = g.CursorChangeReason.NotSet
                  this._cursors.ensureValidState(), (this._isHandling = !0)
                  try {
                    switch (t) {
                      case i.Type:
                        this._type(e, n.text)
                        break
                      case i.ReplacePreviousChar:
                        this._replacePreviousChar(n.text, n.replaceCharCnt)
                        break
                      case i.Paste:
                        ;(s = g.CursorChangeReason.Paste),
                          this._paste(n.text, n.pasteOnNewLine)
                        break
                      case i.Cut:
                        this._cut()
                        break
                      case i.Undo:
                        ;(s = g.CursorChangeReason.Undo),
                          this._interpretCommandResult(this._model.undo())
                        break
                      case i.Redo:
                        ;(s = g.CursorChangeReason.Redo),
                          this._interpretCommandResult(this._model.redo())
                        break
                      case i.ExecuteCommand:
                        this._externalExecuteCommand(n)
                        break
                      case i.ExecuteCommands:
                        this._externalExecuteCommands(n)
                    }
                  } catch (e) {
                    o.onUnexpectedError(e)
                  }
                  ;(this._isHandling = !1),
                    this._emitStateChangedIfNecessary(e, s, r) &&
                      this._revealRange(0, 0, !0)
                } else this._isDoingComposition = !1
              else this._isDoingComposition = !0
            }),
            (t.prototype._type = function(e, t) {
              if (this._isDoingComposition || 'keyboard' !== e)
                this._executeEditOperation(
                  h.TypeOperations.typeWithoutInterceptors(
                    this.context.config,
                    this.context.model,
                    this.getSelections(),
                    t
                  )
                )
              else
                for (var n = 0, o = t.length; n < o; n++) {
                  var r = t.charCodeAt(n),
                    s = void 0
                  i.isHighSurrogate(r) && n + 1 < o
                    ? ((s = t.charAt(n) + t.charAt(n + 1)), n++)
                    : (s = t.charAt(n)),
                    this._executeEditOperation(
                      h.TypeOperations.typeWithInterceptors(
                        this.context.config,
                        this.context.model,
                        this.getSelections(),
                        s
                      )
                    )
                }
            }),
            (t.prototype._replacePreviousChar = function(e, t) {
              this._executeEditOperation(
                h.TypeOperations.replacePreviousChar(
                  this.context.config,
                  this.context.model,
                  this.getSelections(),
                  e,
                  t
                )
              )
            }),
            (t.prototype._paste = function(e, t) {
              this._executeEditOperation(
                h.TypeOperations.paste(
                  this.context.config,
                  this.context.model,
                  this.getSelections(),
                  t,
                  e
                )
              )
            }),
            (t.prototype._cut = function() {
              this._executeEditOperation(
                d.DeleteOperations.cut(
                  this.context.config,
                  this.context.model,
                  this.getSelections()
                )
              )
            }),
            (t.prototype._externalExecuteCommand = function(e) {
              this._cursors.killSecondaryCursors(),
                this._executeEditOperation(
                  new l.EditOperationResult([e], {
                    shouldPushStackElementBefore: !1,
                    shouldPushStackElementAfter: !1
                  })
                )
            }),
            (t.prototype._externalExecuteCommands = function(e) {
              this._executeEditOperation(
                new l.EditOperationResult(e, {
                  shouldPushStackElementBefore: !1,
                  shouldPushStackElementAfter: !1
                })
              )
            }),
            t
          )
        })(m.ViewEventEmitter)
        t.Cursor = C
        var w = (function() {
          function e() {}
          return (
            (e.executeCommands = function(e, t, n) {
              for (
                var i = {
                    model: e,
                    selectionsBefore: t,
                    selectionStartMarkers: [],
                    positionMarkers: []
                  },
                  o = this._innerExecuteCommands(i, n),
                  r = 0;
                r < i.selectionStartMarkers.length;
                r++
              )
                i.model._removeMarker(i.selectionStartMarkers[r]),
                  i.model._removeMarker(i.positionMarkers[r])
              return o
            }),
            (e._innerExecuteCommands = function(e, t) {
              if (this._arrayIsEmpty(t)) return null
              var n = this._getEditOperations(e, t)
              if (0 === n.operations.length) return null
              for (
                var i = n.operations,
                  o = e.model.getEditableRange(),
                  r = o.getStartPosition(),
                  s = o.getEndPosition(),
                  u = 0,
                  l = i.length;
                u < l;
                u++
              ) {
                var c = i[u].range
                if (
                  !r.isBeforeOrEqual(c.getStartPosition()) ||
                  !c.getEndPosition().isBeforeOrEqual(s)
                )
                  return null
              }
              var d = this._getLoserCursorMap(i)
              if (d.hasOwnProperty('0'))
                return console.warn('Ignoring commands'), null
              for (var h = [], u = 0, l = i.length; u < l; u++)
                d.hasOwnProperty(i[u].identifier.major.toString()) ||
                  h.push(i[u])
              n.hadTrackedEditOperation &&
                h.length > 0 &&
                (h[0]._isTracked = !0)
              var p = e.model.pushEditOperations(
                  e.selectionsBefore,
                  h,
                  function(n) {
                    for (var i = [], o = 0; o < e.selectionsBefore.length; o++)
                      i[o] = []
                    for (o = 0; o < n.length; o++) {
                      var r = n[o]
                      r.identifier && i[r.identifier.major].push(r)
                    }
                    for (
                      var s = function(e, t) {
                          return e.identifier.minor - t.identifier.minor
                        },
                        u = [],
                        o = 0;
                      o < e.selectionsBefore.length;
                      o++
                    )
                      !(function(n) {
                        i[n].length > 0
                          ? (i[n].sort(s),
                            (u[n] = t[n].computeCursorState(e.model, {
                              getInverseEditOperations: function() {
                                return i[n]
                              },
                              getTrackedSelection: function(t) {
                                var n = parseInt(t, 10),
                                  i = e.model._getMarker(
                                    e.selectionStartMarkers[n]
                                  ),
                                  o = e.model._getMarker(e.positionMarkers[n])
                                return new a.Selection(
                                  i.lineNumber,
                                  i.column,
                                  o.lineNumber,
                                  o.column
                                )
                              }
                            })))
                          : (u[n] = e.selectionsBefore[n])
                      })(o)
                    return u
                  }
                ),
                f = []
              for (var g in d) d.hasOwnProperty(g) && f.push(parseInt(g, 10))
              f.sort(function(e, t) {
                return t - e
              })
              for (u = 0; u < f.length; u++) p.splice(f[u], 1)
              return p
            }),
            (e._arrayIsEmpty = function(e) {
              for (var t = 0, n = e.length; t < n; t++) if (e[t]) return !1
              return !0
            }),
            (e._getEditOperations = function(e, t) {
              for (var n = [], i = !1, o = 0, r = t.length; o < r; o++)
                if (t[o]) {
                  var s = this._getEditOperationsFromCommand(e, o, t[o])
                  ;(n = n.concat(s.operations)),
                    (i = i || s.hadTrackedEditOperation)
                }
              return { operations: n, hadTrackedEditOperation: i }
            }),
            (e._getEditOperationsFromCommand = function(e, t, i) {
              var r = [],
                s = 0,
                u = function(e, n) {
                  ;(e.isEmpty() && '' === n) ||
                    r.push({
                      identifier: { major: t, minor: s++ },
                      range: e,
                      text: n,
                      forceMoveMarkers: !1,
                      isAutoWhitespaceEdit: i.insertsAutoWhitespace
                    })
                },
                l = !1,
                c = {
                  addEditOperation: u,
                  addTrackedEditOperation: function(e, t) {
                    ;(l = !0), u(e, t)
                  },
                  trackSelection: function(t, n) {
                    var i, o
                    if (t.isEmpty())
                      if ('boolean' == typeof n) (i = n), (o = n)
                      else {
                        var r = e.model.getLineMaxColumn(t.startLineNumber)
                        t.startColumn === r
                          ? ((i = !0), (o = !0))
                          : ((i = !1), (o = !1))
                      }
                    else
                      t.getDirection() === a.SelectionDirection.LTR
                        ? ((i = !1), (o = !0))
                        : ((i = !0), (o = !1))
                    var s = e.selectionStartMarkers.length
                    return (
                      (e.selectionStartMarkers[s] = e.model._addMarker(
                        0,
                        t.selectionStartLineNumber,
                        t.selectionStartColumn,
                        i
                      )),
                      (e.positionMarkers[s] = e.model._addMarker(
                        0,
                        t.positionLineNumber,
                        t.positionColumn,
                        o
                      )),
                      s.toString()
                    )
                  }
                }
              try {
                i.getEditOperations(e.model, c)
              } catch (e) {
                return (
                  (e.friendlyMessage = n.localize(0, null)),
                  o.onUnexpectedError(e),
                  { operations: [], hadTrackedEditOperation: !1 }
                )
              }
              return { operations: r, hadTrackedEditOperation: l }
            }),
            (e._getLoserCursorMap = function(e) {
              ;(e = e.slice(0)).sort(function(e, t) {
                return -s.Range.compareRangesUsingEnds(e.range, t.range)
              })
              for (var t = {}, n = 1; n < e.length; n++) {
                var i = e[n - 1],
                  o = e[n]
                if (
                  i.range.getStartPosition().isBefore(o.range.getEndPosition())
                ) {
                  var r = void 0
                  t[
                    (r =
                      i.identifier.major > o.identifier.major
                        ? i.identifier.major
                        : o.identifier.major).toString()
                  ] = !0
                  for (var a = 0; a < e.length; a++)
                    e[a].identifier.major === r &&
                      (e.splice(a, 1), a < n && n--, a--)
                  n > 0 && n--
                }
              }
              return t
            }),
            e
          )
        })()
      }),
      define(d[312], h([5, 7]), function(e, t) {
        return e.create('vs/editor/common/model/textModelWithTokens', t)
      }),
      define(d[313], h([
        0,
        1,
        312,
        10,
        498,
        92,
        17,
        70,
        103,
        106,
        43,
        100,
        52
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var p = (function() {
            function e() {
              this._ranges = []
            }
            return (
              (e.prototype.registerChangedTokens = function(e) {
                var t = this._ranges,
                  n = t.length,
                  i = n > 0 ? t[n - 1] : null
                i && i.toLineNumber === e - 1
                  ? i.toLineNumber++
                  : (t[n] = { fromLineNumber: e, toLineNumber: e })
              }),
              (e.prototype.build = function() {
                return 0 === this._ranges.length
                  ? null
                  : { ranges: this._ranges }
              }),
              e
            )
          })(),
          g = (function(e) {
            function t(t, n, i) {
              var o = e.call(this, t, n) || this
              return (
                (o._languageIdentifier = i || a.NULL_LANGUAGE_IDENTIFIER),
                (o._tokenizationListener = s.TokenizationRegistry.onDidChange(
                  function(e) {
                    ;-1 !==
                      e.changedLanguages.indexOf(
                        o._languageIdentifier.language
                      ) &&
                      (o._resetTokenizationState(),
                      o.emitModelTokensChangedEvent({
                        ranges: [
                          { fromLineNumber: 1, toLineNumber: o.getLineCount() }
                        ]
                      }))
                  }
                )),
                (o._revalidateTokensTimeout = -1),
                o._resetTokenizationState(),
                o
              )
            }
            return (
              f(t, e),
              (t.prototype.dispose = function() {
                this._tokenizationListener.dispose(),
                  this._clearTimers(),
                  (this._lastState = null),
                  e.prototype.dispose.call(this)
              }),
              (t.prototype._shouldAutoTokenize = function() {
                return !1
              }),
              (t.prototype._resetValue = function(t) {
                e.prototype._resetValue.call(this, t),
                  this._resetTokenizationState()
              }),
              (t.prototype._resetTokenizationState = function() {
                this._clearTimers()
                for (var e = 0; e < this._lines.length; e++)
                  this._lines[e].resetTokenizationState()
                if (
                  ((this._tokenizationSupport = null),
                  this.isTooLargeForHavingAMode() ||
                    (this._tokenizationSupport = s.TokenizationRegistry.get(
                      this._languageIdentifier.language
                    )),
                  this._tokenizationSupport)
                ) {
                  var n = null
                  try {
                    n = this._tokenizationSupport.getInitialState()
                  } catch (e) {
                    ;(e.friendlyMessage = t.MODE_TOKENIZATION_FAILED_MSG),
                      i.onUnexpectedError(e),
                      (this._tokenizationSupport = null)
                  }
                  n && this._lines[0].setState(n)
                }
                ;(this._lastState = null),
                  (this._invalidLineStartIndex = 0),
                  this._beginBackgroundTokenization()
              }),
              (t.prototype._clearTimers = function() {
                ;-1 !== this._revalidateTokensTimeout &&
                  (clearTimeout(this._revalidateTokensTimeout),
                  (this._revalidateTokensTimeout = -1))
              }),
              (t.prototype._withModelTokensChangedEventBuilder = function(e) {
                var t = new p(),
                  n = e(t)
                if (!this._isDisposing) {
                  var i = t.build()
                  i &&
                    this._eventEmitter.emit(
                      h.TextModelEventType.ModelTokensChanged,
                      i
                    )
                }
                return n
              }),
              (t.prototype.forceTokenization = function(e) {
                var t = this
                if (e < 1 || e > this.getLineCount())
                  throw new Error('Illegal value ' + e + ' for `lineNumber`')
                this._withModelTokensChangedEventBuilder(function(n) {
                  t._updateTokensUntilLine(n, e)
                })
              }),
              (t.prototype.getLineTokens = function(e) {
                if (e < 1 || e > this.getLineCount())
                  throw new Error('Illegal value ' + e + ' for `lineNumber`')
                return this._getLineTokens(e)
              }),
              (t.prototype._getLineTokens = function(e) {
                return this._lines[e - 1].getTokens(this._languageIdentifier.id)
              }),
              (t.prototype.getLanguageIdentifier = function() {
                return this._languageIdentifier
              }),
              (t.prototype.getModeId = function() {
                return this._languageIdentifier.language
              }),
              (t.prototype.setMode = function(e) {
                if (this._languageIdentifier.id !== e.id) {
                  var t = {
                    oldLanguage: this._languageIdentifier.language,
                    newLanguage: e.language
                  }
                  ;(this._languageIdentifier = e),
                    this._resetTokenizationState(),
                    this.emitModelTokensChangedEvent({
                      ranges: [
                        { fromLineNumber: 1, toLineNumber: this.getLineCount() }
                      ]
                    }),
                    this._emitModelModeChangedEvent(t)
                }
              }),
              (t.prototype.getLanguageIdAtPosition = function(e, t) {
                if (!this._tokenizationSupport)
                  return this._languageIdentifier.id
                var n = this.validatePosition({ lineNumber: e, column: t }),
                  i = n.lineNumber,
                  o = n.column
                return this._getLineTokens(i).findTokenAtOffset(o - 1)
                  .languageId
              }),
              (t.prototype._invalidateLine = function(e) {
                ;(this._lines[e].isInvalid = !0),
                  e < this._invalidLineStartIndex &&
                    (this._invalidLineStartIndex < this._lines.length &&
                      (this._lines[this._invalidLineStartIndex].isInvalid = !0),
                    (this._invalidLineStartIndex = e),
                    this._beginBackgroundTokenization())
              }),
              (t.prototype._beginBackgroundTokenization = function() {
                var e = this
                this._shouldAutoTokenize() &&
                  -1 === this._revalidateTokensTimeout &&
                  (this._revalidateTokensTimeout = setTimeout(function() {
                    ;(e._revalidateTokensTimeout = -1), e._revalidateTokensNow()
                  }, 0))
              }),
              (t.prototype._warmUpTokens = function() {
                for (
                  var e = Math.min(100, this.getLineCount()), t = e, n = 1;
                  n <= e;
                  n++
                )
                  if (this._lines[n - 1].text.length >= 200) {
                    t = n - 1
                    break
                  }
                this._revalidateTokensNow(t),
                  this._invalidLineStartIndex < this._lines.length &&
                    this._beginBackgroundTokenization()
              }),
              (t.prototype._revalidateTokensNow = function(e) {
                var t = this
                void 0 === e && (e = this._invalidLineStartIndex + 1e6),
                  this._withModelTokensChangedEventBuilder(function(n) {
                    e = Math.min(t._lines.length, e)
                    for (
                      var i,
                        r = t._invalidLineStartIndex + 1,
                        s = 0,
                        a = 0,
                        u = 0,
                        l = o.StopWatch.create(!1),
                        c = r;
                      c <= e;
                      c++
                    ) {
                      if ((i = l.elapsed()) > 20) {
                        e = c - 1
                        break
                      }
                      if (
                        ((a = t._lines[c - 1].text.length),
                        s > 0 && ((u = (i / s) * a), i + u > 20))
                      ) {
                        e = c - 1
                        break
                      }
                      t._updateTokensUntilLine(n, c),
                        (s += a),
                        (c = Math.max(c, t._invalidLineStartIndex + 1))
                    }
                    ;(i = l.elapsed()),
                      t._invalidLineStartIndex < t._lines.length &&
                        t._beginBackgroundTokenization()
                  })
              }),
              (t.prototype._updateTokensUntilLine = function(e, n) {
                if (this._tokenizationSupport) {
                  for (
                    var o = this._lines.length,
                      r = n - 1,
                      s = this._invalidLineStartIndex;
                    s <= r;
                    s++
                  ) {
                    var u = s + 1,
                      l = null,
                      c = this._lines[s].text
                    try {
                      var d = this._lines[s].getState().clone()
                      l = this._tokenizationSupport.tokenize2(
                        this._lines[s].text,
                        d,
                        0
                      )
                    } catch (e) {
                      ;(e.friendlyMessage = t.MODE_TOKENIZATION_FAILED_MSG),
                        i.onUnexpectedError(e)
                    }
                    if (
                      (l ||
                        (l = a.nullTokenize2(
                          this._languageIdentifier.id,
                          c,
                          this._lines[s].getState(),
                          0
                        )),
                      this._lines[s].setTokens(
                        this._languageIdentifier.id,
                        l.tokens
                      ),
                      e.registerChangedTokens(s + 1),
                      (this._lines[s].isInvalid = !1),
                      u < o)
                    )
                      if (
                        null !== this._lines[u].getState() &&
                        l.endState.equals(this._lines[u].getState())
                      ) {
                        for (
                          var h = s + 1;
                          h < o && !this._lines[h].isInvalid;

                        ) {
                          if (h + 1 < o) {
                            if (null === this._lines[h + 1].getState()) break
                          } else if (null === this._lastState) break
                          h++
                        }
                        ;(this._invalidLineStartIndex = Math.max(
                          this._invalidLineStartIndex,
                          h
                        )),
                          (s = h - 1)
                      } else this._lines[u].setState(l.endState)
                    else this._lastState = l.endState
                  }
                  this._invalidLineStartIndex = Math.max(
                    this._invalidLineStartIndex,
                    r + 1
                  )
                } else this._invalidLineStartIndex = this._lines.length
              }),
              (t.prototype.emitModelTokensChangedEvent = function(e) {
                this._isDisposing ||
                  this._eventEmitter.emit(
                    h.TextModelEventType.ModelTokensChanged,
                    e
                  )
              }),
              (t.prototype._emitModelModeChangedEvent = function(e) {
                this._isDisposing ||
                  this._eventEmitter.emit(
                    h.TextModelEventType.ModelLanguageChanged,
                    e
                  )
              }),
              (t.prototype.getWordAtPosition = function(e) {
                this._assertNotDisposed()
                var t = this.validatePosition(e),
                  n = this.getLineContent(t.lineNumber)
                if (this._invalidLineStartIndex <= t.lineNumber)
                  return d.getWordAtText(
                    t.column,
                    c.LanguageConfigurationRegistry.getWordDefinition(
                      this._languageIdentifier.id
                    ),
                    n,
                    0
                  )
                var i = this._getLineTokens(t.lineNumber),
                  o = t.column - 1,
                  r = i.findTokenAtOffset(o),
                  s = d.getWordAtText(
                    t.column,
                    c.LanguageConfigurationRegistry.getWordDefinition(
                      r.languageId
                    ),
                    n.substring(r.startOffset, r.endOffset),
                    r.startOffset
                  )
                if (!s && r.hasPrev && r.startOffset === o) {
                  var a = r.prev()
                  s = d.getWordAtText(
                    t.column,
                    c.LanguageConfigurationRegistry.getWordDefinition(
                      a.languageId
                    ),
                    n.substring(a.startOffset, a.endOffset),
                    a.startOffset
                  )
                }
                return s
              }),
              (t.prototype.getWordUntilPosition = function(e) {
                var 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 }
              }),
              (t.prototype.findMatchingBracketUp = function(e, t) {
                var n = e.toLowerCase(),
                  i = this.validatePosition(t),
                  o = this._getLineTokens(i.lineNumber).findTokenAtOffset(
                    i.column - 1
                  ),
                  r = c.LanguageConfigurationRegistry.getBracketsSupport(
                    o.languageId
                  )
                if (!r) return null
                var s = r.textIsBracket[n]
                return s ? this._findMatchingBracketUp(s, i) : null
              }),
              (t.prototype.matchBracket = function(e) {
                return this._matchBracket(this.validatePosition(e))
              }),
              (t.prototype._matchBracket = function(e) {
                var t = e.lineNumber,
                  n = this._getLineTokens(t),
                  i = this._lines[t - 1].text,
                  o = n.findTokenAtOffset(e.column - 1)
                if (!o) return null
                var r = c.LanguageConfigurationRegistry.getBracketsSupport(
                  o.languageId
                )
                if (r && !u.ignoreBracketsInToken(o.tokenType)) {
                  var s = Math.max(
                      o.startOffset,
                      e.column - 1 - r.maxBracketLength
                    ),
                    a = Math.min(o.endOffset, e.column - 1 + r.maxBracketLength)
                  if (
                    (f = l.BracketsUtils.findNextBracketInToken(
                      r.forwardRegex,
                      t,
                      i,
                      e.column - 1,
                      a
                    )) &&
                    f.startColumn === e.column &&
                    ((g = (g = i.substring(
                      f.startColumn - 1,
                      f.endColumn - 1
                    )).toLowerCase()),
                    (m = this._matchFoundBracket(
                      f,
                      r.textIsBracket[g],
                      r.textIsOpenBracket[g]
                    )))
                  )
                    return m
                  for (;;) {
                    var d = l.BracketsUtils.findNextBracketInToken(
                      r.forwardRegex,
                      t,
                      i,
                      s,
                      a
                    )
                    if (!d) break
                    if (
                      d.startColumn <= e.column &&
                      e.column <= d.endColumn &&
                      ((g = (g = i.substring(
                        d.startColumn - 1,
                        d.endColumn - 1
                      )).toLowerCase()),
                      (m = this._matchFoundBracket(
                        d,
                        r.textIsBracket[g],
                        r.textIsOpenBracket[g]
                      )))
                    )
                      return m
                    s = d.endColumn - 1
                  }
                }
                if (o.hasPrev && o.startOffset === e.column - 1) {
                  var h = o.prev(),
                    p = c.LanguageConfigurationRegistry.getBracketsSupport(
                      h.languageId
                    )
                  if (p && !u.ignoreBracketsInToken(h.tokenType)) {
                    var s = Math.max(
                        h.startOffset,
                        e.column - 1 - p.maxBracketLength
                      ),
                      a = o.startOffset,
                      f = l.BracketsUtils.findPrevBracketInToken(
                        p.reversedRegex,
                        t,
                        i,
                        s,
                        a
                      )
                    if (
                      f &&
                      f.startColumn <= e.column &&
                      e.column <= f.endColumn
                    ) {
                      var g = i.substring(f.startColumn - 1, f.endColumn - 1)
                      g = g.toLowerCase()
                      var m = this._matchFoundBracket(
                        f,
                        p.textIsBracket[g],
                        p.textIsOpenBracket[g]
                      )
                      if (m) return m
                    }
                  }
                }
                return null
              }),
              (t.prototype._matchFoundBracket = function(e, t, n) {
                if (n) {
                  if (
                    (i = this._findMatchingBracketDown(t, e.getEndPosition()))
                  )
                    return [e, i]
                } else {
                  var i = this._findMatchingBracketUp(t, e.getStartPosition())
                  if (i) return [e, i]
                }
                return null
              }),
              (t.prototype._findMatchingBracketUp = function(e, t) {
                for (
                  var n = e.languageIdentifier.id,
                    i = e.reversedRegex,
                    o = -1,
                    r = t.lineNumber;
                  r >= 1;
                  r--
                ) {
                  var s = this._getLineTokens(r),
                    a = this._lines[r - 1].text,
                    c = void 0,
                    d = void 0
                  for (
                    r === t.lineNumber
                      ? ((c = s.findTokenAtOffset(t.column - 1)),
                        (d = t.column - 1))
                      : (c = s.lastToken()) && (d = c.endOffset);
                    c;

                  ) {
                    if (
                      c.languageId === n &&
                      !u.ignoreBracketsInToken(c.tokenType)
                    )
                      for (;;) {
                        var h = l.BracketsUtils.findPrevBracketInToken(
                          i,
                          r,
                          a,
                          c.startOffset,
                          d
                        )
                        if (!h) break
                        var p = a.substring(h.startColumn - 1, h.endColumn - 1)
                        if (
                          ((p = p.toLowerCase()),
                          p === e.open ? o++ : p === e.close && o--,
                          0 === o)
                        )
                          return h
                        d = h.startColumn - 1
                      }
                    ;(c = c.prev()) && (d = c.endOffset)
                  }
                }
                return null
              }),
              (t.prototype._findMatchingBracketDown = function(e, t) {
                for (
                  var n = e.languageIdentifier.id,
                    i = e.forwardRegex,
                    o = 1,
                    r = t.lineNumber,
                    s = this.getLineCount();
                  r <= s;
                  r++
                ) {
                  var a = this._getLineTokens(r),
                    c = this._lines[r - 1].text,
                    d = void 0,
                    h = void 0
                  for (
                    r === t.lineNumber
                      ? ((d = a.findTokenAtOffset(t.column - 1)),
                        (h = t.column - 1))
                      : (d = a.firstToken()) && (h = d.startOffset);
                    d;

                  ) {
                    if (
                      d.languageId === n &&
                      !u.ignoreBracketsInToken(d.tokenType)
                    )
                      for (;;) {
                        var p = l.BracketsUtils.findNextBracketInToken(
                          i,
                          r,
                          c,
                          h,
                          d.endOffset
                        )
                        if (!p) break
                        var f = c.substring(p.startColumn - 1, p.endColumn - 1)
                        if (
                          ((f = f.toLowerCase()),
                          f === e.open ? o++ : f === e.close && o--,
                          0 === o)
                        )
                          return p
                        h = p.endColumn - 1
                      }
                    ;(d = d.next()) && (h = d.startOffset)
                  }
                }
                return null
              }),
              (t.prototype.findPrevBracket = function(e) {
                for (
                  var t = this.validatePosition(e),
                    n = -1,
                    i = null,
                    o = t.lineNumber;
                  o >= 1;
                  o--
                ) {
                  var r = this._getLineTokens(o),
                    s = this._lines[o - 1].text,
                    a = void 0,
                    d = void 0
                  for (
                    o === t.lineNumber
                      ? ((a = r.findTokenAtOffset(t.column - 1)),
                        (d = t.column - 1))
                      : (a = r.lastToken()) && (d = a.endOffset);
                    a;

                  ) {
                    if (
                      (n !== a.languageId &&
                        ((n = a.languageId),
                        (i = c.LanguageConfigurationRegistry.getBracketsSupport(
                          n
                        ))),
                      i && !u.ignoreBracketsInToken(a.tokenType))
                    ) {
                      var h = l.BracketsUtils.findPrevBracketInToken(
                        i.reversedRegex,
                        o,
                        s,
                        a.startOffset,
                        d
                      )
                      if (h) return this._toFoundBracket(i, h)
                    }
                    ;(a = a.prev()) && (d = a.endOffset)
                  }
                }
                return null
              }),
              (t.prototype.findNextBracket = function(e) {
                for (
                  var t = this.validatePosition(e),
                    n = -1,
                    i = null,
                    o = t.lineNumber,
                    r = this.getLineCount();
                  o <= r;
                  o++
                ) {
                  var s = this._getLineTokens(o),
                    a = this._lines[o - 1].text,
                    d = void 0,
                    h = void 0
                  for (
                    o === t.lineNumber
                      ? ((d = s.findTokenAtOffset(t.column - 1)),
                        (h = t.column - 1))
                      : (d = s.firstToken()) && (h = d.startOffset);
                    d;

                  ) {
                    if (
                      (n !== d.languageId &&
                        ((n = d.languageId),
                        (i = c.LanguageConfigurationRegistry.getBracketsSupport(
                          n
                        ))),
                      i && !u.ignoreBracketsInToken(d.tokenType))
                    ) {
                      var p = l.BracketsUtils.findNextBracketInToken(
                        i.forwardRegex,
                        o,
                        a,
                        h,
                        d.endOffset
                      )
                      if (p) return this._toFoundBracket(i, p)
                    }
                    ;(d = d.next()) && (h = d.startOffset)
                  }
                }
                return null
              }),
              (t.prototype._toFoundBracket = function(e, t) {
                if (!t) return null
                var n = this.getValueInRange(t)
                n = n.toLowerCase()
                var i = e.textIsBracket[n]
                return i
                  ? {
                      range: t,
                      open: i.open,
                      close: i.close,
                      isOpen: e.textIsOpenBracket[n]
                    }
                  : null
              }),
              t
            )
          })(r.TextModel)
        ;(g.MODE_TOKENIZATION_FAILED_MSG = n.localize(0, null)),
          (t.TextModelWithTokens = g)
      }),
      define(d[314], h([0, 1, 101, 12, 102, 313]), function(e, t, n, i, o, r) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = 0,
          a = (function(e) {
            function t(t, i, o) {
              var r = e.call(this, t, i, o) || this
              return (
                (r._markerIdGenerator = new n.IdGenerator(++s + ';')),
                (r._markerIdToMarker = Object.create(null)),
                r
              )
            }
            return (
              f(t, e),
              (t.prototype.dispose = function() {
                ;(this._markerIdToMarker = null), e.prototype.dispose.call(this)
              }),
              (t.prototype._resetValue = function(t) {
                e.prototype._resetValue.call(this, t),
                  (this._markerIdToMarker = Object.create(null))
              }),
              (t.prototype._addMarker = function(e, t, n, r) {
                var s = this.validatePosition(new i.Position(t, n)),
                  a = new o.LineMarker(
                    this._markerIdGenerator.nextId(),
                    e,
                    s,
                    r
                  )
                return (
                  (this._markerIdToMarker[a.id] = a),
                  this._lines[s.lineNumber - 1].addMarker(a),
                  a.id
                )
              }),
              (t.prototype._addMarkers = function(e) {
                if (0 === e.length) return []
                for (var t = [], n = 0, i = e.length; n < i; n++) {
                  var r = e[n],
                    s = new o.LineMarker(
                      this._markerIdGenerator.nextId(),
                      r.internalDecorationId,
                      r.position,
                      r.stickToPreviousCharacter
                    )
                  ;(this._markerIdToMarker[s.id] = s), (t[n] = s)
                }
                var a = t.slice(0)
                a.sort(function(e, t) {
                  return e.position.lineNumber - t.position.lineNumber
                })
                for (var u = 0, l = [], c = 0, n = 0, i = a.length; n < i; n++)
                  (s = a[n]).position.lineNumber !== u &&
                    (0 !== u && this._lines[u - 1].addMarkers(l),
                    (u = s.position.lineNumber),
                    (l.length = 0),
                    (c = 0)),
                    (l[c++] = s)
                return this._lines[u - 1].addMarkers(l), t
              }),
              (t.prototype._changeMarker = function(e, t, n) {
                var o = this._markerIdToMarker[e]
                if (o) {
                  var r = this.validatePosition(new i.Position(t, n))
                  r.lineNumber !== o.position.lineNumber &&
                    (this._lines[o.position.lineNumber - 1].removeMarker(o),
                    this._lines[r.lineNumber - 1].addMarker(o)),
                    o.setPosition(r)
                }
              }),
              (t.prototype._changeMarkerStickiness = function(e, t) {
                var n = this._markerIdToMarker[e]
                n && (n.stickToPreviousCharacter = t)
              }),
              (t.prototype._getMarker = function(e) {
                var t = this._markerIdToMarker[e]
                return t ? t.position : null
              }),
              (t.prototype._getMarkersCount = function() {
                return Object.keys(this._markerIdToMarker).length
              }),
              (t.prototype._removeMarker = function(e) {
                var t = this._markerIdToMarker[e]
                t &&
                  (this._lines[t.position.lineNumber - 1].removeMarker(t),
                  delete this._markerIdToMarker[e])
              }),
              (t.prototype._removeMarkers = function(e) {
                e.sort(function(e, t) {
                  return e.position.lineNumber - t.position.lineNumber
                })
                for (var t = 0, n = null, i = 0, o = e.length; i < o; i++) {
                  var r = e[i]
                  delete this._markerIdToMarker[r.id],
                    r.position.lineNumber !== t &&
                      (0 !== t && this._lines[t - 1].removeMarkers(n),
                      (t = r.position.lineNumber),
                      (n = Object.create(null))),
                    (n[r.id] = !0)
                }
                this._lines[t - 1].removeMarkers(n)
              }),
              t
            )
          })(r.TextModelWithTokens)
        t.TextModelWithMarkers = a
      }),
      define(d[33], h([0, 1, 10, 125, 9, 2, 21, 102, 12, 314, 52]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c
      ) {
        'use strict'
        function d() {
          var e = v++
          return (
            (e %= 52),
            e < 26
              ? String.fromCharCode(97 + e)
              : String.fromCharCode(65 + e - 26)
          )
        }
        function h(e) {
          return e.replace(/[^a-z0-9\-]/gi, ' ')
        }
        function p(e) {
          return e instanceof C ? e : C.createDynamic(e)
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.ClassName = {
            EditorWarningDecoration: 'greensquiggly',
            EditorErrorDecoration: 'redsquiggly'
          })
        var g = (function() {
            function e() {
              ;(this.addedDecorations = []),
                (this.addedDecorationsLen = 0),
                (this.changedDecorations = []),
                (this.changedDecorationsLen = 0),
                (this.removedDecorations = []),
                (this.removedDecorationsLen = 0)
            }
            return (
              (e.prototype.addNewDecoration = function(e) {
                this.addedDecorations[this.addedDecorationsLen++] = e
              }),
              (e.prototype.addRemovedDecoration = function(e) {
                this.removedDecorations[this.removedDecorationsLen++] = e
              }),
              (e.prototype.addMovedDecoration = function(e) {
                this.changedDecorations[this.changedDecorationsLen++] = e
              }),
              (e.prototype.addUpdatedDecoration = function(e) {
                this.changedDecorations[this.changedDecorationsLen++] = e
              }),
              e
            )
          })(),
          m = (function() {
            function e(e, t, n, i, o, r, s) {
              ;(this.id = e),
                (this.internalId = t),
                (this.ownerId = n),
                (this.range = i),
                (this.startMarker = o),
                (this.endMarker = r),
                this.setOptions(s)
            }
            return (
              (e.prototype.setOptions = function(e) {
                ;(this.options = e),
                  (this.isForValidation =
                    this.options.className ===
                      t.ClassName.EditorErrorDecoration ||
                    this.options.className ===
                      t.ClassName.EditorWarningDecoration)
              }),
              (e.prototype.setRange = function(e, t) {
                if (!this.range.equalsRange(t)) {
                  var n =
                    this.range.startLineNumber !== this.range.endLineNumber
                  this.range = t
                  var i =
                    this.range.startLineNumber !== this.range.endLineNumber
                  n !== i && (i ? (e[this.id] = this) : delete e[this.id])
                }
              }),
              e
            )
          })()
        t.InternalDecoration = m
        var v = 0,
          _ = (function(e) {
            function t(t, n, i) {
              var o = e.call(this, t, n, i) || this
              return (
                (o._instanceId = d()),
                (o._lastDecorationId = 0),
                (o._currentDecorationsTracker = null),
                (o._currentDecorationsTrackerCnt = 0),
                (o._currentMarkersTracker = null),
                (o._currentMarkersTrackerCnt = 0),
                (o._decorations = Object.create(null)),
                (o._internalDecorations = Object.create(null)),
                (o._multiLineDecorationsMap = Object.create(null)),
                o
              )
            }
            return (
              f(t, e),
              (t.prototype.dispose = function() {
                ;(this._decorations = null),
                  (this._internalDecorations = null),
                  (this._multiLineDecorationsMap = null),
                  e.prototype.dispose.call(this)
              }),
              (t.prototype._resetValue = function(t) {
                e.prototype._resetValue.call(this, t),
                  (this._decorations = Object.create(null)),
                  (this._internalDecorations = Object.create(null)),
                  (this._multiLineDecorationsMap = Object.create(null))
              }),
              (t._shouldStartMarkerSticksToPreviousCharacter = function(e) {
                return (
                  e === s.TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges ||
                  e === s.TrackedRangeStickiness.GrowsOnlyWhenTypingBefore
                )
              }),
              (t._shouldEndMarkerSticksToPreviousCharacter = function(e) {
                return (
                  e === s.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges ||
                  e === s.TrackedRangeStickiness.GrowsOnlyWhenTypingBefore
                )
              }),
              (t.prototype._getTrackedRangesCount = function() {
                return Object.keys(this._decorations).length
              }),
              (t.prototype.changeDecorations = function(e, t) {
                void 0 === t && (t = 0), this._assertNotDisposed()
                try {
                  this._eventEmitter.beginDeferredEmit()
                  var n = this._acquireDecorationsTracker()
                  return this._changeDecorations(n, t, e)
                } finally {
                  this._releaseDecorationsTracker(),
                    this._eventEmitter.endDeferredEmit()
                }
              }),
              (t.prototype._changeDecorations = function(e, t, i) {
                var o = this,
                  r = {
                    addDecoration: function(n, i) {
                      return o._addDecorationImpl(
                        e,
                        t,
                        o.validateRange(n),
                        p(i)
                      )
                    },
                    changeDecoration: function(t, n) {
                      o._changeDecorationImpl(e, t, o.validateRange(n))
                    },
                    changeDecorationOptions: function(t, n) {
                      o._changeDecorationOptionsImpl(e, t, p(n))
                    },
                    removeDecoration: function(t) {
                      o._removeDecorationImpl(e, t)
                    },
                    deltaDecorations: function(n, i) {
                      return o._deltaDecorationsImpl(
                        e,
                        t,
                        n,
                        o._normalizeDeltaDecorations(i)
                      )
                    }
                  },
                  s = null
                try {
                  s = i(r)
                } catch (e) {
                  n.onUnexpectedError(e)
                }
                return (
                  (r.addDecoration = null),
                  (r.changeDecoration = null),
                  (r.removeDecoration = null),
                  (r.deltaDecorations = null),
                  s
                )
              }),
              (t.prototype.deltaDecorations = function(e, t, n) {
                return (
                  void 0 === n && (n = 0),
                  this._assertNotDisposed(),
                  e || (e = []),
                  this.changeDecorations(function(n) {
                    return n.deltaDecorations(e, t)
                  }, n)
                )
              }),
              (t.prototype.removeAllDecorationsWithOwnerId = function(e) {
                var t = []
                for (var n in this._decorations) {
                  var i = this._decorations[n]
                  i.ownerId === e && t.push(i.id)
                }
                this._removeDecorationsImpl(null, t)
              }),
              (t.prototype.getDecorationOptions = function(e) {
                var t = this._decorations[e]
                return t ? t.options : null
              }),
              (t.prototype.getDecorationRange = function(e) {
                var t = this._decorations[e]
                return t ? t.range : null
              }),
              (t.prototype.getLineDecorations = function(e, t, n) {
                return (
                  void 0 === t && (t = 0),
                  void 0 === n && (n = !1),
                  e < 1 || e > this.getLineCount()
                    ? []
                    : this.getLinesDecorations(e, e, t, n)
                )
              }),
              (t.prototype._getMultiLineDecorations = function(e, t, n) {
                var i = e.startLineNumber,
                  o = e.startColumn,
                  r = e.endLineNumber,
                  s = e.endColumn,
                  a = []
                for (var u in this._multiLineDecorationsMap) {
                  var l = this._multiLineDecorationsMap[u]
                  if (
                    (!t || !l.ownerId || l.ownerId === t) &&
                    (!n || !l.isForValidation)
                  ) {
                    var c = l.range
                    c.startLineNumber > r ||
                      (c.startLineNumber === r && c.startColumn > s) ||
                      c.endLineNumber < i ||
                      (c.endLineNumber === i && c.endColumn < o) ||
                      a.push(l)
                  }
                }
                return a
              }),
              (t.prototype._getDecorationsInRange = function(e, t, n) {
                for (
                  var i = e.startLineNumber,
                    o = e.startColumn,
                    r = e.endLineNumber,
                    s = e.endColumn,
                    a = this._getMultiLineDecorations(e, t, n),
                    u = {},
                    l = 0,
                    c = a.length;
                  l < c;
                  l++
                )
                  u[a[l].id] = !0
                for (var d = i; d <= r; d++) {
                  var h = this._lines[d - 1].getMarkers()
                  if (null !== h)
                    for (var l = 0, c = h.length; l < c; l++) {
                      var p = h[l].internalDecorationId
                      if (0 !== p) {
                        var f = this._internalDecorations[p]
                        if (
                          !u.hasOwnProperty(f.id) &&
                          !(
                            (t && f.ownerId && f.ownerId !== t) ||
                            (n && f.isForValidation)
                          )
                        ) {
                          var g = f.range
                          g.startLineNumber > r ||
                            (g.startLineNumber === r && g.startColumn > s) ||
                            g.endLineNumber < i ||
                            (g.endLineNumber === i && g.endColumn < o) ||
                            (a.push(f), (u[f.id] = !0))
                        }
                      }
                    }
                }
                return a
              }),
              (t.prototype.getLinesDecorations = function(e, t, n, i) {
                void 0 === n && (n = 0), void 0 === i && (i = !1)
                var o = this.getLineCount(),
                  s = Math.min(o, Math.max(1, e)),
                  a = Math.min(o, Math.max(1, t)),
                  u = this.getLineMaxColumn(a)
                return this._getDecorationsInRange(
                  new r.Range(s, 1, a, u),
                  n,
                  i
                )
              }),
              (t.prototype.getDecorationsInRange = function(e, t, n) {
                var i = this.validateRange(e)
                return this._getDecorationsInRange(i, t, n)
              }),
              (t.prototype.getAllDecorations = function(e, t) {
                void 0 === e && (e = 0), void 0 === t && (t = !1)
                var n = []
                for (var i in this._decorations) {
                  var o = this._decorations[i]
                  ;(e && o.ownerId && o.ownerId !== e) ||
                    ((t && o.isForValidation) || n.push(o))
                }
                return n
              }),
              (t.prototype._acquireMarkersTracker = function() {
                return (
                  0 === this._currentMarkersTrackerCnt &&
                    (this._currentMarkersTracker = new a.MarkersTracker()),
                  this._currentMarkersTrackerCnt++,
                  this._currentMarkersTracker
                )
              }),
              (t.prototype._releaseMarkersTracker = function() {
                if (0 == --this._currentMarkersTrackerCnt) {
                  var e = this._currentMarkersTracker
                  ;(this._currentMarkersTracker = null),
                    this._handleTrackedMarkers(e)
                }
              }),
              (t.prototype._handleTrackedMarkers = function(e) {
                var n = e.getDecorationIds()
                if (0 !== n.length) {
                  n.sort()
                  for (
                    var i = [], o = 0, r = 0, s = 0, a = n.length;
                    s < a;
                    s++
                  ) {
                    var u = n[s]
                    if (u !== r) {
                      r = u
                      var l = this._internalDecorations[u]
                      if (l) {
                        var c = l.startMarker.position,
                          d = l.endMarker.position,
                          h = t._createRangeFromMarkers(c, d)
                        l.setRange(this._multiLineDecorationsMap, h),
                          (i[o++] = l.id)
                      }
                    }
                  }
                  if (i.length > 0) {
                    var p = {
                      addedDecorations: [],
                      changedDecorations: i,
                      removedDecorations: []
                    }
                    this.emitModelDecorationsChangedEvent(p)
                  }
                }
              }),
              (t._createRangeFromMarkers = function(e, t) {
                return t.isBefore(e)
                  ? new r.Range(e.lineNumber, e.column, e.lineNumber, e.column)
                  : new r.Range(e.lineNumber, e.column, t.lineNumber, t.column)
              }),
              (t.prototype._acquireDecorationsTracker = function() {
                return (
                  0 === this._currentDecorationsTrackerCnt &&
                    (this._currentDecorationsTracker = new g()),
                  this._currentDecorationsTrackerCnt++,
                  this._currentDecorationsTracker
                )
              }),
              (t.prototype._releaseDecorationsTracker = function() {
                if (0 == --this._currentDecorationsTrackerCnt) {
                  var e = this._currentDecorationsTracker
                  ;(this._currentDecorationsTracker = null),
                    this._handleTrackedDecorations(e)
                }
              }),
              (t.prototype._handleTrackedDecorations = function(e) {
                if (
                  0 !== e.addedDecorationsLen ||
                  0 !== e.changedDecorationsLen ||
                  0 !== e.removedDecorationsLen
                ) {
                  var t = {
                    addedDecorations: e.addedDecorations,
                    changedDecorations: e.changedDecorations,
                    removedDecorations: e.removedDecorations
                  }
                  this.emitModelDecorationsChangedEvent(t)
                }
              }),
              (t.prototype.emitModelDecorationsChangedEvent = function(e) {
                this._isDisposing ||
                  this._eventEmitter.emit(
                    c.TextModelEventType.ModelDecorationsChanged,
                    e
                  )
              }),
              (t.prototype._normalizeDeltaDecorations = function(e) {
                for (var t = [], n = 0, i = e.length; n < i; n++) {
                  var o = e[n]
                  t.push(new w(n, this.validateRange(o.range), p(o.options)))
                }
                return t
              }),
              (t.prototype._externalDecorationId = function(e) {
                return this._instanceId + ';' + e
              }),
              (t.prototype._addDecorationImpl = function(e, n, i, o) {
                var r = this.validateRange(i),
                  s = ++this._lastDecorationId,
                  a = this._externalDecorationId(s),
                  l = this._addMarkers([
                    {
                      internalDecorationId: s,
                      position: new u.Position(
                        r.startLineNumber,
                        r.startColumn
                      ),
                      stickToPreviousCharacter: t._shouldStartMarkerSticksToPreviousCharacter(
                        o.stickiness
                      )
                    },
                    {
                      internalDecorationId: s,
                      position: new u.Position(r.endLineNumber, r.endColumn),
                      stickToPreviousCharacter: t._shouldEndMarkerSticksToPreviousCharacter(
                        o.stickiness
                      )
                    }
                  ]),
                  c = new m(a, s, n, r, l[0], l[1], o)
                return (
                  (this._decorations[a] = c),
                  (this._internalDecorations[s] = c),
                  r.startLineNumber !== r.endLineNumber &&
                    (this._multiLineDecorationsMap[a] = c),
                  e.addNewDecoration(a),
                  a
                )
              }),
              (t.prototype._addDecorationsImpl = function(e, n, i) {
                for (
                  var o = [], r = [], s = [], a = 0, l = i.length;
                  a < l;
                  a++
                ) {
                  var c = (g = i[a]).range,
                    d = g.options.stickiness,
                    h = ++this._lastDecorationId,
                    p = this._externalDecorationId(h)
                  ;(o[a] = h),
                    (r[a] = p),
                    (s[2 * a] = {
                      internalDecorationId: h,
                      position: new u.Position(
                        c.startLineNumber,
                        c.startColumn
                      ),
                      stickToPreviousCharacter: t._shouldStartMarkerSticksToPreviousCharacter(
                        d
                      )
                    }),
                    (s[2 * a + 1] = {
                      internalDecorationId: h,
                      position: new u.Position(c.endLineNumber, c.endColumn),
                      stickToPreviousCharacter: t._shouldEndMarkerSticksToPreviousCharacter(
                        d
                      )
                    })
                }
                for (
                  var f = this._addMarkers(s), a = 0, l = i.length;
                  a < l;
                  a++
                ) {
                  var g = i[a],
                    c = g.range,
                    h = o[a],
                    p = r[a],
                    v = f[2 * a],
                    _ = f[2 * a + 1],
                    y = new m(p, h, n, c, v, _, g.options)
                  ;(this._decorations[p] = y),
                    (this._internalDecorations[h] = y),
                    c.startLineNumber !== c.endLineNumber &&
                      (this._multiLineDecorationsMap[p] = y),
                    e.addNewDecoration(p)
                }
                return r
              }),
              (t.prototype._changeDecorationImpl = function(e, t, n) {
                var i = this._decorations[t]
                if (i) {
                  var o = i.startMarker
                  n.startLineNumber !== o.position.lineNumber &&
                    (this._lines[o.position.lineNumber - 1].removeMarker(o),
                    this._lines[n.startLineNumber - 1].addMarker(o)),
                    o.setPosition(
                      new u.Position(n.startLineNumber, n.startColumn)
                    )
                  var r = i.endMarker
                  n.endLineNumber !== r.position.lineNumber &&
                    (this._lines[r.position.lineNumber - 1].removeMarker(r),
                    this._lines[n.endLineNumber - 1].addMarker(r)),
                    r.setPosition(new u.Position(n.endLineNumber, n.endColumn)),
                    i.setRange(this._multiLineDecorationsMap, n),
                    e.addMovedDecoration(t)
                }
              }),
              (t.prototype._changeDecorationOptionsImpl = function(e, n, i) {
                var o = this._decorations[n]
                o &&
                  (o.options.stickiness !== i.stickiness &&
                    ((o.startMarker.stickToPreviousCharacter = t._shouldStartMarkerSticksToPreviousCharacter(
                      i.stickiness
                    )),
                    (o.endMarker.stickToPreviousCharacter = t._shouldEndMarkerSticksToPreviousCharacter(
                      i.stickiness
                    ))),
                  o.setOptions(i),
                  e.addUpdatedDecoration(n))
              }),
              (t.prototype._removeDecorationImpl = function(e, t) {
                var n = this._decorations[t]
                n &&
                  (this._removeMarkers([n.startMarker, n.endMarker]),
                  delete this._multiLineDecorationsMap[t],
                  delete this._decorations[t],
                  delete this._internalDecorations[n.internalId],
                  e && e.addRemovedDecoration(t))
              }),
              (t.prototype._removeDecorationsImpl = function(e, t) {
                for (var n = [], i = 0, o = 0, r = t.length; o < r; o++) {
                  var s = t[o],
                    a = this._decorations[s]
                  a &&
                    (e && e.addRemovedDecoration(s),
                    (n[i++] = a.startMarker),
                    (n[i++] = a.endMarker),
                    delete this._multiLineDecorationsMap[s],
                    delete this._decorations[s],
                    delete this._internalDecorations[a.internalId])
                }
                n.length > 0 && this._removeMarkers(n)
              }),
              (t.prototype._resolveOldDecorations = function(e) {
                for (var t = [], n = 0, i = e.length; n < i; n++) {
                  var o = e[n],
                    r = this._decorations[o]
                  r && t.push(r)
                }
                return t
              }),
              (t.prototype._deltaDecorationsImpl = function(e, t, n, i) {
                if (0 === n.length) return this._addDecorationsImpl(e, t, i)
                if (0 === i.length) return this._removeDecorationsImpl(e, n), []
                var o = this._resolveOldDecorations(n)
                o.sort(function(e, t) {
                  return r.Range.compareRangesUsingStarts(e.range, t.range)
                }),
                  i.sort(function(e, t) {
                    return r.Range.compareRangesUsingStarts(e.range, t.range)
                  })
                for (
                  var s = [],
                    a = 0,
                    u = o.length,
                    l = 0,
                    c = i.length,
                    d = [],
                    h = [];
                  a < u && l < c;

                ) {
                  var p = o[a],
                    f = i[l],
                    g = r.Range.compareRangesUsingStarts(p.range, f.range)
                  g < 0
                    ? (h.push(p.id), a++)
                    : g > 0
                      ? (d.push(f), l++)
                      : p.options.equals(f.options)
                        ? ((s[f.index] = p.id), a++, l++)
                        : (h.push(p.id), a++)
                }
                for (; a < u; ) h.push(o[a].id), a++
                for (; l < c; ) d.push(i[l]), l++
                if (
                  (h.length > 0 && this._removeDecorationsImpl(e, h),
                  d.length > 0)
                )
                  for (
                    var m = this._addDecorationsImpl(e, t, d),
                      v = 0,
                      _ = d.length;
                    v < _;
                    v++
                  )
                    s[d[v].index] = m[v]
                return s
              }),
              t
            )
          })(l.TextModelWithMarkers)
        t.TextModelWithDecorations = _
        var y = (function() {
          function e(e) {
            ;(this.color = o.empty),
              (this.darkColor = o.empty),
              (this.hcColor = o.empty),
              (this.position = s.OverviewRulerLane.Center),
              e && e.color && (this.color = e.color),
              e &&
                e.darkColor &&
                ((this.darkColor = e.darkColor), (this.hcColor = e.darkColor)),
              e && e.hcColor && (this.hcColor = e.hcColor),
              e && e.hasOwnProperty('position') && (this.position = e.position)
          }
          return (
            (e.prototype.equals = function(e) {
              return (
                this.color === e.color &&
                this.darkColor === e.darkColor &&
                this.hcColor === e.hcColor &&
                this.position === e.position
              )
            }),
            e
          )
        })()
        t.ModelDecorationOverviewRulerOptions = y
        var b = 0,
          C = (function() {
            function e(e, t) {
              ;(this.staticId = e),
                (this.stickiness =
                  t.stickiness ||
                  s.TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges),
                (this.className = t.className ? h(t.className) : o.empty),
                (this.hoverMessage = t.hoverMessage || []),
                (this.glyphMarginHoverMessage =
                  t.glyphMarginHoverMessage || o.empty),
                (this.isWholeLine = t.isWholeLine || !1),
                (this.showIfCollapsed = t.showIfCollapsed || !1),
                (this.overviewRuler = new y(t.overviewRuler)),
                (this.glyphMarginClassName = t.glyphMarginClassName
                  ? h(t.glyphMarginClassName)
                  : o.empty),
                (this.linesDecorationsClassName = t.linesDecorationsClassName
                  ? h(t.linesDecorationsClassName)
                  : o.empty),
                (this.marginClassName = t.marginClassName
                  ? h(t.marginClassName)
                  : o.empty),
                (this.inlineClassName = t.inlineClassName
                  ? h(t.inlineClassName)
                  : o.empty),
                (this.beforeContentClassName = t.beforeContentClassName
                  ? h(t.beforeContentClassName)
                  : o.empty),
                (this.afterContentClassName = t.afterContentClassName
                  ? h(t.afterContentClassName)
                  : o.empty)
            }
            return (
              (e.register = function(t) {
                return new e(++b, t)
              }),
              (e.createDynamic = function(t) {
                return new e(0, t)
              }),
              (e.prototype.equals = function(e) {
                return this.staticId > 0 || e.staticId > 0
                  ? this.staticId === e.staticId
                  : this.stickiness === e.stickiness &&
                      this.className === e.className &&
                      this.isWholeLine === e.isWholeLine &&
                      this.showIfCollapsed === e.showIfCollapsed &&
                      this.glyphMarginClassName === e.glyphMarginClassName &&
                      this.linesDecorationsClassName ===
                        e.linesDecorationsClassName &&
                      this.marginClassName === e.marginClassName &&
                      this.inlineClassName === e.inlineClassName &&
                      this.beforeContentClassName ===
                        e.beforeContentClassName &&
                      this.afterContentClassName === e.afterContentClassName &&
                      i.markedStringsEquals(
                        this.hoverMessage,
                        e.hoverMessage
                      ) &&
                      i.markedStringsEquals(
                        this.glyphMarginHoverMessage,
                        e.glyphMarginHoverMessage
                      ) &&
                      this.overviewRuler.equals(e.overviewRuler)
              }),
              e
            )
          })()
        ;(t.ModelDecorationOptions = C), (C.EMPTY = C.register({}))
        var w = (function() {
          return function(e, t, n) {
            ;(this.index = e), (this.range = t), (this.options = n)
          }
        })()
      }),
      define(d[316], h([
        0,
        1,
        2,
        21,
        218,
        102,
        33,
        9,
        27,
        12,
        104,
        92,
        52
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var p = (function(e) {
          function t(t, n, i) {
            var r = e.call(this, t, n, i) || this
            return (
              (r._commandManager = new o.EditStack(r)),
              (r._isUndoing = !1),
              (r._isRedoing = !1),
              (r._hasEditableRange = !1),
              (r._editableRangeId = null),
              (r._trimAutoWhitespaceLines = null),
              r
            )
          }
          return (
            f(t, e),
            (t.createFromString = function(e, n, i) {
              return (
                void 0 === n && (n = d.TextModel.DEFAULT_CREATION_OPTIONS),
                void 0 === i && (i = null),
                new t(c.RawTextSource.fromString(e), n, i)
              )
            }),
            (t.prototype.onDidChangeRawContent = function(e) {
              return this._eventEmitter.addListener(
                h.TextModelEventType.ModelRawContentChanged2,
                e
              )
            }),
            (t.prototype.onDidChangeContent = function(e) {
              return this._eventEmitter.addListener(
                h.TextModelEventType.ModelContentChanged,
                e
              )
            }),
            (t.prototype.dispose = function() {
              ;(this._commandManager = null), e.prototype.dispose.call(this)
            }),
            (t.prototype._resetValue = function(t) {
              e.prototype._resetValue.call(this, t),
                (this._commandManager = new o.EditStack(this)),
                (this._hasEditableRange = !1),
                (this._editableRangeId = null),
                (this._trimAutoWhitespaceLines = null)
            }),
            (t.prototype.pushStackElement = function() {
              this._commandManager.pushStackElement()
            }),
            (t.prototype.pushEditOperations = function(e, t, n) {
              try {
                return (
                  this._eventEmitter.beginDeferredEmit(),
                  this._pushEditOperations(e, t, n)
                )
              } finally {
                this._eventEmitter.endDeferredEmit()
              }
            }),
            (t.prototype._pushEditOperations = function(e, t, i) {
              var o = this
              if (
                this._options.trimAutoWhitespace &&
                this._trimAutoWhitespaceLines
              ) {
                for (
                  var r = t.map(function(e) {
                      return { range: o.validateRange(e.range), text: e.text }
                    }),
                    s = !0,
                    a = 0,
                    u = e.length;
                  a < u;
                  a++
                ) {
                  for (var l = e[a], c = !1, d = 0, h = r.length; d < h; d++) {
                    var p = (_ = r[d].range).startLineNumber > l.endLineNumber,
                      f = l.startLineNumber > _.endLineNumber
                    if (!p && !f) {
                      c = !0
                      break
                    }
                  }
                  if (!c) {
                    s = !1
                    break
                  }
                }
                if (s)
                  for (
                    var a = 0, u = this._trimAutoWhitespaceLines.length;
                    a < u;
                    a++
                  ) {
                    for (
                      var g = this._trimAutoWhitespaceLines[a],
                        m = this.getLineMaxColumn(g),
                        v = !0,
                        d = 0,
                        h = r.length;
                      d < h;
                      d++
                    ) {
                      var _ = r[d].range,
                        y = r[d].text
                      if (
                        !(g < _.startLineNumber || g > _.endLineNumber) &&
                        !(
                          g === _.startLineNumber &&
                          _.startColumn === m &&
                          _.isEmpty() &&
                          y &&
                          y.length > 0 &&
                          '\n' === y.charAt(0)
                        )
                      ) {
                        v = !1
                        break
                      }
                    }
                    v &&
                      t.push({
                        identifier: null,
                        range: new n.Range(g, 1, g, m),
                        text: null,
                        forceMoveMarkers: !1,
                        isAutoWhitespaceEdit: !1
                      })
                  }
                this._trimAutoWhitespaceLines = null
              }
              return this._commandManager.pushEditOperation(e, t, i)
            }),
            (t.prototype._reduceOperations = function(e) {
              return e.length < 1e3 ? e : [this._toSingleEditOperation(e)]
            }),
            (t.prototype._toSingleEditOperation = function(e) {
              for (
                var t = !1,
                  i = e[0].range,
                  o = e[e.length - 1].range,
                  r = new n.Range(
                    i.startLineNumber,
                    i.startColumn,
                    o.endLineNumber,
                    o.endColumn
                  ),
                  s = i.startLineNumber,
                  a = i.startColumn,
                  u = [],
                  l = 0,
                  c = e.length;
                l < c;
                l++
              ) {
                var d = e[l],
                  h = d.range
                t = t || d.forceMoveMarkers
                for (var p = s; p < h.startLineNumber; p++)
                  p === s
                    ? u.push(this._lines[p - 1].text.substring(a - 1))
                    : (u.push('\n'), u.push(this._lines[p - 1].text))
                if (
                  (h.startLineNumber === s
                    ? u.push(
                        this._lines[h.startLineNumber - 1].text.substring(
                          a - 1,
                          h.startColumn - 1
                        )
                      )
                    : (u.push('\n'),
                      u.push(
                        this._lines[h.startLineNumber - 1].text.substring(
                          0,
                          h.startColumn - 1
                        )
                      )),
                  d.lines)
                )
                  for (var f = 0, g = d.lines.length; f < g; f++)
                    0 !== f && u.push('\n'), u.push(d.lines[f])
                ;(s = d.range.endLineNumber), (a = d.range.endColumn)
              }
              return {
                sortIndex: 0,
                identifier: e[0].identifier,
                range: r,
                rangeLength: this.getValueLengthInRange(r),
                lines: u.join('').split('\n'),
                forceMoveMarkers: t,
                isAutoWhitespaceEdit: !1
              }
            }),
            (t._sortOpsAscending = function(e, t) {
              var i = n.Range.compareRangesUsingEnds(e.range, t.range)
              return 0 === i ? e.sortIndex - t.sortIndex : i
            }),
            (t._sortOpsDescending = function(e, t) {
              var i = n.Range.compareRangesUsingEnds(e.range, t.range)
              return 0 === i ? t.sortIndex - e.sortIndex : -i
            }),
            (t.prototype.applyEdits = function(e) {
              try {
                this._eventEmitter.beginDeferredEmit()
                var t = this._acquireMarkersTracker()
                return this._applyEdits(t, e)
              } finally {
                this._releaseMarkersTracker(),
                  this._eventEmitter.endDeferredEmit()
              }
            }),
            (t.prototype._applyEdits = function(e, n) {
              if (0 === n.length) return []
              for (
                var i = this._mightContainRTL,
                  o = this._mightContainNonBasicASCII,
                  r = !0,
                  s = [],
                  u = 0;
                u < n.length;
                u++
              ) {
                y = n[u]
                r && y._isTracked && (r = !1)
                var l = this.validateRange(y.range)
                !i && y.text && (i = a.containsRTL(y.text)),
                  !o && y.text && (o = !a.isBasicASCII(y.text)),
                  (s[u] = {
                    sortIndex: u,
                    identifier: y.identifier,
                    range: l,
                    rangeLength: this.getValueLengthInRange(l),
                    lines: y.text ? y.text.split(/\r\n|\r|\n/) : null,
                    forceMoveMarkers: y.forceMoveMarkers,
                    isAutoWhitespaceEdit: y.isAutoWhitespaceEdit || !1
                  })
              }
              s.sort(t._sortOpsAscending)
              for (var u = 0, c = s.length - 1; u < c; u++) {
                var d = s[u].range.getEndPosition()
                if (s[u + 1].range.getStartPosition().isBefore(d))
                  throw new Error('Overlapping ranges are not allowed!')
              }
              r && (s = this._reduceOperations(s))
              for (
                var h = this.getEditableRange(),
                  p = h.getStartPosition(),
                  f = h.getEndPosition(),
                  u = 0;
                u < s.length;
                u++
              ) {
                var g = s[u].range
                if (
                  !p.isBeforeOrEqual(g.getStartPosition()) ||
                  !g.getEndPosition().isBeforeOrEqual(f)
                )
                  throw new Error(
                    'Editing outside of editable range not allowed!'
                  )
              }
              for (
                var m = t._getInverseEditRanges(s), v = [], _ = [], u = 0;
                u < s.length;
                u++
              ) {
                var y = s[u],
                  b = m[u]
                if (
                  ((v[u] = {
                    identifier: y.identifier,
                    range: b,
                    text: this.getValueInRange(y.range),
                    forceMoveMarkers: y.forceMoveMarkers
                  }),
                  this._options.trimAutoWhitespace &&
                    y.isAutoWhitespaceEdit &&
                    y.range.isEmpty())
                )
                  for (S = b.startLineNumber; S <= b.endLineNumber; S++) {
                    var C = ''
                    ;(S === b.startLineNumber &&
                      ((C = this.getLineContent(y.range.startLineNumber)),
                      -1 !== a.firstNonWhitespaceIndex(C))) ||
                      _.push({ lineNumber: S, oldContent: C })
                  }
              }
              if (
                ((this._mightContainRTL = i),
                (this._mightContainNonBasicASCII = o),
                this._doApplyEdits(e, s),
                (this._trimAutoWhitespaceLines = null),
                this._options.trimAutoWhitespace && _.length > 0)
              ) {
                _.sort(function(e, t) {
                  return t.lineNumber - e.lineNumber
                }),
                  (this._trimAutoWhitespaceLines = [])
                for (var u = 0, w = _.length; u < w; u++) {
                  var S = _[u].lineNumber
                  if (!(u > 0 && _[u - 1].lineNumber === S)) {
                    var E = _[u].oldContent,
                      L = this.getLineContent(S)
                    0 !== L.length &&
                      L !== E &&
                      -1 === a.firstNonWhitespaceIndex(L) &&
                      this._trimAutoWhitespaceLines.push(S)
                  }
                }
              }
              return v
            }),
            (t._getInverseEditRanges = function(e) {
              for (
                var t, i, o = [], r = null, s = 0, a = e.length;
                s < a;
                s++
              ) {
                var u = e[s],
                  l = void 0,
                  c = void 0
                r
                  ? r.range.endLineNumber === u.range.startLineNumber
                    ? ((l = t),
                      (c = i + (u.range.startColumn - r.range.endColumn)))
                    : ((l =
                        t + (u.range.startLineNumber - r.range.endLineNumber)),
                      (c = u.range.startColumn))
                  : ((l = u.range.startLineNumber), (c = u.range.startColumn))
                var d = void 0
                if (u.lines && u.lines.length > 0) {
                  var h = u.lines.length,
                    p = u.lines[0],
                    f = u.lines[h - 1]
                  d =
                    1 === h
                      ? new n.Range(l, c, l, c + p.length)
                      : new n.Range(l, c, l + h - 1, f.length + 1)
                } else d = new n.Range(l, c, l, c)
                ;(t = d.endLineNumber), (i = d.endColumn), o.push(d), (r = u)
              }
              return o
            }),
            (t.prototype._doApplyEdits = function(e, i) {
              var o = this,
                s = this._options.tabSize
              i.sort(t._sortOpsDescending)
              for (
                var a = [],
                  c = [],
                  d = [],
                  p = function() {
                    if (0 !== d.length) {
                      d.reverse()
                      for (
                        var t = d[0].lineNumber, n = 0, i = 1, r = d.length;
                        i < r;
                        i++
                      ) {
                        var u = d[i].lineNumber
                        u !== t &&
                          (o._invalidateLine(t - 1),
                          o._lines[t - 1].applyEdits(e, d.slice(n, i), s),
                          o._lineStarts &&
                            o._lineStarts.changeValue(
                              t - 1,
                              o._lines[t - 1].text.length + o._EOL.length
                            ),
                          a.push(
                            new h.ModelRawLineChanged(t, o._lines[t - 1].text)
                          ),
                          (t = u),
                          (n = i))
                      }
                      o._invalidateLine(t - 1),
                        o._lines[t - 1].applyEdits(e, d.slice(n, d.length), s),
                        o._lineStarts &&
                          o._lineStarts.changeValue(
                            t - 1,
                            o._lines[t - 1].text.length + o._EOL.length
                          ),
                        a.push(
                          new h.ModelRawLineChanged(t, o._lines[t - 1].text)
                        ),
                        (d = [])
                    }
                  },
                  f = i[i.length - 1].range.startLineNumber,
                  g = i[0].range.endLineNumber + 1,
                  m = 0,
                  v = 0,
                  _ = i.length;
                v < _;
                v++
              ) {
                var y = i[v],
                  b = y.range.startLineNumber,
                  C = y.range.startColumn,
                  w = y.range.endLineNumber,
                  S = y.range.endColumn
                if (b !== w || C !== S || (y.lines && 0 !== y.lines.length)) {
                  var E = w - b,
                    L = y.lines ? y.lines.length - 1 : 0,
                    x = Math.min(E, L)
                  m += L - E
                  for (O = x; O >= 0; O--) {
                    var N = b + O
                    !(function(e) {
                      ;(e.startColumn === e.endColumn && 0 === e.text.length) ||
                        d.push(e)
                    })({
                      lineNumber: N,
                      startColumn: N === b ? C : 1,
                      endColumn: N === w ? S : this.getLineMaxColumn(N),
                      text: y.lines ? y.lines[O] : '',
                      forceMoveMarkers: y.forceMoveMarkers
                    })
                  }
                  if (x < E) {
                    p()
                    var M = b + x,
                      T = this.getLineMaxColumn(M),
                      k = this._lines[w - 1].split(e, S, !1, s)
                    this._invalidateLine(M - 1)
                    for (var I = w - M, D = [], O = 0; O < I; O++) {
                      var R = M + O,
                        P = this._lines[R].getMarkers()
                      P && (D = D.concat(P))
                    }
                    this._lines.splice(M, I),
                      this._lineStarts && this._lineStarts.removeValues(M, I),
                      this._lines[M - 1].append(e, k, s),
                      this._lineStarts &&
                        this._lineStarts.changeValue(
                          M - 1,
                          this._lines[M - 1].text.length + this._EOL.length
                        )
                    for (
                      var A = new l.Position(M, T), O = 0, F = D.length;
                      O < F;
                      O++
                    )
                      D[O].updatePosition(e, A)
                    this._lines[M - 1].addMarkers(D),
                      a.push(
                        new h.ModelRawLineChanged(M, this._lines[M - 1].text)
                      ),
                      a.push(new h.ModelRawLinesDeleted(M + 1, M + I))
                  }
                  if (x < L) {
                    p()
                    var W = b + x,
                      B = W === b ? C : 1
                    y.lines && (B += y.lines[x].length)
                    var V = this._lines[W - 1].split(
                      e,
                      B,
                      y.forceMoveMarkers,
                      s
                    )
                    this._lineStarts &&
                      this._lineStarts.changeValue(
                        W - 1,
                        this._lines[W - 1].text.length + this._EOL.length
                      ),
                      a.push(
                        new h.ModelRawLineChanged(W, this._lines[W - 1].text)
                      ),
                      this._invalidateLine(W - 1)
                    for (
                      var H = [], z = [], K = new Uint32Array(L - x), O = x + 1;
                      O <= L;
                      O++
                    ) {
                      var U = b + O
                      H.push(new r.ModelLine(U, y.lines[O], s)),
                        z.push(y.lines[O]),
                        (K[O - x - 1] = y.lines[O].length + this._EOL.length)
                    }
                    ;(this._lines = u.arrayInsert(this._lines, b + x, H)),
                      (z[z.length - 1] += V.text),
                      this._lineStarts &&
                        this._lineStarts.insertValues(b + x, K),
                      this._lines[b + L - 1].append(e, V, s),
                      this._lineStarts &&
                        this._lineStarts.changeValue(
                          b + L - 1,
                          this._lines[b + L - 1].text.length + this._EOL.length
                        ),
                      a.push(
                        new h.ModelRawLinesInserted(W + 1, b + L, z.join('\n'))
                      )
                  }
                  c.push({
                    range: new n.Range(b, C, w, S),
                    rangeLength: y.rangeLength,
                    text: y.lines ? y.lines.join(this.getEOL()) : ''
                  })
                }
              }
              p(),
                (g = Math.max(1, Math.min(this.getLineCount(), g + m))),
                0 !== m && (g = this.getLineCount())
              for (var j = f; j <= g; j++)
                this._lines[j - 1].updateLineNumber(e, j)
              if (0 !== a.length || 0 !== c.length) {
                this._increaseVersionId(),
                  this._emitModelRawContentChangedEvent(
                    new h.ModelRawContentChangedEvent(
                      a,
                      this.getVersionId(),
                      this._isUndoing,
                      this._isRedoing
                    )
                  )
                var q = {
                  changes: c,
                  eol: this._EOL,
                  versionId: this.getVersionId(),
                  isUndoing: this._isUndoing,
                  isRedoing: this._isRedoing,
                  isFlush: !1
                }
                this._eventEmitter.emit(
                  h.TextModelEventType.ModelContentChanged,
                  q
                )
              }
              this._resetIndentRanges()
            }),
            (t.prototype._assertLineNumbersOK = function() {
              for (var e = 0, t = 0, n = this._lines.length; t < n; t++) {
                var i = this._lines[t],
                  o = t + 1
                if (i.lineNumber !== o)
                  throw new Error(
                    'Invalid lineNumber at line: ' +
                      o +
                      '; text is: ' +
                      this.getValue()
                  )
                var r = i.getMarkers()
                if (null !== r)
                  for (var s = 0, a = r.length; s < a; s++) {
                    e++
                    var u = r[s].id
                    if (
                      this._markerIdToMarker[u].position.lineNumber !==
                      i.lineNumber
                    )
                      throw new Error('Misplaced marker with id ' + u)
                  }
              }
              if (Object.keys(this._markerIdToMarker).length !== e)
                throw new Error('There are misplaced markers!')
            }),
            (t.prototype._undo = function() {
              this._isUndoing = !0
              var e = this._commandManager.undo()
              return (
                (this._isUndoing = !1),
                e
                  ? (this._overwriteAlternativeVersionId(e.recordedVersionId),
                    e.selections)
                  : null
              )
            }),
            (t.prototype.undo = function() {
              try {
                return (
                  this._eventEmitter.beginDeferredEmit(),
                  this._acquireMarkersTracker(),
                  this._undo()
                )
              } finally {
                this._releaseMarkersTracker(),
                  this._eventEmitter.endDeferredEmit()
              }
            }),
            (t.prototype._redo = function() {
              this._isRedoing = !0
              var e = this._commandManager.redo()
              return (
                (this._isRedoing = !1),
                e
                  ? (this._overwriteAlternativeVersionId(e.recordedVersionId),
                    e.selections)
                  : null
              )
            }),
            (t.prototype.redo = function() {
              try {
                return (
                  this._eventEmitter.beginDeferredEmit(),
                  this._acquireMarkersTracker(),
                  this._redo()
                )
              } finally {
                this._releaseMarkersTracker(),
                  this._eventEmitter.endDeferredEmit()
              }
            }),
            (t.prototype.setEditableRange = function(e) {
              var n = this
              this._commandManager.clear(),
                (this._hasEditableRange || e) &&
                  this.changeDecorations(function(i) {
                    n._hasEditableRange &&
                      (i.removeDecoration(n._editableRangeId),
                      (n._editableRangeId = null),
                      (n._hasEditableRange = !1)),
                      e &&
                        ((n._hasEditableRange = !0),
                        (n._editableRangeId = i.addDecoration(
                          e,
                          t._DECORATION_OPTION
                        )))
                  })
            }),
            (t.prototype.hasEditableRange = function() {
              return this._hasEditableRange
            }),
            (t.prototype.getEditableRange = function() {
              return this._hasEditableRange
                ? this.getDecorationRange(this._editableRangeId)
                : this.getFullModelRange()
            }),
            t
          )
        })(s.TextModelWithDecorations)
        ;(p._DECORATION_OPTION = s.ModelDecorationOptions.register({
          stickiness: i.TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges
        })),
          (t.EditableTextModel = p)
      }),
      define(d[173], h([0, 1, 24, 316, 92, 104, 52]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = 0,
          u = (function(e) {
            function t(t, i, o, r) {
              void 0 === r && (r = null)
              var s = e.call(this, t, i, o) || this
              return (
                a++,
                (s.id = '$model' + a),
                (s._associatedResource =
                  void 0 === r || null === r
                    ? n.default.parse('inmemory://model/' + a)
                    : r),
                (s._attachedEditorCount = 0),
                s
              )
            }
            return (
              f(t, e),
              (t.prototype.onDidChangeDecorations = function(e) {
                return this._eventEmitter.addListener(
                  s.TextModelEventType.ModelDecorationsChanged,
                  e
                )
              }),
              (t.prototype.onDidChangeOptions = function(e) {
                return this._eventEmitter.addListener(
                  s.TextModelEventType.ModelOptionsChanged,
                  e
                )
              }),
              (t.prototype.onWillDispose = function(e) {
                return this._eventEmitter.addListener(
                  s.TextModelEventType.ModelDispose,
                  e
                )
              }),
              (t.prototype.onDidChangeLanguage = function(e) {
                return this._eventEmitter.addListener(
                  s.TextModelEventType.ModelLanguageChanged,
                  e
                )
              }),
              (t.createFromString = function(e, n, i, s) {
                return (
                  void 0 === n && (n = o.TextModel.DEFAULT_CREATION_OPTIONS),
                  void 0 === i && (i = null),
                  void 0 === s && (s = null),
                  new t(r.RawTextSource.fromString(e), n, i, s)
                )
              }),
              (t.prototype.destroy = function() {
                this.dispose()
              }),
              (t.prototype.dispose = function() {
                ;(this._isDisposing = !0),
                  this._eventEmitter.emit(s.TextModelEventType.ModelDispose),
                  e.prototype.dispose.call(this),
                  (this._isDisposing = !1)
              }),
              (t.prototype.onBeforeAttached = function() {
                this._attachedEditorCount++, this._warmUpTokens()
              }),
              (t.prototype.onBeforeDetached = function() {
                this._attachedEditorCount--
              }),
              (t.prototype._shouldAutoTokenize = function() {
                return this.isAttachedToEditor()
              }),
              (t.prototype.isAttachedToEditor = function() {
                return this._attachedEditorCount > 0
              }),
              Object.defineProperty(t.prototype, 'uri', {
                get: function() {
                  return this._associatedResource
                },
                enumerable: !0,
                configurable: !0
              }),
              t
            )
          })(i.EditableTextModel)
        t.Model = u
      }),
      define(d[172], h([0, 1, 12, 2, 98, 86, 56, 33]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a
      ) {
        'use strict'
        function u(e, t, n, i, o, r, s) {
          var a = e.createLineMapping(t, n, i, o, r)
          return null === a ? (s ? d.INSTANCE : h.INSTANCE) : new p(a, s)
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var l = (function() {
          return function(e, t) {
            ;(this.outputLineIndex = e), (this.outputOffset = t)
          }
        })()
        t.OutputPosition = l
        var c = (function() {
          function e(e, t, n, i, o, r) {
            ;(this.model = e),
              (this._validModelVersionId = -1),
              (this.tabSize = n),
              (this.wrappingColumn = i),
              (this.columnsForFullWidthChar = o),
              (this.wrappingIndent = r),
              (this.linePositionMapperFactory = t),
              this._constructLines(!0)
          }
          return (
            (e.prototype.dispose = function() {
              this.hiddenAreasIds = this.model.deltaDecorations(
                this.hiddenAreasIds,
                []
              )
            }),
            (e.prototype._ensureValidState = function() {
              if (this.model.getVersionId() !== this._validModelVersionId)
                throw new Error(
                  "SplitLinesCollection: attempt to access a 'newer' model"
                )
            }),
            (e.prototype._constructLines = function(e) {
              var t = this
              ;(this.lines = []), e && (this.hiddenAreasIds = [])
              for (
                var n = this.model.getLinesContent(),
                  r = n.length,
                  s = new Uint32Array(r),
                  a = this.hiddenAreasIds
                    .map(function(e) {
                      return t.model.getDecorationRange(e)
                    })
                    .sort(i.Range.compareRangesUsingStarts),
                  l = 1,
                  c = 0,
                  d = -1,
                  h = d + 1 < a.length ? c + 1 : r + 2,
                  p = 0;
                p < r;
                p++
              ) {
                var f = p + 1
                f === h &&
                  ((l = a[++d].startLineNumber),
                  (c = a[d].endLineNumber),
                  (h = d + 1 < a.length ? c + 1 : r + 2))
                var g = f >= l && f <= c,
                  m = u(
                    this.linePositionMapperFactory,
                    n[p],
                    this.tabSize,
                    this.wrappingColumn,
                    this.columnsForFullWidthChar,
                    this.wrappingIndent,
                    !g
                  )
                ;(s[p] = m.getViewLineCount()), (this.lines[p] = m)
              }
              ;(this._validModelVersionId = this.model.getVersionId()),
                (this.prefixSumComputer = new o.PrefixSumComputerWithCache(s))
            }),
            (e.prototype.getHiddenAreas = function() {
              var e = this
              return this.hiddenAreasIds
                .map(function(t) {
                  return e.model.getDecorationRange(t)
                })
                .sort(i.Range.compareRangesUsingStarts)
            }),
            (e.prototype._reduceRanges = function(e) {
              var t = this
              if (0 === e.length) return []
              for (
                var n = e
                    .map(function(e) {
                      return t.model.validateRange(e)
                    })
                    .sort(i.Range.compareRangesUsingStarts),
                  o = [],
                  r = n[0].startLineNumber,
                  s = n[0].endLineNumber,
                  a = 1,
                  u = n.length;
                a < u;
                a++
              ) {
                var l = n[a]
                l.startLineNumber > s + 1
                  ? (o.push(new i.Range(r, 1, s, 1)),
                    (r = l.startLineNumber),
                    (s = l.endLineNumber))
                  : l.endLineNumber > s && (s = l.endLineNumber)
              }
              return o.push(new i.Range(r, 1, s, 1)), o
            }),
            (e.prototype.setHiddenAreas = function(e) {
              var t = this,
                n = this._reduceRanges(e),
                o = this.hiddenAreasIds
                  .map(function(e) {
                    return t.model.getDecorationRange(e)
                  })
                  .sort(i.Range.compareRangesUsingStarts)
              if (n.length === o.length) {
                for (var r = !1, s = 0; s < n.length; s++)
                  if (!n[s].equalsRange(o[s])) {
                    r = !0
                    break
                  }
                if (!r) return !1
              }
              for (var u = [], s = 0; s < n.length; s++)
                u.push({ range: n[s], options: a.ModelDecorationOptions.EMPTY })
              this.hiddenAreasIds = this.model.deltaDecorations(
                this.hiddenAreasIds,
                u
              )
              for (
                var l = n,
                  c = 1,
                  d = 0,
                  h = -1,
                  p = h + 1 < l.length ? d + 1 : this.lines.length + 2,
                  s = 0;
                s < this.lines.length;
                s++
              ) {
                var f = s + 1
                f === p &&
                  ((c = l[++h].startLineNumber),
                  (d = l[h].endLineNumber),
                  (p = h + 1 < l.length ? d + 1 : this.lines.length + 2))
                var g = !1
                if (
                  (f >= c && f <= d
                    ? this.lines[s].isVisible() &&
                      ((this.lines[s] = this.lines[s].setVisible(!1)), (g = !0))
                    : this.lines[s].isVisible() ||
                      ((this.lines[s] = this.lines[s].setVisible(!0)),
                      (g = !0)),
                  g)
                ) {
                  var m = this.lines[s].getViewLineCount()
                  this.prefixSumComputer.changeValue(s, m)
                }
              }
              return !0
            }),
            (e.prototype.modelPositionIsVisible = function(e, t) {
              return (
                !(e < 1 || e > this.lines.length) &&
                this.lines[e - 1].isVisible()
              )
            }),
            (e.prototype.setTabSize = function(e) {
              return (
                this.tabSize !== e &&
                ((this.tabSize = e), this._constructLines(!1), !0)
              )
            }),
            (e.prototype.setWrappingSettings = function(e, t, n) {
              return (
                (this.wrappingIndent !== e ||
                  this.wrappingColumn !== t ||
                  this.columnsForFullWidthChar !== n) &&
                ((this.wrappingIndent = e),
                (this.wrappingColumn = t),
                (this.columnsForFullWidthChar = n),
                this._constructLines(!1),
                !0)
              )
            }),
            (e.prototype.onModelFlushed = function() {
              this._constructLines(!0)
            }),
            (e.prototype.onModelLinesDeleted = function(e, t, n) {
              if (e <= this._validModelVersionId) return null
              var i =
                  1 === t
                    ? 1
                    : this.prefixSumComputer.getAccumulatedValue(t - 2) + 1,
                o = this.prefixSumComputer.getAccumulatedValue(n - 1)
              return (
                this.lines.splice(t - 1, n - t + 1),
                this.prefixSumComputer.removeValues(t - 1, n - t + 1),
                new s.ViewLinesDeletedEvent(i, o)
              )
            }),
            (e.prototype.onModelLinesInserted = function(e, t, i, o) {
              if (e <= this._validModelVersionId) return null
              for (
                var r = this.getHiddenAreas(),
                  a = !1,
                  l = new n.Position(t, 1),
                  c = 0;
                c < r.length;
                c++
              )
                if (r[c].containsPosition(l)) {
                  a = !0
                  break
                }
              for (
                var d =
                    1 === t
                      ? 1
                      : this.prefixSumComputer.getAccumulatedValue(t - 2) + 1,
                  h = 0,
                  p = [],
                  f = new Uint32Array(o.length),
                  c = 0,
                  g = o.length;
                c < g;
                c++
              ) {
                var m = u(
                  this.linePositionMapperFactory,
                  o[c],
                  this.tabSize,
                  this.wrappingColumn,
                  this.columnsForFullWidthChar,
                  this.wrappingIndent,
                  !a
                )
                p.push(m)
                var v = m.getViewLineCount()
                ;(h += v), (f[c] = v)
              }
              return (
                (this.lines = this.lines
                  .slice(0, t - 1)
                  .concat(p)
                  .concat(this.lines.slice(t - 1))),
                this.prefixSumComputer.insertValues(t - 1, f),
                new s.ViewLinesInsertedEvent(d, d + h - 1)
              )
            }),
            (e.prototype.onModelLineChanged = function(e, t, n) {
              if (e <= this._validModelVersionId) return [!1, null, null, null]
              var i = t - 1,
                o = this.lines[i].getViewLineCount(),
                r = this.lines[i].isVisible(),
                a = u(
                  this.linePositionMapperFactory,
                  n,
                  this.tabSize,
                  this.wrappingColumn,
                  this.columnsForFullWidthChar,
                  this.wrappingIndent,
                  r
                )
              this.lines[i] = a
              var l = this.lines[i].getViewLineCount(),
                c = !1,
                d = 0,
                h = -1,
                p = 0,
                f = -1,
                g = 0,
                m = -1
              return (
                o > l
                  ? ((m =
                      (g =
                        (h =
                          (d =
                            1 === t
                              ? 1
                              : this.prefixSumComputer.getAccumulatedValue(
                                  t - 2
                                ) + 1) +
                          l -
                          1) + 1) +
                      (o - l) -
                      1),
                    (c = !0))
                  : o < l
                    ? ((f =
                        (p =
                          (h =
                            (d =
                              1 === t
                                ? 1
                                : this.prefixSumComputer.getAccumulatedValue(
                                    t - 2
                                  ) + 1) +
                            o -
                            1) + 1) +
                        (l - o) -
                        1),
                      (c = !0))
                    : (h =
                        (d =
                          1 === t
                            ? 1
                            : this.prefixSumComputer.getAccumulatedValue(
                                t - 2
                              ) + 1) +
                        l -
                        1),
                this.prefixSumComputer.changeValue(i, l),
                [
                  c,
                  d <= h ? new s.ViewLinesChangedEvent(d, h) : null,
                  p <= f ? new s.ViewLinesInsertedEvent(p, f) : null,
                  g <= m ? new s.ViewLinesDeletedEvent(g, m) : null
                ]
              )
            }),
            (e.prototype.acceptVersionId = function(e) {
              this._validModelVersionId = e
            }),
            (e.prototype.getViewLineCount = function() {
              return (
                this._ensureValidState(), this.prefixSumComputer.getTotalValue()
              )
            }),
            (e.prototype._toValidViewLineNumber = function(e) {
              if (e < 1) return 1
              var t = this.getViewLineCount()
              return e > t ? t : e
            }),
            (e.prototype.warmUpLookupCache = function(e, t) {
              this.prefixSumComputer.warmUpCache(e - 1, t - 1)
            }),
            (e.prototype.getViewLineIndentGuide = function(e) {
              this._ensureValidState(), (e = this._toValidViewLineNumber(e))
              var t = this.prefixSumComputer.getIndexOf(e - 1)
              return this.model.getLineIndentGuide(t.index + 1)
            }),
            (e.prototype.getViewLineContent = function(e) {
              this._ensureValidState(), (e = this._toValidViewLineNumber(e))
              var t = this.prefixSumComputer.getIndexOf(e - 1),
                n = t.index,
                i = t.remainder
              return this.lines[n].getViewLineContent(this.model, n + 1, i)
            }),
            (e.prototype.getViewLineMinColumn = function(e) {
              this._ensureValidState(), (e = this._toValidViewLineNumber(e))
              var t = this.prefixSumComputer.getIndexOf(e - 1),
                n = t.index,
                i = t.remainder
              return this.lines[n].getViewLineMinColumn(this.model, n + 1, i)
            }),
            (e.prototype.getViewLineMaxColumn = function(e) {
              this._ensureValidState(), (e = this._toValidViewLineNumber(e))
              var t = this.prefixSumComputer.getIndexOf(e - 1),
                n = t.index,
                i = t.remainder
              return this.lines[n].getViewLineMaxColumn(this.model, n + 1, i)
            }),
            (e.prototype.getViewLineData = function(e) {
              this._ensureValidState(), (e = this._toValidViewLineNumber(e))
              var t = this.prefixSumComputer.getIndexOf(e - 1),
                n = t.index,
                i = t.remainder
              return this.lines[n].getViewLineData(this.model, n + 1, i)
            }),
            (e.prototype.getViewLinesData = function(e, t, n) {
              this._ensureValidState(),
                (e = this._toValidViewLineNumber(e)),
                (t = this._toValidViewLineNumber(t))
              for (
                var i = this.prefixSumComputer.getIndexOf(e - 1),
                  o = e,
                  r = i.index,
                  s = i.remainder,
                  a = [],
                  u = r,
                  l = this.model.getLineCount();
                u < l;
                u++
              ) {
                var c = this.lines[u]
                if (c.isVisible()) {
                  var d = u === r ? s : 0,
                    h = c.getViewLineCount() - d,
                    p = !1
                  o + h > t && ((p = !0), (h = t - o + 1))
                  var f = d + h
                  if (
                    (c.getViewLinesData(this.model, u + 1, d, f, o - e, n, a),
                    (o += h),
                    p)
                  )
                    break
                }
              }
              return a
            }),
            (e.prototype.validateViewPosition = function(e, t, i) {
              this._ensureValidState(), (e = this._toValidViewLineNumber(e))
              var o = this.prefixSumComputer.getIndexOf(e - 1),
                r = o.index,
                s = o.remainder,
                a = this.lines[r],
                u = a.getViewLineMinColumn(this.model, r + 1, s),
                l = a.getViewLineMaxColumn(this.model, r + 1, s)
              t < u && (t = u), t > l && (t = l)
              var c = a.getModelColumnOfViewPosition(s, t)
              return this.model
                .validatePosition(new n.Position(r + 1, c))
                .equals(i)
                ? new n.Position(e, t)
                : this.convertModelPositionToViewPosition(
                    i.lineNumber,
                    i.column
                  )
            }),
            (e.prototype.convertViewPositionToModelPosition = function(e, t) {
              this._ensureValidState(), (e = this._toValidViewLineNumber(e))
              var i = this.prefixSumComputer.getIndexOf(e - 1),
                o = i.index,
                r = i.remainder,
                s = this.lines[o].getModelColumnOfViewPosition(r, t)
              return this.model.validatePosition(new n.Position(o + 1, s))
            }),
            (e.prototype.convertModelPositionToViewPosition = function(e, t) {
              this._ensureValidState()
              for (
                var i = this.model.validatePosition(new n.Position(e, t)),
                  o = i.lineNumber,
                  r = i.column,
                  s = o - 1,
                  a = !1;
                s > 0 && !this.lines[s].isVisible();

              )
                s--, (a = !0)
              if (0 === s && !this.lines[s].isVisible())
                return new n.Position(1, 1)
              var u =
                1 +
                (0 === s
                  ? 0
                  : this.prefixSumComputer.getAccumulatedValue(s - 1))
              return a
                ? this.lines[s].getViewPositionOfModelPosition(
                    u,
                    this.model.getLineMaxColumn(s + 1)
                  )
                : this.lines[o - 1].getViewPositionOfModelPosition(u, r)
            }),
            e
          )
        })()
        t.SplitLinesCollection = c
        var d = (function() {
          function e() {}
          return (
            (e.prototype.isVisible = function() {
              return !0
            }),
            (e.prototype.setVisible = function(e) {
              return e ? this : h.INSTANCE
            }),
            (e.prototype.getViewLineCount = function() {
              return 1
            }),
            (e.prototype.getViewLineContent = function(e, t, n) {
              return e.getLineContent(t)
            }),
            (e.prototype.getViewLineMinColumn = function(e, t, n) {
              return e.getLineMinColumn(t)
            }),
            (e.prototype.getViewLineMaxColumn = function(e, t, n) {
              return e.getLineMaxColumn(t)
            }),
            (e.prototype.getViewLineData = function(e, t, n) {
              var i = e.getLineTokens(t),
                o = i.getLineContent()
              return new r.ViewLineData(o, 1, o.length + 1, i.inflate())
            }),
            (e.prototype.getViewLinesData = function(e, t, n, i, o, r, s) {
              r[o] ? (s[o] = this.getViewLineData(e, t, 0)) : (s[o] = null)
            }),
            (e.prototype.getModelColumnOfViewPosition = function(e, t) {
              return t
            }),
            (e.prototype.getViewPositionOfModelPosition = function(e, t) {
              return new n.Position(e, t)
            }),
            e
          )
        })()
        d.INSTANCE = new d()
        var h = (function() {
          function e() {}
          return (
            (e.prototype.isVisible = function() {
              return !1
            }),
            (e.prototype.setVisible = function(e) {
              return e ? d.INSTANCE : this
            }),
            (e.prototype.getViewLineCount = function() {
              return 0
            }),
            (e.prototype.getViewLineContent = function(e, t, n) {
              throw new Error('Not supported')
            }),
            (e.prototype.getViewLineMinColumn = function(e, t, n) {
              throw new Error('Not supported')
            }),
            (e.prototype.getViewLineMaxColumn = function(e, t, n) {
              throw new Error('Not supported')
            }),
            (e.prototype.getViewLineData = function(e, t, n) {
              throw new Error('Not supported')
            }),
            (e.prototype.getViewLinesData = function(e, t, n, i, o, r, s) {
              throw new Error('Not supported')
            }),
            (e.prototype.getModelColumnOfViewPosition = function(e, t) {
              throw new Error('Not supported')
            }),
            (e.prototype.getViewPositionOfModelPosition = function(e, t) {
              throw new Error('Not supported')
            }),
            e
          )
        })()
        h.INSTANCE = new h()
        var p = (function() {
          function e(e, t) {
            ;(this.positionMapper = e),
              (this.wrappedIndent = this.positionMapper.getWrappedLinesIndent()),
              (this.wrappedIndentLength = this.wrappedIndent.length),
              (this.outputLineCount = this.positionMapper.getOutputLineCount()),
              (this._isVisible = t)
          }
          return (
            (e.prototype.isVisible = function() {
              return this._isVisible
            }),
            (e.prototype.setVisible = function(e) {
              return (this._isVisible = e), this
            }),
            (e.prototype.getViewLineCount = function() {
              return this._isVisible ? this.outputLineCount : 0
            }),
            (e.prototype.getInputStartOffsetOfOutputLineIndex = function(e) {
              return this.positionMapper.getInputOffsetOfOutputPosition(e, 0)
            }),
            (e.prototype.getInputEndOffsetOfOutputLineIndex = function(
              e,
              t,
              n
            ) {
              return n + 1 === this.outputLineCount
                ? e.getLineMaxColumn(t) - 1
                : this.positionMapper.getInputOffsetOfOutputPosition(n + 1, 0)
            }),
            (e.prototype.getViewLineContent = function(e, t, n) {
              if (!this._isVisible) throw new Error('Not supported')
              var i = this.getInputStartOffsetOfOutputLineIndex(n),
                o = this.getInputEndOffsetOfOutputLineIndex(e, t, n),
                r = e.getLineContent(t).substring(i, o)
              return n > 0 && (r = this.wrappedIndent + r), r
            }),
            (e.prototype.getViewLineMinColumn = function(e, t, n) {
              if (!this._isVisible) throw new Error('Not supported')
              return n > 0 ? this.wrappedIndentLength + 1 : 1
            }),
            (e.prototype.getViewLineMaxColumn = function(e, t, n) {
              if (!this._isVisible) throw new Error('Not supported')
              return this.getViewLineContent(e, t, n).length + 1
            }),
            (e.prototype.getViewLineData = function(e, t, n) {
              if (!this._isVisible) throw new Error('Not supported')
              var i = this.getInputStartOffsetOfOutputLineIndex(n),
                o = this.getInputEndOffsetOfOutputLineIndex(e, t, n),
                s = e.getLineContent(t).substring(i, o)
              n > 0 && (s = this.wrappedIndent + s)
              var a = n > 0 ? this.wrappedIndentLength + 1 : 1,
                u = s.length + 1,
                l = 0
              n > 0 && (l = this.wrappedIndentLength)
              var c = e.getLineTokens(t)
              return new r.ViewLineData(s, a, u, c.sliceAndInflate(i, o, l))
            }),
            (e.prototype.getViewLinesData = function(e, t, n, i, o, r, s) {
              if (!this._isVisible) throw new Error('Not supported')
              for (var a = n; a < i; a++) {
                var u = o + a - n
                r[u] ? (s[u] = this.getViewLineData(e, t, a)) : (s[u] = null)
              }
            }),
            (e.prototype.getModelColumnOfViewPosition = function(e, t) {
              if (!this._isVisible) throw new Error('Not supported')
              var n = t - 1
              return (
                e > 0 &&
                  (n < this.wrappedIndentLength
                    ? (n = 0)
                    : (n -= this.wrappedIndentLength)),
                this.positionMapper.getInputOffsetOfOutputPosition(e, n) + 1
              )
            }),
            (e.prototype.getViewPositionOfModelPosition = function(e, t) {
              if (!this._isVisible) throw new Error('Not supported')
              var i = this.positionMapper.getOutputPositionOfInputOffset(t - 1),
                o = i.outputLineIndex,
                r = i.outputOffset + 1
              return (
                o > 0 && (r += this.wrappedIndentLength),
                new n.Position(e + o, r)
              )
            }),
            e
          )
        })()
        t.SplitLine = p
      }),
      define(d[319], h([0, 1, 9, 98, 172, 82, 95, 49]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var u
        !(function(e) {
          ;(e[(e.NONE = 0)] = 'NONE'),
            (e[(e.BREAK_BEFORE = 1)] = 'BREAK_BEFORE'),
            (e[(e.BREAK_AFTER = 2)] = 'BREAK_AFTER'),
            (e[(e.BREAK_OBTRUSIVE = 3)] = 'BREAK_OBTRUSIVE'),
            (e[(e.BREAK_IDEOGRAPHIC = 4)] = 'BREAK_IDEOGRAPHIC')
        })(u || (u = {}))
        var l = (function(e) {
            function t(t, n, i) {
              for (var o = e.call(this, 0) || this, r = 0; r < t.length; r++)
                o.set(t.charCodeAt(r), 1)
              for (r = 0; r < n.length; r++) o.set(n.charCodeAt(r), 2)
              for (r = 0; r < i.length; r++) o.set(i.charCodeAt(r), 3)
              return o
            }
            return (
              f(t, e),
              (t.prototype.get = function(t) {
                return (t >= 12352 && t <= 12543) ||
                  (t >= 13312 && t <= 19903) ||
                  (t >= 19968 && t <= 40959)
                  ? 4
                  : e.prototype.get.call(this, t)
              }),
              t
            )
          })(r.CharacterClassifier),
          c = (function() {
            function e(e, t, n) {
              this.classifier = new l(e, t, n)
            }
            return (
              (e.nextVisibleColumn = function(e, t, n, i) {
                return (
                  (e = +e), (t = +t), (i = +i), n ? e + (t - (e % t)) : e + i
                )
              }),
              (e.prototype.createLineMapping = function(t, o, r, u, l) {
                if (-1 === r) return null
                ;(o = +o), (r = +r), (u = +u)
                var c = 0,
                  h = '',
                  p = -1
                if (
                  (l = +l) !== a.WrappingIndent.None &&
                  -1 !== (p = n.firstNonWhitespaceIndex(t))
                ) {
                  h = t.substring(0, p)
                  for (E = 0; E < p; E++)
                    c = e.nextVisibleColumn(c, o, 9 === t.charCodeAt(E), 1)
                  l === a.WrappingIndent.Indent &&
                    ((h += '\t'), (c = e.nextVisibleColumn(c, o, !0, 1))),
                    c > 0.5 * r && ((h = ''), (c = 0))
                }
                for (
                  var f = this.classifier,
                    g = 0,
                    m = [],
                    v = 0,
                    _ = 0,
                    y = -1,
                    b = 0,
                    C = -1,
                    w = 0,
                    S = t.length,
                    E = 0;
                  E < S;
                  E++
                ) {
                  var L = t.charCodeAt(E),
                    x = 9 === L,
                    N = f.get(L)
                  if ((1 === N && ((y = E), (b = c)), 4 === N && E > 0)) {
                    var M = t.charCodeAt(E - 1)
                    1 !== f.get(M) && ((y = E), (b = c))
                  }
                  var T = 1
                  if (
                    (n.isFullWidthCharacter(L) && (T = u),
                    (_ = e.nextVisibleColumn(_, o, x, T)) > r && 0 !== E)
                  ) {
                    var k = void 0,
                      I = void 0
                    ;-1 !== y && b <= r
                      ? ((k = y), (I = b))
                      : -1 !== C && w <= r
                        ? ((k = C), (I = w))
                        : ((k = E), (I = c)),
                      (m[v++] = k - g),
                      (g = k),
                      (_ = e.nextVisibleColumn(I, o, x, T)),
                      (y = -1),
                      (b = 0),
                      (C = -1),
                      (w = 0)
                  }
                  if (
                    (-1 !== y && (b = e.nextVisibleColumn(b, o, x, T)),
                    -1 !== C && (w = e.nextVisibleColumn(w, o, x, T)),
                    2 === N &&
                      (l === a.WrappingIndent.None || E >= p) &&
                      ((y = E + 1), (b = c)),
                    4 === N && E < S - 1)
                  ) {
                    var D = t.charCodeAt(E + 1)
                    2 !== f.get(D) && ((y = E + 1), (b = c))
                  }
                  3 === N && ((C = E + 1), (w = c))
                }
                return 0 === v
                  ? null
                  : ((m[v++] = S - g),
                    new d(new i.PrefixSumComputer(s.toUint32Array(m)), h))
              }),
              e
            )
          })()
        t.CharacterHardWrappingLineMapperFactory = c
        var d = (function() {
          function e(e, t) {
            ;(this._prefixSums = e), (this._wrappedLinesIndent = t)
          }
          return (
            (e.prototype.getOutputLineCount = function() {
              return this._prefixSums.getCount()
            }),
            (e.prototype.getWrappedLinesIndent = function() {
              return this._wrappedLinesIndent
            }),
            (e.prototype.getInputOffsetOfOutputPosition = function(e, t) {
              return 0 === e
                ? t
                : this._prefixSums.getAccumulatedValue(e - 1) + t
            }),
            (e.prototype.getOutputPositionOfInputOffset = function(e) {
              var t = this._prefixSums.getIndexOf(e)
              return new o.OutputPosition(t.index, t.remainder)
            }),
            e
          )
        })()
        t.CharacterHardWrappingLineMapping = d
      }),
      define(d[320], h([
        0,
        1,
        9,
        12,
        2,
        22,
        21,
        17,
        138,
        239,
        86,
        172,
        56,
        136,
        52,
        319,
        238
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g, m, v) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var _ = (function() {
          function e(e) {
            this._lines = e
          }
          return (
            (e.prototype.convertViewPositionToModelPosition = function(e) {
              return this._lines.convertViewPositionToModelPosition(
                e.lineNumber,
                e.column
              )
            }),
            (e.prototype.convertViewRangeToModelRange = function(e) {
              var t = this._lines.convertViewPositionToModelPosition(
                  e.startLineNumber,
                  e.startColumn
                ),
                n = this._lines.convertViewPositionToModelPosition(
                  e.endLineNumber,
                  e.endColumn
                )
              return new o.Range(t.lineNumber, t.column, n.lineNumber, n.column)
            }),
            (e.prototype.convertViewSelectionToModelSelection = function(e) {
              var t = this._lines.convertViewPositionToModelPosition(
                  e.selectionStartLineNumber,
                  e.selectionStartColumn
                ),
                n = this._lines.convertViewPositionToModelPosition(
                  e.positionLineNumber,
                  e.positionColumn
                )
              return new r.Selection(
                t.lineNumber,
                t.column,
                n.lineNumber,
                n.column
              )
            }),
            (e.prototype.validateViewPosition = function(e, t) {
              return this._lines.validateViewPosition(e.lineNumber, e.column, t)
            }),
            (e.prototype.validateViewRange = function(e, t) {
              var n = this._lines.validateViewPosition(
                  e.startLineNumber,
                  e.startColumn,
                  t.getStartPosition()
                ),
                i = this._lines.validateViewPosition(
                  e.endLineNumber,
                  e.endColumn,
                  t.getEndPosition()
                )
              return new o.Range(n.lineNumber, n.column, i.lineNumber, i.column)
            }),
            (e.prototype.convertModelPositionToViewPosition = function(e) {
              return this._lines.convertModelPositionToViewPosition(
                e.lineNumber,
                e.column
              )
            }),
            (e.prototype.convertModelRangeToViewRange = function(e) {
              var t = this._lines.convertModelPositionToViewPosition(
                  e.startLineNumber,
                  e.startColumn
                ),
                n = this._lines.convertModelPositionToViewPosition(
                  e.endLineNumber,
                  e.endColumn
                )
              return new o.Range(t.lineNumber, t.column, n.lineNumber, n.column)
            }),
            (e.prototype.convertModelSelectionToViewSelection = function(e) {
              var t = this._lines.convertModelPositionToViewPosition(
                  e.selectionStartLineNumber,
                  e.selectionStartColumn
                ),
                n = this._lines.convertModelPositionToViewPosition(
                  e.positionLineNumber,
                  e.positionColumn
                )
              return new r.Selection(
                t.lineNumber,
                t.column,
                n.lineNumber,
                n.column
              )
            }),
            (e.prototype.modelPositionIsVisible = function(e) {
              return this._lines.modelPositionIsVisible(e.lineNumber, e.column)
            }),
            e
          )
        })()
        t.CoordinatesConverter = _
        var y = (function(e) {
          function t(t, n, i) {
            var o = e.call(this) || this
            ;(o.editorId = t), (o.configuration = n), (o.model = i)
            var r = o.configuration.editor,
              s = new m.CharacterHardWrappingLineMapperFactory(
                r.wrappingInfo.wordWrapBreakBeforeCharacters,
                r.wrappingInfo.wordWrapBreakAfterCharacters,
                r.wrappingInfo.wordWrapBreakObtrusiveCharacters
              )
            return (
              (o.lines = new d.SplitLinesCollection(
                o.model,
                s,
                o.model.getOptions().tabSize,
                r.wrappingInfo.wrappingColumn,
                r.fontInfo.typicalFullwidthCharacterWidth /
                  r.fontInfo.typicalHalfwidthCharacterWidth,
                r.wrappingInfo.wrappingIndent
              )),
              (o.coordinatesConverter = new _(o.lines)),
              (o.viewLayout = o._register(
                new v.ViewLayout(o.configuration, o.getLineCount())
              )),
              o._register(
                o.viewLayout.onDidScroll(function(e) {
                  o._emit([new h.ViewScrollChangedEvent(e)])
                })
              ),
              (o._isDisposing = !1),
              (o._centeredViewLine = -1),
              (o.decorations = new l.ViewModelDecorations(
                o.editorId,
                o.model,
                o.configuration,
                o.coordinatesConverter
              )),
              o._register(
                o.model.addBulkListener(function(e) {
                  if (!o._isDisposing) {
                    var t = new c.ViewEventsCollector()
                    o._onModelEvents(t, e), o._emit(t.finalize())
                  }
                })
              ),
              o._register(
                o.configuration.onDidChange(function(e) {
                  var t = new c.ViewEventsCollector()
                  o._onConfigurationChanged(t, e), o._emit(t.finalize())
                })
              ),
              o._register(
                p.MinimapTokensColorTracker.getInstance().onDidChange(
                  function() {
                    o._emit([new h.ViewTokensColorsChangedEvent()])
                  }
                )
              ),
              o
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              ;(this._isDisposing = !0),
                this.decorations.dispose(),
                this.lines.dispose(),
                e.prototype.dispose.call(this)
            }),
            (t.prototype._onConfigurationChanged = function(e, t) {
              var n = this.getCenteredRangeInViewport(),
                i = !1,
                o = this.configuration.editor
              if (
                (this.lines.setWrappingSettings(
                  o.wrappingInfo.wrappingIndent,
                  o.wrappingInfo.wrappingColumn,
                  o.fontInfo.typicalFullwidthCharacterWidth /
                    o.fontInfo.typicalHalfwidthCharacterWidth
                ) &&
                  (e.emit(new h.ViewFlushedEvent()),
                  e.emit(new h.ViewLineMappingChangedEvent()),
                  e.emit(new h.ViewDecorationsChangedEvent()),
                  this.decorations.onLineMappingChanged(),
                  this.viewLayout.onFlushed(this.getLineCount()),
                  0 !== this.viewLayout.getScrollTop() && (i = !0)),
                t.readOnly &&
                  (this.decorations.reset(),
                  e.emit(new h.ViewDecorationsChangedEvent())),
                e.emit(new h.ViewConfigurationChangedEvent(t)),
                this.viewLayout.onConfigurationChanged(t),
                i && n)
              ) {
                var r = this.coordinatesConverter.convertModelRangeToViewRange(
                  n
                )
                e.emit(new h.ViewRevealRangeRequestEvent(r, 1, !1))
              }
            }),
            (t.prototype._onModelEvents = function(e, t) {
              for (var n = 0, o = t.length; n < o; n++)
                if (
                  t[n].type === g.TextModelEventType.ModelRawContentChanged2
                ) {
                  ;(this._centeredViewLine = -1),
                    this.configuration.setMaxLineNumber(
                      this.model.getLineCount()
                    )
                  break
                }
              for (var r = !1, s = !1, n = 0, o = t.length; n < o; n++) {
                var a = t[n],
                  u = a.type,
                  l = a.data
                switch (u) {
                  case g.TextModelEventType.ModelRawContentChanged2:
                    for (
                      var c = (x = l).changes,
                        d = x.versionId,
                        p = 0,
                        f = c.length;
                      p < f;
                      p++
                    ) {
                      var m = c[p]
                      switch (m.changeType) {
                        case 1:
                          this.lines.onModelFlushed(),
                            e.emit(new h.ViewFlushedEvent()),
                            this.decorations.reset(),
                            this.viewLayout.onFlushed(this.getLineCount()),
                            (r = !0)
                          break
                        case 3:
                          null !==
                            (C = this.lines.onModelLinesDeleted(
                              d,
                              m.fromLineNumber,
                              m.toLineNumber
                            )) &&
                            (e.emit(C),
                            this.viewLayout.onLinesDeleted(
                              C.fromLineNumber,
                              C.toLineNumber
                            )),
                            (r = !0)
                          break
                        case 4:
                          null !==
                            (b = this.lines.onModelLinesInserted(
                              d,
                              m.fromLineNumber,
                              m.toLineNumber,
                              m.detail.split('\n')
                            )) &&
                            (e.emit(b),
                            this.viewLayout.onLinesInserted(
                              b.fromLineNumber,
                              b.toLineNumber
                            )),
                            (r = !0)
                          break
                        case 2:
                          var v = this.lines.onModelLineChanged(
                              d,
                              m.lineNumber,
                              m.detail
                            ),
                            _ = v[0],
                            y = v[1],
                            b = v[2],
                            C = v[3]
                          ;(s = _),
                            y && e.emit(y),
                            b &&
                              (e.emit(b),
                              this.viewLayout.onLinesInserted(
                                b.fromLineNumber,
                                b.toLineNumber
                              )),
                            C &&
                              (e.emit(C),
                              this.viewLayout.onLinesDeleted(
                                C.fromLineNumber,
                                C.toLineNumber
                              ))
                      }
                    }
                    this.lines.acceptVersionId(d)
                    break
                  case g.TextModelEventType.ModelTokensChanged:
                    for (
                      var w = [], p = 0, f = (x = l).ranges.length;
                      p < f;
                      p++
                    ) {
                      var S = x.ranges[p],
                        E = this.coordinatesConverter.convertModelPositionToViewPosition(
                          new i.Position(S.fromLineNumber, 1)
                        ).lineNumber,
                        L = this.coordinatesConverter.convertModelPositionToViewPosition(
                          new i.Position(
                            S.toLineNumber,
                            this.model.getLineMaxColumn(S.toLineNumber)
                          )
                        ).lineNumber
                      w[p] = { fromLineNumber: E, toLineNumber: L }
                    }
                    e.emit(new h.ViewTokensChangedEvent(w))
                    break
                  case g.TextModelEventType.ModelLanguageChanged:
                  case g.TextModelEventType.ModelContentChanged:
                    break
                  case g.TextModelEventType.ModelOptionsChanged:
                    this.lines.setTabSize(this.model.getOptions().tabSize) &&
                      (e.emit(new h.ViewFlushedEvent()),
                      e.emit(new h.ViewLineMappingChangedEvent()),
                      e.emit(new h.ViewDecorationsChangedEvent()),
                      this.decorations.onLineMappingChanged(),
                      this.viewLayout.onFlushed(this.getLineCount()))
                    break
                  case g.TextModelEventType.ModelDecorationsChanged:
                    var x = l
                    this.decorations.onModelDecorationsChanged(x),
                      e.emit(new h.ViewDecorationsChangedEvent())
                    break
                  case g.TextModelEventType.ModelDispose:
                    break
                  default:
                    console.info('View received unknown event: '),
                      console.info(u, l)
                }
              }
              !r &&
                s &&
                (e.emit(new h.ViewLineMappingChangedEvent()),
                e.emit(new h.ViewDecorationsChangedEvent()),
                this.decorations.onLineMappingChanged())
            }),
            (t.prototype.setHiddenAreas = function(e) {
              var t = new c.ViewEventsCollector()
              this.lines.setHiddenAreas(e) &&
                (t.emit(new h.ViewFlushedEvent()),
                t.emit(new h.ViewLineMappingChangedEvent()),
                t.emit(new h.ViewDecorationsChangedEvent()),
                this.decorations.onLineMappingChanged(),
                this.viewLayout.onFlushed(this.getLineCount())),
                this._emit(t.finalize())
            }),
            (t.prototype.getCenteredRangeInViewport = function() {
              if (-1 === this._centeredViewLine) return null
              var e = this._centeredViewLine,
                t = new o.Range(
                  e,
                  this.getLineMinColumn(e),
                  e,
                  this.getLineMaxColumn(e)
                )
              return this.coordinatesConverter.convertViewRangeToModelRange(t)
            }),
            (t.prototype.getCompletelyVisibleViewRange = function() {
              var e = this.viewLayout.getLinesViewportData(),
                t = e.completelyVisibleStartLineNumber,
                n = e.completelyVisibleEndLineNumber
              return new o.Range(
                t,
                this.getLineMinColumn(t),
                n,
                this.getLineMaxColumn(n)
              )
            }),
            (t.prototype.getCompletelyVisibleViewRangeAtScrollTop = function(
              e
            ) {
              var t = this.viewLayout.getLinesViewportDataAtScrollTop(e),
                n = t.completelyVisibleStartLineNumber,
                i = t.completelyVisibleEndLineNumber
              return new o.Range(
                n,
                this.getLineMinColumn(n),
                i,
                this.getLineMaxColumn(i)
              )
            }),
            (t.prototype.getTabSize = function() {
              return this.model.getOptions().tabSize
            }),
            (t.prototype.getLineCount = function() {
              return this.lines.getViewLineCount()
            }),
            (t.prototype.setViewport = function(e, t, n) {
              ;(this._centeredViewLine = n), this.lines.warmUpLookupCache(e, t)
            }),
            (t.prototype.getLineIndentGuide = function(e) {
              return this.lines.getViewLineIndentGuide(e)
            }),
            (t.prototype.getLineContent = function(e) {
              return this.lines.getViewLineContent(e)
            }),
            (t.prototype.getLineMinColumn = function(e) {
              return this.lines.getViewLineMinColumn(e)
            }),
            (t.prototype.getLineMaxColumn = function(e) {
              return this.lines.getViewLineMaxColumn(e)
            }),
            (t.prototype.getLineFirstNonWhitespaceColumn = function(e) {
              var t = n.firstNonWhitespaceIndex(this.getLineContent(e))
              return -1 === t ? 0 : t + 1
            }),
            (t.prototype.getLineLastNonWhitespaceColumn = function(e) {
              var t = n.lastNonWhitespaceIndex(this.getLineContent(e))
              return -1 === t ? 0 : t + 2
            }),
            (t.prototype.getDecorationsInViewport = function(e) {
              return this.decorations.getDecorationsViewportData(e).decorations
            }),
            (t.prototype.getViewLineRenderingData = function(e, t) {
              var n = this.model.mightContainRTL(),
                i = this.model.mightContainNonBasicASCII(),
                o = this.getTabSize(),
                r = this.lines.getViewLineData(t),
                s = this.decorations.getDecorationsViewportData(e)
                  .inlineDecorations[t - e.startLineNumber]
              return new c.ViewLineRenderingData(
                r.minColumn,
                r.maxColumn,
                r.content,
                n,
                i,
                r.tokens,
                s,
                o
              )
            }),
            (t.prototype.getMinimapLinesRenderingData = function(e, t, n) {
              var i = this.lines.getViewLinesData(e, t, n)
              return new c.MinimapLinesRenderingData(this.getTabSize(), i)
            }),
            (t.prototype.getAllOverviewRulerDecorations = function() {
              return this.decorations.getAllOverviewRulerDecorations()
            }),
            (t.prototype.getValueInRange = function(e, t) {
              var n = this.coordinatesConverter.convertViewRangeToModelRange(e)
              return this.model.getValueInRange(n, t)
            }),
            (t.prototype.getModelLineMaxColumn = function(e) {
              return this.model.getLineMaxColumn(e)
            }),
            (t.prototype.validateModelPosition = function(e) {
              return this.model.validatePosition(e)
            }),
            (t.prototype.getPlainTextToCopy = function(e, t) {
              var n = this.model.getEOL()
              if (1 === e.length) {
                var r = e[0]
                if (r.isEmpty()) {
                  if (t) {
                    var a = this.coordinatesConverter.convertViewPositionToModelPosition(
                      new i.Position(r.startLineNumber, 1)
                    ).lineNumber
                    return this.model.getLineContent(a) + n
                  }
                  return ''
                }
                return this.getValueInRange(
                  r,
                  s.EndOfLinePreference.TextDefined
                )
              }
              e = e.slice(0).sort(o.Range.compareRangesUsingStarts)
              for (var u = [], l = 0; l < e.length; l++)
                u.push(
                  this.getValueInRange(e[l], s.EndOfLinePreference.TextDefined)
                )
              return u.join(n)
            }),
            (t.prototype.getHTMLToCopy = function(e, t) {
              if (1 === this.model.getLanguageIdentifier().id) return null
              if (1 !== e.length) return null
              var n = this.coordinatesConverter.convertViewRangeToModelRange(
                e[0]
              )
              if (n.isEmpty()) {
                if (!t) return null
                var i = n.startLineNumber
                n = new o.Range(
                  i,
                  this.model.getLineMinColumn(i),
                  i,
                  this.model.getLineMaxColumn(i)
                )
              }
              var r = this.configuration.editor.fontInfo,
                s = this._getColorMap()
              return (
                '<div style="color: ' +
                s[1] +
                ';background-color: ' +
                s[2] +
                ';font-family: ' +
                r.fontFamily +
                ';font-weight: ' +
                r.fontWeight +
                ';font-size: ' +
                r.fontSize +
                'px;line-height: ' +
                r.lineHeight +
                'px;white-space: pre;">' +
                this._getHTMLToCopy(n, s) +
                '</div>'
              )
            }),
            (t.prototype._getHTMLToCopy = function(e, t) {
              for (
                var n = e.startLineNumber,
                  i = e.startColumn,
                  o = e.endLineNumber,
                  r = e.endColumn,
                  s = this.getTabSize(),
                  a = '',
                  l = n;
                l <= o;
                l++
              ) {
                var c = this.model.getLineTokens(l),
                  d = c.getLineContent(),
                  h = l === n ? i - 1 : 0,
                  p = l === o ? r - 1 : d.length
                a +=
                  '' === d
                    ? '<br>'
                    : u.tokenizeLineToHTML(d, c.inflate(), t, h, p, s)
              }
              return a
            }),
            (t.prototype._getColorMap = function() {
              for (
                var e = a.TokenizationRegistry.getColorMap(),
                  t = [null],
                  n = 1,
                  i = e.length;
                n < i;
                n++
              )
                t[n] = e[n].toRGBHex()
              return t
            }),
            t
          )
        })(h.ViewEventEmitter)
        t.ViewModel = y
      }),
      define(d[321], h([0, 1, 21, 33]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = (function() {
          function e(e) {
            ;(this._editor = e),
              (this._decorations = []),
              (this._findScopeDecorationId = null),
              (this._rangeHighlightDecorationId = null),
              (this._highlightedDecorationId = null),
              (this._startPosition = this._editor.getPosition())
          }
          return (
            (e.prototype.dispose = function() {
              this._editor.deltaDecorations(this._allDecorations(), []),
                (this._editor = null),
                (this._decorations = []),
                (this._findScopeDecorationId = null),
                (this._rangeHighlightDecorationId = null),
                (this._highlightedDecorationId = null),
                (this._startPosition = null)
            }),
            (e.prototype.reset = function() {
              ;(this._decorations = []),
                (this._findScopeDecorationId = null),
                (this._rangeHighlightDecorationId = null),
                (this._highlightedDecorationId = null)
            }),
            (e.prototype.getCount = function() {
              return this._decorations.length
            }),
            (e.prototype.getFindScope = function() {
              return this._findScopeDecorationId
                ? this._editor
                    .getModel()
                    .getDecorationRange(this._findScopeDecorationId)
                : null
            }),
            (e.prototype.getStartPosition = function() {
              return this._startPosition
            }),
            (e.prototype.setStartPosition = function(e) {
              ;(this._startPosition = e), this.setCurrentFindMatch(null)
            }),
            (e.prototype.getCurrentMatchesPosition = function(e) {
              for (var t = 0, n = this._decorations.length; t < n; t++) {
                var i = this._editor
                  .getModel()
                  .getDecorationRange(this._decorations[t])
                if (e.equalsRange(i)) return t + 1
              }
              return 1
            }),
            (e.prototype.setCurrentFindMatch = function(t) {
              var n = this,
                i = null,
                o = 0
              if (t)
                for (var r = 0, s = this._decorations.length; r < s; r++) {
                  var a = this._editor
                    .getModel()
                    .getDecorationRange(this._decorations[r])
                  if (t.equalsRange(a)) {
                    ;(i = this._decorations[r]), (o = r + 1)
                    break
                  }
                }
              return (
                (null === this._highlightedDecorationId && null === i) ||
                  this._editor.changeDecorations(function(t) {
                    if (
                      (null !== n._highlightedDecorationId &&
                        (t.changeDecorationOptions(
                          n._highlightedDecorationId,
                          e.createFindMatchDecorationOptions(!1)
                        ),
                        (n._highlightedDecorationId = null)),
                      null !== i &&
                        ((n._highlightedDecorationId = i),
                        t.changeDecorationOptions(
                          n._highlightedDecorationId,
                          e.createFindMatchDecorationOptions(!0)
                        )),
                      null !== n._rangeHighlightDecorationId &&
                        (t.removeDecoration(n._rangeHighlightDecorationId),
                        (n._rangeHighlightDecorationId = null)),
                      null !== i)
                    ) {
                      var o = n._editor.getModel().getDecorationRange(i)
                      n._rangeHighlightDecorationId = t.addDecoration(
                        o,
                        e._RANGE_HIGHLIGHT_DECORATION
                      )
                    }
                  }),
                o
              )
            }),
            (e.prototype.set = function(t, n) {
              var i = t.map(function(t) {
                return {
                  range: t,
                  options: e.createFindMatchDecorationOptions(!1)
                }
              })
              n && i.unshift({ range: n, options: e._FIND_SCOPE_DECORATION })
              var o = this._editor.deltaDecorations(this._allDecorations(), i)
              ;(this._findScopeDecorationId = n ? o.shift() : null),
                (this._decorations = o),
                (this._rangeHighlightDecorationId = null),
                (this._highlightedDecorationId = null)
            }),
            (e.prototype._allDecorations = function() {
              var e = []
              return (
                (e = e.concat(this._decorations)),
                this._findScopeDecorationId &&
                  e.push(this._findScopeDecorationId),
                this._rangeHighlightDecorationId &&
                  e.push(this._rangeHighlightDecorationId),
                e
              )
            }),
            (e.createFindMatchDecorationOptions = function(e) {
              return e
                ? this._CURRENT_FIND_MATCH_DECORATION
                : this._FIND_MATCH_DECORATION
            }),
            e
          )
        })()
        ;(o._CURRENT_FIND_MATCH_DECORATION = i.ModelDecorationOptions.register({
          stickiness: n.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
          className: 'currentFindMatch',
          showIfCollapsed: !0,
          overviewRuler: {
            color: 'rgba(246, 185, 77, 0.7)',
            darkColor: 'rgba(246, 185, 77, 0.7)',
            position: n.OverviewRulerLane.Center
          }
        })),
          (o._FIND_MATCH_DECORATION = i.ModelDecorationOptions.register({
            stickiness: n.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
            className: 'findMatch',
            showIfCollapsed: !0,
            overviewRuler: {
              color: 'rgba(246, 185, 77, 0.7)',
              darkColor: 'rgba(246, 185, 77, 0.7)',
              position: n.OverviewRulerLane.Center
            }
          })),
          (o._RANGE_HIGHLIGHT_DECORATION = i.ModelDecorationOptions.register({
            stickiness: n.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
            className: 'rangeHighlight',
            isWholeLine: !0
          })),
          (o._FIND_SCOPE_DECORATION = i.ModelDecorationOptions.register({
            className: 'findScope',
            isWholeLine: !0
          })),
          (t.FindDecorations = o)
      }),
      define(d[128], h([
        0,
        1,
        18,
        3,
        246,
        74,
        12,
        2,
        21,
        321,
        245,
        22,
        184,
        54
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.ToggleCaseSensitiveKeybinding = {
            primary: 545,
            mac: { primary: 2593 }
          }),
          (t.ToggleWholeWordKeybinding = {
            primary: 565,
            mac: { primary: 2613 }
          }),
          (t.ToggleRegexKeybinding = { primary: 560, mac: { primary: 2608 } }),
          (t.ToggleSearchScopeKeybinding = {
            primary: 554,
            mac: { primary: 2602 }
          }),
          (t.ShowPreviousFindTermKeybinding = { primary: 528 }),
          (t.ShowNextFindTermKeybinding = { primary: 530 }),
          (t.FIND_IDS = {
            StartFindAction: 'actions.find',
            NextMatchFindAction: 'editor.action.nextMatchFindAction',
            PreviousMatchFindAction: 'editor.action.previousMatchFindAction',
            NextSelectionMatchFindAction:
              'editor.action.nextSelectionMatchFindAction',
            PreviousSelectionMatchFindAction:
              'editor.action.previousSelectionMatchFindAction',
            AddSelectionToNextFindMatchAction:
              'editor.action.addSelectionToNextFindMatch',
            AddSelectionToPreviousFindMatchAction:
              'editor.action.addSelectionToPreviousFindMatch',
            MoveSelectionToNextFindMatchAction:
              'editor.action.moveSelectionToNextFindMatch',
            MoveSelectionToPreviousFindMatchAction:
              'editor.action.moveSelectionToPreviousFindMatch',
            StartFindReplaceAction: 'editor.action.startFindReplaceAction',
            CloseFindWidgetCommand: 'closeFindWidget',
            ToggleCaseSensitiveCommand: 'toggleFindCaseSensitive',
            ToggleWholeWordCommand: 'toggleFindWholeWord',
            ToggleRegexCommand: 'toggleFindRegex',
            ToggleSearchScopeCommand: 'toggleFindInSelection',
            ReplaceOneAction: 'editor.action.replaceOne',
            ReplaceAllAction: 'editor.action.replaceAll',
            SelectAllMatchesAction: 'editor.action.selectAllMatches',
            ShowPreviousFindTermAction: 'find.history.showPrevious',
            ShowNextFindTermAction: 'find.history.showNext'
          }),
          (t.MATCHES_LIMIT = 999)
        var f = (function() {
          function e(e, t) {
            var i = this
            ;(this._editor = e),
              (this._state = t),
              (this._toDispose = []),
              (this._isDisposed = !1),
              (this._decorations = new l.FindDecorations(e)),
              this._toDispose.push(this._decorations),
              (this._updateDecorationsScheduler = new n.RunOnceScheduler(
                function() {
                  return i.research(!1)
                },
                100
              )),
              this._toDispose.push(this._updateDecorationsScheduler),
              this._toDispose.push(
                this._editor.onDidChangeCursorPosition(function(e) {
                  ;(e.reason !== p.CursorChangeReason.Explicit &&
                    e.reason !== p.CursorChangeReason.Undo &&
                    e.reason !== p.CursorChangeReason.Redo) ||
                    i._decorations.setStartPosition(i._editor.getPosition())
                })
              ),
              (this._ignoreModelContentChanged = !1),
              this._toDispose.push(
                this._editor.onDidChangeModelContent(function(e) {
                  i._ignoreModelContentChanged ||
                    (e.isFlush && i._decorations.reset(),
                    i._decorations.setStartPosition(i._editor.getPosition()),
                    i._updateDecorationsScheduler.schedule())
                })
              ),
              this._toDispose.push(
                this._state.addChangeListener(function(e) {
                  return i._onStateChanged(e)
                })
              ),
              this.research(!1, this._state.searchScope)
          }
          return (
            (e.prototype.dispose = function() {
              ;(this._isDisposed = !0),
                (this._toDispose = i.dispose(this._toDispose))
            }),
            (e.prototype._onStateChanged = function(e) {
              this._isDisposed ||
                ((e.searchString ||
                  e.isReplaceRevealed ||
                  e.isRegex ||
                  e.wholeWord ||
                  e.matchCase ||
                  e.searchScope) &&
                  (e.searchScope
                    ? this.research(e.moveCursor, this._state.searchScope)
                    : this.research(e.moveCursor)))
            }),
            (e._getSearchRange = function(e, t, n) {
              var i
              return (
                (i = t ? e.getEditableRange() : e.getFullModelRange()),
                n && (i = i.intersectRanges(n)),
                i
              )
            }),
            (e.prototype.research = function(e, n) {
              var i = null
              null !==
                (i = void 0 !== n ? n : this._decorations.getFindScope()) &&
                i.startLineNumber !== i.endLineNumber &&
                (i = new a.Range(
                  i.startLineNumber,
                  1,
                  i.endLineNumber,
                  this._editor.getModel().getLineMaxColumn(i.endLineNumber)
                ))
              var o = this._findMatches(i, !1, t.MATCHES_LIMIT)
              this._decorations.set(
                o.map(function(e) {
                  return e.range
                }),
                i
              ),
                this._state.changeMatchInfo(
                  this._decorations.getCurrentMatchesPosition(
                    this._editor.getSelection()
                  ),
                  this._decorations.getCount(),
                  void 0
                ),
                e && this._moveToNextMatch(this._decorations.getStartPosition())
            }),
            (e.prototype._hasMatches = function() {
              return this._state.matchesCount > 0
            }),
            (e.prototype._cannotFind = function() {
              if (!this._hasMatches()) {
                var e = this._decorations.getFindScope()
                return (
                  e && this._editor.revealRangeInCenterIfOutsideViewport(e), !0
                )
              }
              return !1
            }),
            (e.prototype._setCurrentFindMatch = function(e) {
              var t = this._decorations.setCurrentFindMatch(e)
              this._state.changeMatchInfo(t, this._decorations.getCount(), e),
                this._editor.setSelection(e),
                this._editor.revealRangeInCenterIfOutsideViewport(e)
            }),
            (e.prototype._moveToPrevMatch = function(t, n) {
              if ((void 0 === n && (n = !1), !this._cannotFind())) {
                var i = this._decorations.getFindScope(),
                  o = e._getSearchRange(
                    this._editor.getModel(),
                    this._state.isReplaceRevealed,
                    i
                  )
                o.getEndPosition().isBefore(t) && (t = o.getEndPosition()),
                  t.isBefore(o.getStartPosition()) && (t = o.getEndPosition())
                var r = t.lineNumber,
                  a = t.column,
                  u = this._editor.getModel(),
                  l = new s.Position(r, a),
                  c = u.findPreviousMatch(
                    this._state.searchString,
                    l,
                    this._state.isRegex,
                    this._state.matchCase,
                    this._state.wholeWord
                      ? this._editor.getConfiguration().wordSeparators
                      : null,
                    !1
                  )
                return (
                  c &&
                    c.range.isEmpty() &&
                    c.range.getStartPosition().equals(l) &&
                    ((this._state.isRegex &&
                      (this._state.searchString.indexOf('^') >= 0 ||
                        this._state.searchString.indexOf('$') >= 0)) ||
                    1 === a
                      ? (1 === r ? (r = u.getLineCount()) : r--,
                        (a = u.getLineMaxColumn(r)))
                      : a--,
                    (l = new s.Position(r, a)),
                    (c = u.findPreviousMatch(
                      this._state.searchString,
                      l,
                      this._state.isRegex,
                      this._state.matchCase,
                      this._state.wholeWord
                        ? this._editor.getConfiguration().wordSeparators
                        : null,
                      !1
                    ))),
                  c
                    ? n || o.containsRange(c.range)
                      ? void this._setCurrentFindMatch(c.range)
                      : this._moveToPrevMatch(c.range.getStartPosition(), !0)
                    : null
                )
              }
            }),
            (e.prototype.moveToPrevMatch = function() {
              this._moveToPrevMatch(
                this._editor.getSelection().getStartPosition()
              )
            }),
            (e.prototype._moveToNextMatch = function(e) {
              var t = this._getNextMatch(e, !1, !0)
              t && this._setCurrentFindMatch(t.range)
            }),
            (e.prototype._getNextMatch = function(t, n, i, o) {
              if ((void 0 === o && (o = !1), this._cannotFind())) return null
              var r = this._decorations.getFindScope(),
                a = e._getSearchRange(
                  this._editor.getModel(),
                  this._state.isReplaceRevealed,
                  r
                )
              a.getEndPosition().isBefore(t) && (t = a.getStartPosition()),
                t.isBefore(a.getStartPosition()) && (t = a.getStartPosition())
              var u = t.lineNumber,
                l = t.column,
                c = this._editor.getModel(),
                d = new s.Position(u, l),
                h = c.findNextMatch(
                  this._state.searchString,
                  d,
                  this._state.isRegex,
                  this._state.matchCase,
                  this._state.wholeWord
                    ? this._editor.getConfiguration().wordSeparators
                    : null,
                  n
                )
              return (
                i &&
                  h &&
                  h.range.isEmpty() &&
                  h.range.getStartPosition().equals(d) &&
                  ((this._state.isRegex &&
                    (this._state.searchString.indexOf('^') >= 0 ||
                      this._state.searchString.indexOf('$') >= 0)) ||
                  l === c.getLineMaxColumn(u)
                    ? (u === c.getLineCount() ? (u = 1) : u++, (l = 1))
                    : l++,
                  (d = new s.Position(u, l)),
                  (h = c.findNextMatch(
                    this._state.searchString,
                    d,
                    this._state.isRegex,
                    this._state.matchCase,
                    this._state.wholeWord
                      ? this._editor.getConfiguration().wordSeparators
                      : null,
                    n
                  ))),
                h
                  ? o || a.containsRange(h.range)
                    ? h
                    : this._getNextMatch(h.range.getEndPosition(), n, i, !0)
                  : null
              )
            }),
            (e.prototype.moveToNextMatch = function() {
              this._moveToNextMatch(
                this._editor.getSelection().getEndPosition()
              )
            }),
            (e.prototype._getReplacePattern = function() {
              return this._state.isRegex
                ? o.parseReplaceString(this._state.replaceString)
                : o.ReplacePattern.fromStaticValue(this._state.replaceString)
            }),
            (e.prototype.replace = function() {
              if (this._hasMatches()) {
                var e = this._getReplacePattern(),
                  t = this._editor.getSelection(),
                  n = this._getNextMatch(
                    t.getStartPosition(),
                    e.hasReplacementPatterns,
                    !1
                  )
                if (n)
                  if (t.equalsRange(n.range)) {
                    var i = e.buildReplaceString(n.matches),
                      o = new r.ReplaceCommand(t, i)
                    this._executeEditorCommand('replace', o),
                      this._decorations.setStartPosition(
                        new s.Position(
                          t.startLineNumber,
                          t.startColumn + i.length
                        )
                      ),
                      this.research(!0)
                  } else
                    this._decorations.setStartPosition(
                      this._editor.getPosition()
                    ),
                      this._setCurrentFindMatch(n.range)
              }
            }),
            (e.prototype._findMatches = function(t, n, i) {
              var o = e._getSearchRange(
                this._editor.getModel(),
                this._state.isReplaceRevealed,
                t
              )
              return this._editor
                .getModel()
                .findMatches(
                  this._state.searchString,
                  o,
                  this._state.isRegex,
                  this._state.matchCase,
                  this._state.wholeWord
                    ? this._editor.getConfiguration().wordSeparators
                    : null,
                  n,
                  i
                )
            }),
            (e.prototype.replaceAll = function() {
              if (this._hasMatches()) {
                var e = this._decorations.getFindScope()
                null === e && this._state.matchesCount >= t.MATCHES_LIMIT
                  ? this._largeReplaceAll()
                  : this._regularReplaceAll(e),
                  this.research(!1)
              }
            }),
            (e.prototype._largeReplaceAll = function() {
              var e = new h.SearchParams(
                this._state.searchString,
                this._state.isRegex,
                this._state.matchCase,
                this._state.wholeWord
                  ? this._editor.getConfiguration().wordSeparators
                  : null
              ).parseSearchRequest()
              if (e) {
                var t,
                  n = this._editor.getModel(),
                  i = n.getValue(u.EndOfLinePreference.LF),
                  o = n.getFullModelRange(),
                  s = this._getReplacePattern()
                t = s.hasReplacementPatterns
                  ? i.replace(e.regex, function() {
                      return s.buildReplaceString(arguments)
                    })
                  : i.replace(e.regex, s.buildReplaceString(null))
                var a = new r.ReplaceCommandThatPreservesSelection(
                  o,
                  t,
                  this._editor.getSelection()
                )
                this._executeEditorCommand('replaceAll', a)
              }
            }),
            (e.prototype._regularReplaceAll = function(e) {
              for (
                var t = this._getReplacePattern(),
                  n = this._findMatches(
                    e,
                    t.hasReplacementPatterns,
                    1073741824
                  ),
                  i = [],
                  o = 0,
                  r = n.length;
                o < r;
                o++
              )
                i[o] = t.buildReplaceString(n[o].matches)
              var s = new c.ReplaceAllCommand(
                this._editor.getSelection(),
                n.map(function(e) {
                  return e.range
                }),
                i
              )
              this._executeEditorCommand('replaceAll', s)
            }),
            (e.prototype.selectAllMatches = function() {
              if (this._hasMatches()) {
                for (
                  var e = this._decorations.getFindScope(),
                    t = this._findMatches(e, !1, 1073741824).map(function(e) {
                      return new d.Selection(
                        e.range.startLineNumber,
                        e.range.startColumn,
                        e.range.endLineNumber,
                        e.range.endColumn
                      )
                    }),
                    n = this._editor.getSelection(),
                    i = 0,
                    o = t.length;
                  i < o;
                  i++
                )
                  if (t[i].equalsRange(n)) {
                    t = [n].concat(t.slice(0, i)).concat(t.slice(i + 1))
                    break
                  }
                this._editor.setSelections(t)
              }
            }),
            (e.prototype._executeEditorCommand = function(e, t) {
              try {
                ;(this._ignoreModelContentChanged = !0),
                  this._editor.pushUndoStop(),
                  this._editor.executeCommand(e, t),
                  this._editor.pushUndoStop()
              } finally {
                this._ignoreModelContentChanged = !1
              }
            }),
            e
          )
        })()
        t.FindModelBoundToEditorModel = f
      }),
      define(d[323], h([0, 1, 21, 2, 33]), function(e, t, n, i, o) {
        'use strict'
        function r(e, t, n) {
          for (var i = null, o = 0, r = e.length; o < r; o++) {
            var s = e[o],
              l = s.getDecorationRange(t)
            if (l && (a(l, n) && (i = s), u(l, n))) break
          }
          return i
        }
        function s(e, t, n, i) {
          for (var o = e.indexOf(n) + 1; o < e.length; o++) {
            var r = e[o],
              s = r.getDecorationRange(t)
            if (s && u(s, i)) {
              if (!c(n.foldingRange, s)) return null
              if (r.isCollapsed) return r
            }
          }
          return null
        }
        function a(e, t) {
          return t >= e.startLineNumber && t <= e.endLineNumber
        }
        function u(e, t) {
          return t < e.startLineNumber
        }
        function l(e, t) {
          return t > e.endLineNumber
        }
        function c(e, t) {
          return e instanceof i.Range && t instanceof i.Range
            ? e.containsRange(t)
            : e.startLineNumber <= t.startLineNumber &&
                e.endLineNumber >= t.endLineNumber
        }
        function d(e, t, n, i, o) {
          return (o ? new f(e, t, n) : new p(e, t, n)).getRegionsTill(i)
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.toString = function(e) {
            return (
              (e ? e.startLineNumber + '/' + e.endLineNumber : 'null') +
              (e.isCollapsed ? ' (collapsed)' : '') +
              ' - ' +
              e.indent
            )
          })
        var h = (function() {
          function e(e, t, n) {
            ;(this.decorationIds = []), this.update(e, t, n)
          }
          return (
            Object.defineProperty(e.prototype, 'isCollapsed', {
              get: function() {
                return this._isCollapsed
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'isExpanded', {
              get: function() {
                return !this._isCollapsed
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'indent', {
              get: function() {
                return this._indent
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'foldingRange', {
              get: function() {
                return this._lastRange
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'startLineNumber', {
              get: function() {
                return this._lastRange
                  ? this._lastRange.startLineNumber
                  : void 0
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'endLineNumber', {
              get: function() {
                return this._lastRange ? this._lastRange.endLineNumber : void 0
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.setCollapsed = function(e, t) {
              ;(this._isCollapsed = e),
                this.decorationIds.length > 0 &&
                  t.changeDecorationOptions(
                    this.decorationIds[0],
                    this.getVisualDecorationOptions()
                  )
            }),
            (e.prototype.getDecorationRange = function(e) {
              return this.decorationIds.length > 0
                ? e.getDecorationRange(this.decorationIds[1])
                : null
            }),
            (e.prototype.getVisualDecorationOptions = function() {
              return this._isCollapsed
                ? e._COLLAPSED_VISUAL_DECORATION
                : e._EXPANDED_VISUAL_DECORATION
            }),
            (e.prototype.getRangeDecorationOptions = function() {
              return e._RANGE_DECORATION
            }),
            (e.prototype.update = function(e, t, n) {
              ;(this._lastRange = e),
                (this._isCollapsed = !!e.isCollapsed),
                (this._indent = e.indent)
              var i = [],
                o = t.getLineMaxColumn(e.startLineNumber),
                r = {
                  startLineNumber: e.startLineNumber,
                  startColumn: o - 1,
                  endLineNumber: e.startLineNumber,
                  endColumn: o
                }
              i.push({ range: r, options: this.getVisualDecorationOptions() })
              var s = {
                startLineNumber: e.startLineNumber,
                startColumn: 1,
                endLineNumber: e.endLineNumber,
                endColumn: t.getLineMaxColumn(e.endLineNumber)
              }
              i.push({ range: s, options: this.getRangeDecorationOptions() }),
                (this.decorationIds = n.deltaDecorations(this.decorationIds, i))
            }),
            (e.prototype.dispose = function(e) {
              ;(this._lastRange = null),
                (this.decorationIds = e.deltaDecorations(
                  this.decorationIds,
                  []
                ))
            }),
            (e.prototype.toString = function() {
              var e = this.isCollapsed ? 'collapsed ' : 'expanded '
              return (
                this._lastRange
                  ? (e +=
                      this._lastRange.startLineNumber +
                      '/' +
                      this._lastRange.endLineNumber)
                  : (e += 'no range'),
                e
              )
            }),
            e
          )
        })()
        ;(h._COLLAPSED_VISUAL_DECORATION = o.ModelDecorationOptions.register({
          stickiness: n.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
          afterContentClassName: 'inline-folded',
          linesDecorationsClassName: 'folding collapsed'
        })),
          (h._EXPANDED_VISUAL_DECORATION = o.ModelDecorationOptions.register({
            stickiness: n.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
            linesDecorationsClassName: 'folding'
          })),
          (h._RANGE_DECORATION = o.ModelDecorationOptions.register({
            stickiness: n.TrackedRangeStickiness.GrowsOnlyWhenTypingBefore
          })),
          (t.CollapsibleRegion = h),
          (t.getCollapsibleRegionsToFoldAtLine = function(e, t, n, i, o) {
            var s = r(e, t, n)
            return s
              ? 1 === i
                ? [s]
                : d(s, e, t, i, o).filter(function(e) {
                    return !e.isCollapsed
                  })
              : []
          }),
          (t.getCollapsibleRegionsToUnfoldAtLine = function(e, t, n, i) {
            var o = r(e, t, n)
            if (!o) return []
            if (1 === i) {
              var a = o.isCollapsed ? o : s(e, t, o, n)
              return a ? [a] : []
            }
            return d(o, e, t, i, !1).filter(function(e) {
              return e.isCollapsed
            })
          }),
          (t.doesLineBelongsToCollapsibleRegion = a)
        var p = (function() {
            function e(e, t, n) {
              ;(this.region = e), (this.children = [])
              for (var i = t.indexOf(e) + 1; i < t.length; i++) {
                var o = t[i],
                  r = o.getDecorationRange(n)
                if (
                  r &&
                  (c(e.foldingRange, r) &&
                    (i = this.processChildRegion(o, t, n, i)),
                  u(r, e.foldingRange.endLineNumber))
                )
                  break
              }
            }
            return (
              (e.prototype.processChildRegion = function(t, n, i, o) {
                var r = new e(t, n, i)
                return (
                  this.children.push(r),
                  (this.lastChildIndex = o),
                  r.children.length > 0 ? r.lastChildIndex : o
                )
              }),
              (e.prototype.getRegionsTill = function(e) {
                var t = [this.region]
                return (
                  e > 1 &&
                    this.children.forEach(function(n) {
                      return (t = t.concat(n.getRegionsTill(e - 1)))
                    }),
                  t
                )
              }),
              e
            )
          })(),
          f = (function() {
            function e(t, n, i) {
              this.region = t
              for (var o = n.indexOf(t) - 1; o >= 0; o--) {
                var r = n[o],
                  s = r.getDecorationRange(i)
                if (s) {
                  if (c(s, t.foldingRange)) {
                    this.parent = new e(r, n, i)
                    break
                  }
                  if (l(s, t.foldingRange.endLineNumber)) break
                }
              }
            }
            return (
              (e.prototype.getRegionsTill = function(e) {
                var t = [this.region]
                return (
                  this.parent &&
                    e > 1 &&
                    (t = t.concat(this.parent.getRegionsTill(e - 1))),
                  t
                )
              }),
              e
            )
          })()
      }),
      define(d[324], h([
        0,
        1,
        9,
        21,
        57,
        147,
        22,
        2,
        27,
        3,
        262,
        33,
        270
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var h = (function() {
          function e(e, t, n) {
            ;(this._editor = e),
              (this._snippet = t),
              (this._offset = n),
              (this._placeholderGroups = u.groupBy(
                t.placeholders,
                r.Placeholder.compareByIndex
              )),
              (this._placeholderGroupsIdx = -1)
          }
          return (
            (e.prototype.dispose = function() {
              var e = this
              this._placeholderDecorations &&
                this._editor.changeDecorations(function(t) {
                  return e._placeholderDecorations.forEach(function(e) {
                    return t.removeDecoration(e)
                  })
                }),
                (this._placeholderGroups.length = 0)
            }),
            (e.prototype._initDecorations = function() {
              var t = this
              if (!this._placeholderDecorations) {
                this._placeholderDecorations = new Map()
                var n = this._editor.getModel()
                this._editor.changeDecorations(function(i) {
                  for (
                    var o = 0, r = t._snippet.placeholders;
                    o < r.length;
                    o++
                  ) {
                    var s = r[o],
                      u = t._snippet.offset(s),
                      l = t._snippet.fullLen(s),
                      c = a.Range.fromPositions(
                        n.getPositionAt(t._offset + u),
                        n.getPositionAt(t._offset + u + l)
                      ),
                      d = s.isFinalTabstop
                        ? e._decor.inactiveFinal
                        : e._decor.inactive,
                      h = i.addDecoration(c, d)
                    t._placeholderDecorations.set(s, h)
                  }
                })
              }
            }),
            (e.prototype.move = function(t) {
              var n = this
              return (
                this._initDecorations(),
                !0 === t &&
                this._placeholderGroupsIdx < this._placeholderGroups.length - 1
                  ? (this._placeholderGroupsIdx += 1)
                  : !1 === t &&
                    this._placeholderGroupsIdx > 0 &&
                    (this._placeholderGroupsIdx -= 1),
                this._editor.getModel().changeDecorations(function(t) {
                  for (
                    var i = new Set(),
                      o = [],
                      r = 0,
                      a = n._placeholderGroups[n._placeholderGroupsIdx];
                    r < a.length;
                    r++
                  ) {
                    var u = a[r],
                      l = n._placeholderDecorations.get(u),
                      c = n._editor.getModel().getDecorationRange(l)
                    o.push(
                      new s.Selection(
                        c.startLineNumber,
                        c.startColumn,
                        c.endLineNumber,
                        c.endColumn
                      )
                    ),
                      t.changeDecorationOptions(
                        l,
                        u.isFinalTabstop
                          ? e._decor.activeFinal
                          : e._decor.active
                      ),
                      i.add(u)
                    for (
                      var d = 0, h = n._snippet.enclosingPlaceholders(u);
                      d < h.length;
                      d++
                    ) {
                      var p = h[d],
                        f = n._placeholderDecorations.get(p)
                      t.changeDecorationOptions(
                        f,
                        p.isFinalTabstop
                          ? e._decor.activeFinal
                          : e._decor.active
                      ),
                        i.add(p)
                    }
                  }
                  return (
                    n._placeholderDecorations.forEach(function(n, o) {
                      i.has(o) ||
                        t.changeDecorationOptions(
                          n,
                          o.isFinalTabstop
                            ? e._decor.inactiveFinal
                            : e._decor.inactive
                        )
                    }),
                    o
                  )
                })
              )
            }),
            Object.defineProperty(e.prototype, 'isAtFirstPlaceholder', {
              get: function() {
                return (
                  this._placeholderGroupsIdx <= 0 ||
                  0 === this._placeholderGroups.length
                )
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'isAtLastPlaceholder', {
              get: function() {
                return (
                  this._placeholderGroupsIdx ===
                  this._placeholderGroups.length - 1
                )
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'hasPlaceholder', {
              get: function() {
                return this._snippet.placeholders.length > 0
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'placeholderRanges', {
              get: function() {
                var e = this,
                  t = []
                return (
                  this._placeholderDecorations.forEach(function(n, i) {
                    if (!i.isFinalTabstop) {
                      var o = e._editor.getModel().getDecorationRange(n)
                      o && t.push(o)
                    }
                  }),
                  t
                )
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.merge = function(t) {
              var n = this,
                i = this._editor.getModel()
              this._editor.changeDecorations(function(o) {
                for (
                  var s = 0, l = n._placeholderGroups[n._placeholderGroupsIdx];
                  s < l.length;
                  s++
                ) {
                  var c = l[s],
                    d = t.shift()
                  console.assert(!d._placeholderDecorations)
                  for (
                    var h = 0, p = d._snippet.placeholders;
                    h < p.length;
                    h++
                  ) {
                    var f = p[h]
                    f.isFinalTabstop
                      ? (f.index =
                          c.index + d._snippet.placeholders.length / 10)
                      : (f.index = c.index + f.index / 10)
                  }
                  n._snippet.replace(c, d._snippet.children)
                  var g = n._placeholderDecorations.get(c)
                  o.removeDecoration(g), n._placeholderDecorations.delete(c)
                  for (
                    var m = 0, v = d._snippet.placeholders;
                    m < v.length;
                    m++
                  ) {
                    var _ = v[m],
                      y = d._snippet.offset(_),
                      b = d._snippet.fullLen(_),
                      C = a.Range.fromPositions(
                        i.getPositionAt(d._offset + y),
                        i.getPositionAt(d._offset + y + b)
                      ),
                      w = o.addDecoration(C, e._decor.inactive)
                    n._placeholderDecorations.set(_, w)
                  }
                }
                n._placeholderGroups = u.groupBy(
                  n._snippet.placeholders,
                  r.Placeholder.compareByIndex
                )
              })
            }),
            e
          )
        })()
        ;(h._decor = {
          active: d.ModelDecorationOptions.register({
            stickiness: i.TrackedRangeStickiness.AlwaysGrowsWhenTypingAtEdges,
            className: 'snippet-placeholder'
          }),
          inactive: d.ModelDecorationOptions.register({
            stickiness: i.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
            className: 'snippet-placeholder'
          }),
          activeFinal: d.ModelDecorationOptions.register({
            stickiness: i.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
            className: 'finish-snippet-placeholder'
          }),
          inactiveFinal: d.ModelDecorationOptions.register({
            stickiness: i.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
            className: 'finish-snippet-placeholder'
          })
        }),
          (t.OneSnippet = h)
        var p = (function() {
          function e(e, t, n, i) {
            void 0 === n && (n = 0),
              void 0 === i && (i = 0),
              (this._snippets = []),
              (this._editor = e),
              (this._template = t),
              (this._overwriteBefore = n),
              (this._overwriteAfter = i)
          }
          return (
            (e.adjustWhitespace = function(e, t, i) {
              for (
                var o = e.getLineContent(t.lineNumber),
                  r = n.getLeadingWhitespace(o, 0, t.column - 1),
                  s = i.split(/\r\n|\r|\n/),
                  a = 1;
                a < s.length;
                a++
              ) {
                var u = n.getLeadingWhitespace(s[a])
                s[a] = e.normalizeIndentation(r + u) + s[a].substr(u.length)
              }
              return s.join(e.getEOL())
            }),
            (e.adjustSelection = function(e, t, n, i) {
              if (0 !== n || 0 !== i) {
                var o = t.startLineNumber,
                  r = t.startColumn,
                  u = t.endLineNumber,
                  l = t.endColumn
                ;(r -= n), (l += i)
                var c = e.validateRange(
                  a.Range.plusRange(t, {
                    startLineNumber: o,
                    startColumn: r,
                    endLineNumber: u,
                    endColumn: l
                  })
                )
                t = s.Selection.createWithDirection(
                  c.startLineNumber,
                  c.startColumn,
                  c.endLineNumber,
                  c.endColumn,
                  t.getDirection()
                )
              }
              return t
            }),
            (e.createEditsAndSnippets = function(t, n, i, s, u) {
              for (
                var l = t.getModel(),
                  d = [],
                  p = [],
                  f = 0,
                  g = l.getValueInRange(
                    e.adjustSelection(l, t.getSelection(), i, 0)
                  ),
                  m = l.getValueInRange(
                    e.adjustSelection(l, t.getSelection(), 0, s)
                  ),
                  v = 0,
                  _ = t
                    .getSelections()
                    .map(function(e, t) {
                      return { selection: e, idx: t }
                    })
                    .sort(function(e, t) {
                      return a.Range.compareRangesUsingStarts(
                        e.selection,
                        t.selection
                      )
                    });
                v < _.length;
                v++
              ) {
                var y = _[v],
                  b = y.selection,
                  C = y.idx,
                  w = e.adjustSelection(l, b, i, 0),
                  S = e.adjustSelection(l, b, 0, s)
                g !== l.getValueInRange(w) && (w = b),
                  m !== l.getValueInRange(S) && (S = b)
                var E = b
                    .setStartPosition(w.startLineNumber, w.startColumn)
                    .setEndPosition(S.endLineNumber, S.endColumn),
                  L = E.getStartPosition(),
                  x = e.adjustWhitespace(l, L, n),
                  N = r.SnippetParser.parse(x, u).resolveVariables(
                    new c.EditorSnippetVariableResolver(l, b)
                  ),
                  M = l.getOffsetAt(L) + f
                ;(f += N.text.length - l.getValueLengthInRange(E)),
                  (d[C] = o.EditOperation.replace(E, N.text)),
                  (p[C] = new h(t, N, M))
              }
              return { edits: d, snippets: p }
            }),
            (e.prototype.dispose = function() {
              l.dispose(this._snippets)
            }),
            (e.prototype.insert = function() {
              var t = this,
                n = this._editor.getModel(),
                i = e.createEditsAndSnippets(
                  this._editor,
                  this._template,
                  this._overwriteBefore,
                  this._overwriteAfter,
                  !1
                ),
                o = i.edits,
                r = i.snippets
              ;(this._snippets = r),
                this._editor.setSelections(
                  n.pushEditOperations(
                    this._editor.getSelections(),
                    o,
                    function(e) {
                      return t._snippets[0].hasPlaceholder
                        ? t._move(!0)
                        : e.map(function(e) {
                            return s.Selection.fromPositions(
                              e.range.getEndPosition()
                            )
                          })
                    }
                  )
                )
            }),
            (e.prototype.merge = function(t, n, i) {
              var o = this
              void 0 === n && (n = 0), void 0 === i && (i = 0)
              var r = e.createEditsAndSnippets(this._editor, t, n, i, !0),
                a = r.edits,
                u = r.snippets
              this._editor.setSelections(
                this._editor
                  .getModel()
                  .pushEditOperations(this._editor.getSelections(), a, function(
                    e
                  ) {
                    for (var t = 0, n = o._snippets; t < n.length; t++)
                      n[t].merge(u)
                    return (
                      console.assert(0 === u.length),
                      o._snippets[0].hasPlaceholder
                        ? o._move(void 0)
                        : e.map(function(e) {
                            return s.Selection.fromPositions(
                              e.range.getEndPosition()
                            )
                          })
                    )
                  })
              )
            }),
            (e.prototype.next = function() {
              var e = this._move(!0)
              this._editor.setSelections(e)
            }),
            (e.prototype.prev = function() {
              var e = this._move(!1)
              this._editor.setSelections(e)
            }),
            (e.prototype._move = function(e) {
              for (var t = [], n = 0, i = this._snippets; n < i.length; n++) {
                var o = i[n].move(e)
                t.push.apply(t, o)
              }
              return t
            }),
            Object.defineProperty(e.prototype, 'isAtFirstPlaceholder', {
              get: function() {
                return this._snippets[0].isAtFirstPlaceholder
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'isAtLastPlaceholder', {
              get: function() {
                return this._snippets[0].isAtLastPlaceholder
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'hasPlaceholder', {
              get: function() {
                return this._snippets[0].hasPlaceholder
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.isSelectionWithinPlaceholders = function() {
              if (!this.hasPlaceholder) return !1
              var e = this._editor.getSelections()
              if (e.length < this._snippets.length) return !1
              for (var t = [], n = 0, i = this._snippets; n < i.length; n++) {
                var o = i[n]
                t.push.apply(t, o.placeholderRanges)
              }
              if (e.length > t.length) return !1
              e.sort(a.Range.compareRangesUsingStarts),
                t.sort(a.Range.compareRangesUsingStarts)
              e: for (var r = 0, s = e; r < s.length; r++) {
                for (var u = s[r], l = void 0; (l = t.shift()); )
                  if (l.containsRange(u)) continue e
                return !1
              }
              return !0
            }),
            e
          )
        })()
        t.SnippetSession = p
      }),
      define(d[170], h([0, 1, 3, 44, 28, 6, 99, 2, 34, 33, 101, 261]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var d = u.Color.fromRGBA(new u.RGBA(0, 122, 204)),
          h = {
            showArrow: !0,
            showFrame: !0,
            className: '',
            frameColor: d,
            arrowColor: d
          },
          p = (function() {
            function e(e, t, n, i, o, r) {
              ;(this.domNode = e),
                (this.afterLineNumber = t),
                (this.afterColumn = n),
                (this.heightInLines = i),
                (this._onDomNodeTop = o),
                (this._onComputedHeight = r)
            }
            return (
              (e.prototype.onDomNodeTop = function(e) {
                this._onDomNodeTop(e)
              }),
              (e.prototype.onComputedHeight = function(e) {
                this._onComputedHeight(e)
              }),
              e
            )
          })()
        t.ViewZoneDelegate = p
        var g = (function() {
          function e(e, t) {
            ;(this._id = e), (this._domNode = t)
          }
          return (
            (e.prototype.getId = function() {
              return this._id
            }),
            (e.prototype.getDomNode = function() {
              return this._domNode
            }),
            (e.prototype.getPosition = function() {
              return null
            }),
            e
          )
        })()
        t.OverlayWidgetDelegate = g
        var m = (function() {
          function e(t) {
            ;(this._editor = t),
              (this._ruleName = e._IdGenerator.nextId()),
              (this._decorations = [])
          }
          return (
            (e.prototype.dispose = function() {
              this.hide(), r.removeCSSRulesContainingSelector(this._ruleName)
            }),
            Object.defineProperty(e.prototype, 'color', {
              set: function(e) {
                this._color !== e && ((this._color = e), this._updateStyle())
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'height', {
              set: function(e) {
                this._height !== e && ((this._height = e), this._updateStyle())
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype._updateStyle = function() {
              r.removeCSSRulesContainingSelector(this._ruleName),
                r.createCSSRule(
                  '.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; '
                )
            }),
            (e.prototype.show = function(e) {
              this._decorations = this._editor.deltaDecorations(
                this._decorations,
                [
                  {
                    range: a.Range.fromPositions(e),
                    options: { className: this._ruleName }
                  }
                ]
              )
            }),
            (e.prototype.hide = function() {
              this._editor.deltaDecorations(this._decorations, [])
            }),
            e
          )
        })()
        m._IdGenerator = new c.IdGenerator('.arrow-decoration-')
        var v = (function(e) {
          function t(t, n) {
            void 0 === n && (n = {})
            var i = e.call(this) || this
            return (
              (i._positionMarkerId = []),
              (i._disposables = []),
              (i._isShowing = !1),
              (i.editor = t),
              (i.options = o.clone(n)),
              o.mixin(i.options, h, !1),
              (i.domNode = document.createElement('div')),
              i.options.isAccessible ||
                (i.domNode.setAttribute('aria-hidden', 'true'),
                i.domNode.setAttribute('role', 'presentation')),
              i._disposables.push(
                i.editor.onDidLayoutChange(function(e) {
                  var t = i._getWidth(e)
                  ;(i.domNode.style.width = t + 'px'), i._onWidth(t)
                })
              ),
              i
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              var e = this
              n.dispose(this._disposables),
                this._overlayWidget &&
                  (this.editor.removeOverlayWidget(this._overlayWidget),
                  (this._overlayWidget = null)),
                this._viewZone &&
                  this.editor.changeViewZones(function(t) {
                    t.removeZone(e._viewZone.id), (e._viewZone = null)
                  }),
                this.editor.deltaDecorations(this._positionMarkerId, [])
            }),
            (t.prototype.create = function() {
              r.addClass(this.domNode, 'zone-widget'),
                r.addClass(this.domNode, this.options.className),
                (this.container = document.createElement('div')),
                r.addClass(this.container, 'zone-widget-container'),
                this.domNode.appendChild(this.container),
                this.options.showArrow &&
                  ((this._arrow = new m(this.editor)),
                  this._disposables.push(this._arrow)),
                this._fillContainer(this.container),
                this._initSash(),
                this._applyStyles()
            }),
            (t.prototype.style = function(e) {
              e.frameColor && (this.options.frameColor = e.frameColor),
                e.arrowColor && (this.options.arrowColor = e.arrowColor),
                this._applyStyles()
            }),
            (t.prototype._applyStyles = function() {
              if (this.container) {
                var e = this.options.frameColor.toString()
                ;(this.container.style.borderTopColor = e),
                  (this.container.style.borderBottomColor = e)
              }
              if (this._arrow) {
                var t = this.options.arrowColor.toString()
                this._arrow.color = t
              }
            }),
            (t.prototype._getWidth = function(e) {
              return (
                void 0 === e && (e = this.editor.getLayoutInfo()),
                e.width - e.minimapWidth - e.verticalScrollbarWidth
              )
            }),
            (t.prototype._onViewZoneTop = function(e) {
              this.domNode.style.top = e + 'px'
            }),
            (t.prototype._onViewZoneHeight = function(e) {
              this.domNode.style.height = e + 'px'
              var t = e - this._decoratingElementsHeight()
              ;(this.container.style.height = t + 'px'),
                this._doLayout(t, this._getWidth()),
                this._resizeSash.layout()
            }),
            Object.defineProperty(t.prototype, 'position', {
              get: function() {
                var e = this._positionMarkerId[0]
                if (e)
                  return this.editor
                    .getModel()
                    .getDecorationRange(e)
                    .getStartPosition()
              },
              enumerable: !0,
              configurable: !0
            }),
            (t.prototype.show = function(e, t) {
              var n = a.Range.isIRange(e)
                ? e
                : new a.Range(e.lineNumber, e.column, e.lineNumber, e.column)
              ;(this._isShowing = !0),
                this._showImpl(n, t),
                (this._isShowing = !1),
                (this._positionMarkerId = this.editor.deltaDecorations(
                  this._positionMarkerId,
                  [{ range: n, options: l.ModelDecorationOptions.EMPTY }]
                ))
            }),
            (t.prototype.hide = function() {
              var e = this
              this._viewZone &&
                (this.editor.changeViewZones(function(t) {
                  t.removeZone(e._viewZone.id)
                }),
                (this._viewZone = null)),
                this._overlayWidget &&
                  (this.editor.removeOverlayWidget(this._overlayWidget),
                  (this._overlayWidget = null)),
                this._arrow && this._arrow.hide()
            }),
            (t.prototype._decoratingElementsHeight = function() {
              var e = this.editor.getConfiguration().lineHeight,
                t = 0
              return (
                this.options.showArrow && (t += 2 * Math.round(e / 3)),
                this.options.showFrame && (t += 2 * Math.round(e / 9)),
                t
              )
            }),
            (t.prototype._showImpl = function(e, t) {
              var n = this,
                i = { lineNumber: e.startLineNumber, column: e.startColumn },
                o = this._getWidth()
              this.domNode.style.width = o + 'px'
              var r = document.createElement('div')
              r.style.overflow = 'hidden'
              var s = this.editor.getConfiguration().lineHeight,
                a = (this.editor.getLayoutInfo().height / s) * 0.8
              t >= a && (t = a)
              var u = 0,
                l = 0
              if (
                (this.options.showArrow &&
                  ((u = Math.round(s / 3)),
                  (this._arrow.height = u),
                  this._arrow.show(i)),
                this.options.showFrame && (l = Math.round(s / 9)),
                this.editor.changeViewZones(function(e) {
                  n._viewZone && e.removeZone(n._viewZone.id),
                    n._overlayWidget &&
                      (n.editor.removeOverlayWidget(n._overlayWidget),
                      (n._overlayWidget = null)),
                    (n.domNode.style.top = '-1000px'),
                    (n._viewZone = new p(
                      r,
                      i.lineNumber,
                      i.column,
                      t,
                      function(e) {
                        return n._onViewZoneTop(e)
                      },
                      function(e) {
                        return n._onViewZoneHeight(e)
                      }
                    )),
                    (n._viewZone.id = e.addZone(n._viewZone)),
                    (n._overlayWidget = new g(
                      'vs.editor.contrib.zoneWidget' + n._viewZone.id,
                      n.domNode
                    )),
                    n.editor.addOverlayWidget(n._overlayWidget)
                }),
                this.options.showFrame)
              ) {
                var c = this.options.frameWidth ? this.options.frameWidth : l
                ;(this.container.style.borderTopWidth = c + 'px'),
                  (this.container.style.borderBottomWidth = c + 'px')
              }
              var d = t * s - this._decoratingElementsHeight()
              ;(this.container.style.top = u + 'px'),
                (this.container.style.height = d + 'px'),
                (this.container.style.overflow = 'hidden'),
                this._doLayout(d, o),
                this.editor.setSelection(e)
              var h = Math.min(
                this.editor.getModel().getLineCount(),
                Math.max(1, e.endLineNumber + 1)
              )
              this.editor.revealLine(h)
            }),
            (t.prototype.setCssClass = function(e, t) {
              t && this.container.classList.remove(t),
                r.addClass(this.container, e)
            }),
            (t.prototype._onWidth = function(e) {}),
            (t.prototype._doLayout = function(e, t) {}),
            (t.prototype._relayout = function(e) {
              var t = this
              this._viewZone.heightInLines !== e &&
                this.editor.changeViewZones(function(n) {
                  ;(t._viewZone.heightInLines = e), n.layoutZone(t._viewZone.id)
                })
            }),
            (t.prototype._initSash = function() {
              var e = this
              ;(this._resizeSash = new s.Sash(this.domNode, this, {
                orientation: s.Orientation.HORIZONTAL
              })),
                this.options.isResizeable ||
                  (this._resizeSash.hide(), this._resizeSash.disable())
              var t
              this._disposables.push(
                this._resizeSash.addListener('start', function(n) {
                  e._viewZone &&
                    (t = {
                      startY: n.startY,
                      heightInLines: e._viewZone.heightInLines
                    })
                })
              ),
                this._disposables.push(
                  this._resizeSash.addListener('end', function() {
                    t = void 0
                  })
                ),
                this._disposables.push(
                  this._resizeSash.addListener('change', function(n) {
                    if (t) {
                      var i =
                          (n.currentY - t.startY) /
                          e.editor.getConfiguration().lineHeight,
                        o = i < 0 ? Math.ceil(i) : Math.floor(i),
                        r = t.heightInLines + o
                      r > 5 && r < 35 && e._relayout(r)
                    }
                  })
                )
            }),
            (t.prototype.getHorizontalSashLeft = function() {
              return 0
            }),
            (t.prototype.getHorizontalSashTop = function() {
              return (
                parseInt(this.domNode.style.height) -
                this._decoratingElementsHeight() / 2
              )
            }),
            (t.prototype.getHorizontalSashWidth = function() {
              var e = this.editor.getLayoutInfo()
              return e.width - e.minimapWidth
            }),
            t
          )
        })(i.Widget)
        t.ZoneWidget = v
      }),
      define(d[326], h([5, 7]), function(e, t) {
        return e.create('vs/editor/common/modes/modesRegistry', t)
      }),
      define(d[327], h([5, 7]), function(e, t) {
        return e.create('vs/editor/common/services/bulkEdit', t)
      }),
      define(d[328], h([0, 1, 327, 27, 154, 3, 24, 8, 57, 2, 22]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c
      ) {
        'use strict'
        function d(e, t, i) {
          function r() {
            for (var e, t = 0, i = u; t < i.length; t++) {
              var o = i[t]
              l.hasChanged(o.resource) &&
                (e || (e = []), e.push(o.resource.fsPath))
            }
            if (e) return n.localize(0, null, e.join(', '))
          }
          var s,
            u = [],
            l = new h(i).start()
          return {
            progress: function(e) {
              s = e
            },
            add: function(e) {
              u.push.apply(u, e)
            },
            finish: function() {
              if (0 === u.length) return a.TPromise.as(void 0)
              var n = r()
              if (n) return a.TPromise.wrapError(new Error(n))
              var i, o
              t &&
                t.getModel() &&
                ((i = t.getModel().uri), (o = t.getSelections()))
              var c = new m(e, i, o, u, s)
              return c.prepare().then(function(e) {
                var t = r()
                if (t) throw new Error(t)
                l.stop()
                var n = c.apply()
                return c.dispose(), n
              })
            },
            ariaMessage: function() {
              var e = u.length,
                t = o.size(
                  o.groupBy(u, function(e) {
                    return e.resource.toString()
                  })
                )
              return 0 === e
                ? n.localize(1, null)
                : e > 1 && t > 1
                  ? n.localize(2, null, e, t)
                  : n.localize(3, null, e, t)
            }
          }
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var h = (function() {
            function e(e) {
              this._fileService = e
            }
            return (
              (e.prototype.start = function() {
                var e,
                  t = Object.create(null)
                return (
                  this._fileService &&
                    (e = this._fileService.onFileChanges(function(e) {
                      e.changes.forEach(function(e) {
                        var n = String(e.resource),
                          i = t[n]
                        i || (t[n] = i = []), i.push(e)
                      })
                    })),
                  {
                    stop: function() {
                      return e && e.dispose()
                    },
                    hasChanged: function(e) {
                      return !!t[e.toString()]
                    },
                    allChanges: function() {
                      return i.flatten(o.values(t))
                    }
                  }
                )
              }),
              e
            )
          })(),
          p = (function() {
            function e(e) {
              ;(this._endCursorSelection = null),
                (this._modelReference = e),
                (this._edits = [])
            }
            return (
              Object.defineProperty(e.prototype, '_model', {
                get: function() {
                  return this._modelReference.object.textEditorModel
                },
                enumerable: !0,
                configurable: !0
              }),
              (e.prototype.addEdit = function(e) {
                if (
                  ('number' == typeof e.newEol && (this._newEol = e.newEol),
                  e.range || e.newText)
                ) {
                  var t = void 0
                  ;(t = e.range
                    ? l.Range.lift(e.range)
                    : this._model.getFullModelRange()),
                    this._edits.push(u.EditOperation.replaceMove(t, e.newText))
                }
              }),
              (e.prototype.apply = function() {
                var e = this
                this._edits.length > 0 &&
                  ((this._edits = this._edits
                    .map(function(e, t) {
                      return { value: e, index: t }
                    })
                    .sort(function(e, t) {
                      var n = l.Range.compareRangesUsingStarts(
                        e.value.range,
                        t.value.range
                      )
                      return 0 === n && (n = e.index - t.index), n
                    })
                    .map(function(e) {
                      return e.value
                    })),
                  (this._initialSelections = this._getInitialSelections()),
                  this._model.pushEditOperations(
                    this._initialSelections,
                    this._edits,
                    function(t) {
                      return e._getEndCursorSelections(t)
                    }
                  )),
                  void 0 !== this._newEol && this._model.setEOL(this._newEol)
              }),
              (e.prototype._getInitialSelections = function() {
                var e = this._edits[0].range
                return [
                  new c.Selection(
                    e.startLineNumber,
                    e.startColumn,
                    e.endLineNumber,
                    e.endColumn
                  )
                ]
              }),
              (e.prototype._getEndCursorSelections = function(e) {
                for (var t = 0, n = 0; n < e.length; n++)
                  for (
                    var i = e[n].range, o = 0;
                    o < this._initialSelections.length;
                    o++
                  ) {
                    var r = this._initialSelections[o]
                    if (l.Range.areIntersectingOrTouching(i, r)) {
                      t = n
                      break
                    }
                  }
                var s = e[t].range
                return (
                  (this._endCursorSelection = new c.Selection(
                    s.endLineNumber,
                    s.endColumn,
                    s.endLineNumber,
                    s.endColumn
                  )),
                  [this._endCursorSelection]
                )
              }),
              (e.prototype.getEndCursorSelection = function() {
                return this._endCursorSelection
              }),
              (e.prototype.dispose = function() {
                this._model &&
                  (this._modelReference.dispose(),
                  (this._modelReference = null))
              }),
              e
            )
          })(),
          g = (function(e) {
            function t(t, n) {
              var i = e.call(this, t) || this
              return (i._knownInitialSelections = n), i
            }
            return (
              f(t, e),
              (t.prototype._getInitialSelections = function() {
                return this._knownInitialSelections
              }),
              t
            )
          })(p),
          m = (function() {
            function e(e, t, n, i, o) {
              void 0 === o && (o = null),
                (this.progress = o),
                (this._numberOfResourcesToModify = 0),
                (this._numberOfChanges = 0),
                (this._edits = Object.create(null)),
                (this._textModelResolverService = e),
                (this._sourceModel = t),
                (this._sourceSelections = n),
                (this._sourceModelTask = null)
              for (var r = 0, s = i; r < s.length; r++) {
                var a = s[r]
                this._addEdit(a)
              }
            }
            return (
              (e.prototype.resourcesCount = function() {
                return this._numberOfResourcesToModify
              }),
              (e.prototype.changeCount = function() {
                return this._numberOfChanges
              }),
              (e.prototype._addEdit = function(e) {
                var t = this._edits[e.resource.toString()]
                t ||
                  ((this._edits[e.resource.toString()] = t = []),
                  (this._numberOfResourcesToModify += 1)),
                  (this._numberOfChanges += 1),
                  t.push(e)
              }),
              (e.prototype.prepare = function() {
                var e = this
                if (this._tasks)
                  throw new Error('illegal state - already prepared')
                this._tasks = []
                var t = []
                return (
                  this.progress &&
                    this.progress.total(2 * this._numberOfResourcesToModify),
                  o.forEach(this._edits, function(n) {
                    var i = e._textModelResolverService
                      .createModelReference(s.default.parse(n.key))
                      .then(function(t) {
                        var i = t.object
                        if (!i || !i.textEditorModel)
                          throw new Error('Cannot load file ' + n.key)
                        var o,
                          r = i.textEditorModel
                        e._sourceModel &&
                        r.uri.toString() === e._sourceModel.toString()
                          ? ((e._sourceModelTask = new g(
                              t,
                              e._sourceSelections
                            )),
                            (o = e._sourceModelTask))
                          : (o = new p(t)),
                          n.value.forEach(function(e) {
                            return o.addEdit(e)
                          }),
                          e._tasks.push(o),
                          e.progress && e.progress.worked(1)
                      })
                    t.push(i)
                  }),
                  a.TPromise.join(t).then(function(t) {
                    return e
                  })
                )
              }),
              (e.prototype.apply = function() {
                var e = this
                this._tasks.forEach(function(t) {
                  return e.applyTask(t)
                })
                var t = null
                return (
                  this._sourceModelTask &&
                    (t = this._sourceModelTask.getEndCursorSelection()),
                  t
                )
              }),
              (e.prototype.applyTask = function(e) {
                e.apply(), this.progress && this.progress.worked(1)
              }),
              (e.prototype.dispose = function() {
                this._tasks = r.dispose(this._tasks)
              }),
              e
            )
          })()
        ;(t.bulkEdit = function(e, t, n, i, o) {
          void 0 === o && (o = null)
          var r = d(e, t, i)
          return r.add(n), r.progress(o), r.finish()
        }),
          (t.createBulkEdit = d)
      }),
      define(d[329], h([5, 7]), function(e, t) {
        return e.create('vs/editor/common/services/modelServiceImpl', t)
      }),
      define(d[330], h([5, 7]), function(e, t) {
        return e.create('vs/editor/common/view/editorColorRegistry', t)
      }),
      define(d[331], h([5, 7]), function(e, t) {
        return e.create(
          'vs/editor/contrib/bracketMatching/common/bracketMatching',
          t
        )
      }),
      define(d[332], h([5, 7]), function(e, t) {
        return e.create(
          'vs/editor/contrib/caretOperations/common/caretOperations',
          t
        )
      }),
      define(d[333], h([5, 7]), function(e, t) {
        return e.create('vs/editor/contrib/caretOperations/common/transpose', t)
      }),
      define(d[334], h([5, 7]), function(e, t) {
        return e.create('vs/editor/contrib/clipboard/browser/clipboard', t)
      }),
      define(d[335], h([5, 7]), function(e, t) {
        return e.create('vs/editor/contrib/comment/common/comment', t)
      }),
      define(d[336], h([5, 7]), function(e, t) {
        return e.create('vs/editor/contrib/contextmenu/browser/contextmenu', t)
      }),
      define(d[337], h([5, 7]), function(e, t) {
        return e.create('vs/editor/contrib/find/browser/findWidget', t)
      }),
      define(d[338], h([5, 7]), function(e, t) {
        return e.create('vs/editor/contrib/find/common/findController', t)
      }),
      define(d[339], h([5, 7]), function(e, t) {
        return e.create('vs/editor/contrib/folding/browser/folding', t)
      }),
      define(d[340], h([5, 7]), function(e, t) {
        return e.create('vs/editor/contrib/format/browser/formatActions', t)
      }),
      define(d[341], h([5, 7]), function(e, t) {
        return e.create(
          'vs/editor/contrib/goToDeclaration/browser/goToDeclarationCommands',
          t
        )
      }),
      define(d[342], h([5, 7]), function(e, t) {
        return e.create(
          'vs/editor/contrib/goToDeclaration/browser/goToDeclarationMouse',
          t
        )
      }),
      define(d[343], h([5, 7]), function(e, t) {
        return e.create('vs/editor/contrib/gotoError/browser/gotoError', t)
      }),
      define(d[344], h([5, 7]), function(e, t) {
        return e.create('vs/editor/contrib/hover/browser/hover', t)
      }),
      define(d[345], h([5, 7]), function(e, t) {
        return e.create('vs/editor/contrib/hover/browser/modesContentHover', t)
      }),
      define(d[346], h([5, 7]), function(e, t) {
        return e.create(
          'vs/editor/contrib/inPlaceReplace/common/inPlaceReplace',
          t
        )
      }),
      define(d[347], h([5, 7]), function(e, t) {
        return e.create(
          'vs/editor/contrib/linesOperations/common/linesOperations',
          t
        )
      }),
      define(d[348], h([5, 7]), function(e, t) {
        return e.create('vs/editor/contrib/links/browser/links', t)
      }),
      define(d[349], h([5, 7]), function(e, t) {
        return e.create('vs/editor/contrib/multicursor/common/multicursor', t)
      }),
      define(d[350], h([5, 7]), function(e, t) {
        return e.create(
          'vs/editor/contrib/parameterHints/browser/parameterHints',
          t
        )
      }),
      define(d[351], h([5, 7]), function(e, t) {
        return e.create(
          'vs/editor/contrib/parameterHints/browser/parameterHintsWidget',
          t
        )
      }),
      define(d[352], h([5, 7]), function(e, t) {
        return e.create(
          'vs/editor/contrib/quickFix/browser/quickFixCommands',
          t
        )
      }),
      define(d[353], h([5, 7]), function(e, t) {
        return e.create(
          'vs/editor/contrib/referenceSearch/browser/referenceSearch',
          t
        )
      }),
      define(d[354], h([5, 7]), function(e, t) {
        return e.create(
          'vs/editor/contrib/referenceSearch/browser/referencesController',
          t
        )
      }),
      define(d[355], h([5, 7]), function(e, t) {
        return e.create(
          'vs/editor/contrib/referenceSearch/browser/referencesModel',
          t
        )
      }),
      define(d[130], h([0, 1, 355, 38, 11, 46, 3, 9, 101, 8, 2]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var d = (function() {
          function e(e, t, n) {
            ;(this._parent = e),
              (this._range = t),
              (this._eventBus = n),
              (this._id = u.defaultGenerator.nextId())
          }
          return (
            Object.defineProperty(e.prototype, 'id', {
              get: function() {
                return this._id
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'model', {
              get: function() {
                return this._parent
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'parent', {
              get: function() {
                return this._parent
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'uri', {
              get: function() {
                return this._parent.uri
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'name', {
              get: function() {
                return this._parent.name
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'directory', {
              get: function() {
                return this._parent.directory
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'range', {
              get: function() {
                return this._range
              },
              set: function(e) {
                ;(this._range = e), this._eventBus.emit('ref/changed', this)
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.getAriaMessage = function() {
              return n.localize(
                0,
                null,
                r.basename(this.uri.fsPath),
                this.range.startLineNumber,
                this.range.startColumn
              )
            }),
            e
          )
        })()
        t.OneReference = d
        var h = (function() {
          function e(e) {
            this._modelReference = e
          }
          return (
            Object.defineProperty(e.prototype, '_model', {
              get: function() {
                return this._modelReference.object.textEditorModel
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.preview = function(e, t) {
              void 0 === t && (t = 8)
              var n = this._model
              if (n) {
                var i = e.startLineNumber,
                  o = e.startColumn,
                  r = e.endColumn,
                  s = n.getWordUntilPosition({ lineNumber: i, column: o - t }),
                  u = new c.Range(i, s.startColumn, i, o),
                  l = new c.Range(i, r, i, Number.MAX_VALUE)
                return {
                  before: n.getValueInRange(u).replace(/^\s+/, a.empty),
                  inside: n.getValueInRange(e),
                  after: n.getValueInRange(l).replace(/\s+$/, a.empty)
                }
              }
            }),
            (e.prototype.dispose = function() {
              this._modelReference &&
                (this._modelReference.dispose(), (this._modelReference = null))
            }),
            e
          )
        })()
        t.FilePreview = h
        var p = (function() {
          function e(e, t) {
            ;(this._parent = e), (this._uri = t), (this._children = [])
          }
          return (
            Object.defineProperty(e.prototype, 'id', {
              get: function() {
                return this._uri.toString()
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'parent', {
              get: function() {
                return this._parent
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'children', {
              get: function() {
                return this._children
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'uri', {
              get: function() {
                return this._uri
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'name', {
              get: function() {
                return r.basename(this.uri.fsPath)
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'directory', {
              get: function() {
                return r.dirname(this.uri.fsPath)
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'preview', {
              get: function() {
                return this._preview
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'failure', {
              get: function() {
                return this._loadFailure
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.getAriaMessage = function() {
              var e = this.children.length
              return 1 === e
                ? n.localize(
                    1,
                    null,
                    r.basename(this.uri.fsPath),
                    this.uri.fsPath
                  )
                : n.localize(
                    2,
                    null,
                    e,
                    r.basename(this.uri.fsPath),
                    this.uri.fsPath
                  )
            }),
            (e.prototype.resolve = function(e) {
              var t = this
              return this._resolved
                ? l.TPromise.as(this)
                : e.createModelReference(this._uri).then(
                    function(e) {
                      if (!e.object) throw (e.dispose(), new Error())
                      return (t._preview = new h(e)), (t._resolved = !0), t
                    },
                    function(e) {
                      return (
                        (t._children = []),
                        (t._resolved = !0),
                        (t._loadFailure = e),
                        t
                      )
                    }
                  )
            }),
            (e.prototype.dispose = function() {
              this._preview && (this._preview.dispose(), (this._preview = null))
            }),
            e
          )
        })()
        t.FileReferences = p
        var f = (function() {
          function e(t) {
            ;(this._groups = []),
              (this._references = []),
              (this._eventBus = new i.EventEmitter()),
              (this.onDidChangeReferenceRange = o.fromEventEmitter(
                this._eventBus,
                'ref/changed'
              )),
              t.sort(e._compareReferences)
            for (var n, r = 0, s = t; r < s.length; r++) {
              var a = s[r]
              if (
                ((n && n.uri.toString() === a.uri.toString()) ||
                  ((n = new p(this, a.uri)), this.groups.push(n)),
                0 === n.children.length ||
                  !c.Range.equalsRange(
                    a.range,
                    n.children[n.children.length - 1].range
                  ))
              ) {
                var u = new d(n, a.range, this._eventBus)
                this._references.push(u), n.children.push(u)
              }
            }
          }
          return (
            Object.defineProperty(e.prototype, 'empty', {
              get: function() {
                return 0 === this._groups.length
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'references', {
              get: function() {
                return this._references
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'groups', {
              get: function() {
                return this._groups
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.getAriaMessage = function() {
              return this.empty
                ? n.localize(3, null)
                : 1 === this.references.length
                  ? n.localize(4, null, this.references[0].uri.fsPath)
                  : 1 === this.groups.length
                    ? n.localize(
                        5,
                        null,
                        this.references.length,
                        this.groups[0].uri.fsPath
                      )
                    : n.localize(
                        6,
                        null,
                        this.references.length,
                        this.groups.length
                      )
            }),
            (e.prototype.nextReference = function(e) {
              var t = e.parent.children.indexOf(e),
                n = e.parent.children.length,
                i = e.parent.parent.groups.length
              return t + 1 < n || 1 === i
                ? e.parent.children[(t + 1) % n]
                : ((t = e.parent.parent.groups.indexOf(e.parent)),
                  (t = (t + 1) % i),
                  e.parent.parent.groups[t].children[0])
            }),
            (e.prototype.nearestReference = function(e, t) {
              var n = this._references
                .map(function(n, i) {
                  return {
                    idx: i,
                    prefixLen: a.commonPrefixLength(
                      n.uri.toString(),
                      e.toString()
                    ),
                    offsetDist:
                      100 * Math.abs(n.range.startLineNumber - t.lineNumber) +
                      Math.abs(n.range.startColumn - t.column)
                  }
                })
                .sort(function(e, t) {
                  return e.prefixLen > t.prefixLen
                    ? -1
                    : e.prefixLen < t.prefixLen
                      ? 1
                      : e.offsetDist < t.offsetDist
                        ? -1
                        : e.offsetDist > t.offsetDist
                          ? 1
                          : 0
                })[0]
              if (n) return this._references[n.idx]
            }),
            (e.prototype.dispose = function() {
              this._groups = s.dispose(this._groups)
            }),
            (e._compareReferences = function(e, t) {
              var n = e.uri.toString(),
                i = t.uri.toString()
              return n < i
                ? -1
                : n > i
                  ? 1
                  : c.Range.compareRangesUsingStarts(e.range, t.range)
            }),
            e
          )
        })()
        t.ReferencesModel = f
      }),
      define(d[357], h([5, 7]), function(e, t) {
        return e.create(
          'vs/editor/contrib/referenceSearch/browser/referencesWidget',
          t
        )
      }),
      define(d[358], h([5, 7]), function(e, t) {
        return e.create('vs/editor/contrib/rename/browser/rename', t)
      }),
      define(d[359], h([5, 7]), function(e, t) {
        return e.create('vs/editor/contrib/rename/browser/renameInputField', t)
      }),
      define(d[360], h([5, 7]), function(e, t) {
        return e.create('vs/editor/contrib/smartSelect/common/smartSelect', t)
      }),
      define(d[361], h([5, 7]), function(e, t) {
        return e.create(
          'vs/editor/contrib/suggest/browser/suggestController',
          t
        )
      }),
      define(d[362], h([5, 7]), function(e, t) {
        return e.create('vs/editor/contrib/suggest/browser/suggestWidget', t)
      }),
      define(d[363], h([5, 7]), function(e, t) {
        return e.create(
          'vs/editor/contrib/toggleTabFocusMode/common/toggleTabFocusMode',
          t
        )
      }),
      define(d[364], h([5, 7]), function(e, t) {
        return e.create(
          'vs/editor/contrib/wordHighlighter/common/wordHighlighter',
          t
        )
      }),
      define(d[365], h([5, 7]), function(e, t) {
        return e.create(
          'vs/editor/contrib/zoneWidget/browser/peekViewWidget',
          t
        )
      }),
      define(d[366], h([5, 7]), function(e, t) {
        return e.create(
          'vs/editor/standalone/browser/inspectTokens/inspectTokens',
          t
        )
      }),
      define(d[367], h([5, 7]), function(e, t) {
        return e.create('vs/editor/standalone/browser/quickOpen/gotoLine', t)
      }),
      define(d[368], h([5, 7]), function(e, t) {
        return e.create(
          'vs/editor/standalone/browser/quickOpen/quickCommand',
          t
        )
      }),
      define(d[369], h([5, 7]), function(e, t) {
        return e.create(
          'vs/editor/standalone/browser/quickOpen/quickOutline',
          t
        )
      }),
      define(d[200], h([5, 7]), function(e, t) {
        return e.create('vs/editor/standalone/browser/standaloneCodeEditor', t)
      }),
      define(d[371], h([5, 7]), function(e, t) {
        return e.create(
          'vs/editor/standalone/browser/toggleHighContrast/toggleHighContrast',
          t
        )
      }),
      define(d[372], h([5, 7]), function(e, t) {
        return e.create(
          'vs/platform/configuration/common/configurationRegistry',
          t
        )
      }),
      define(d[373], h([5, 7]), function(e, t) {
        return e.create(
          'vs/platform/keybinding/common/abstractKeybindingService',
          t
        )
      }),
      define(d[374], h([5, 7]), function(e, t) {
        return e.create('vs/platform/message/common/message', t)
      }),
      define(d[375], h([5, 7]), function(e, t) {
        return e.create('vs/platform/theme/common/colorRegistry', t)
      }),
      define(d[376], h([0, 1, 50, 3, 45, 55, 272, 81, 40, 231]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var l = (function() {
          function e(e, t, n, i) {
            var o = this
            this.setContainer(e),
              (this.contextViewService = t),
              (this.telemetryService = n),
              (this.messageService = i),
              (this.actionRunner = new r.ActionRunner()),
              (this.menuContainerElement = null),
              (this.toDispose = [])
            var s = !1
            this.toDispose.push(
              this.actionRunner.addListener(a.EventType.BEFORE_RUN, function(
                e
              ) {
                o.telemetryService &&
                  o.telemetryService.publicLog('workbenchActionExecuted', {
                    id: e.action.id,
                    from: 'contextMenu'
                  }),
                  (s = !!e.retainActionItem) ||
                    o.contextViewService.hideContextView(!1)
              })
            ),
              this.toDispose.push(
                this.actionRunner.addListener(a.EventType.RUN, function(e) {
                  s && o.contextViewService.hideContextView(!1),
                    (s = !1),
                    e.error &&
                      o.messageService &&
                      o.messageService.show(u.default.Error, e.error)
                })
              )
          }
          return (
            (e.prototype.setContainer = function(e) {
              var t = this
              this.$el &&
                (this.$el.off(['click', 'mousedown']), (this.$el = null)),
                e &&
                  ((this.$el = n.$(e)),
                  this.$el.on('mousedown', function(e) {
                    return t.onMouseDown(e)
                  }))
            }),
            (e.prototype.showContextMenu = function(e) {
              var t = this
              e.getActions().done(function(n) {
                t.contextViewService.showContextView({
                  getAnchor: function() {
                    return e.getAnchor()
                  },
                  canRelayout: !1,
                  render: function(o) {
                    t.menuContainerElement = o
                    var r = e.getMenuClassName ? e.getMenuClassName() : ''
                    r && (o.className += ' ' + r)
                    var u = new s.Menu(o, n, {
                        actionItemProvider: e.getActionItem,
                        context: e.getActionsContext
                          ? e.getActionsContext()
                          : null,
                        actionRunner: t.actionRunner
                      }),
                      l = u.addListener(a.EventType.CANCEL, function(e) {
                        t.contextViewService.hideContextView(!0)
                      }),
                      c = u.addListener(a.EventType.BLUR, function(e) {
                        t.contextViewService.hideContextView(!0)
                      })
                    return u.focus(), i.combinedDisposable([l, c, u])
                  },
                  onHide: function(n) {
                    e.onHide && e.onHide(n), (t.menuContainerElement = null)
                  }
                })
              })
            }),
            (e.prototype.onMouseDown = function(e) {
              if (this.menuContainerElement) {
                for (var t = new o.StandardMouseEvent(e).target; t; ) {
                  if (t === this.menuContainerElement) return
                  t = t.parentElement
                }
                this.contextViewService.hideContextView()
              }
            }),
            (e.prototype.dispose = function() {
              this.setContainer(null)
            }),
            e
          )
        })()
        t.ContextMenuHandler = l
      }),
      define(d[377], h([0, 1, 376]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e(e, t, i, o) {
            this.contextMenuHandler = new n.ContextMenuHandler(e, o, t, i)
          }
          return (
            (e.prototype.dispose = function() {
              this.contextMenuHandler.dispose()
            }),
            (e.prototype.setContainer = function(e) {
              this.contextMenuHandler.setContainer(e)
            }),
            (e.prototype.showContextMenu = function(e) {
              this.contextMenuHandler.showContextMenu(e)
            }),
            e
          )
        })()
        t.ContextMenuService = i
      }),
      define(d[168], h([0, 1, 10]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          function e(e) {
            this._staticArguments = e
          }
          return (
            (e.prototype.appendStaticArguments = function(e) {
              this._staticArguments.push.apply(this._staticArguments, e)
            }),
            (e.prototype.staticArguments = function(e) {
              return isNaN(e)
                ? this._staticArguments.slice(0)
                : this._staticArguments[e]
            }),
            (e.prototype._validate = function(e) {
              if (!e) throw n.illegalArgument('can not be falsy')
            }),
            e
          )
        })()
        t.AbstractDescriptor = i
        var o = (function(e) {
          function t(t) {
            for (var n = [], i = 1; i < arguments.length; i++)
              n[i - 1] = arguments[i]
            var o = e.call(this, n) || this
            return (o._ctor = t), o
          }
          return (
            f(t, e),
            Object.defineProperty(t.prototype, 'ctor', {
              get: function() {
                return this._ctor
              },
              enumerable: !0,
              configurable: !0
            }),
            (t.prototype.bind = function() {
              for (var e = [], n = 0; n < arguments.length; n++)
                e[n] = arguments[n]
              var i = []
              return (
                (i = i.concat(this.staticArguments())),
                (i = i.concat(e)),
                new (t.bind.apply(t, [void 0, this._ctor].concat(i)))()
              )
            }),
            t
          )
        })(i)
        ;(t.SyncDescriptor = o),
          (t.createSyncDescriptor = function(e) {
            for (var t = [], n = 1; n < arguments.length; n++)
              t[n - 1] = arguments[n]
            return new (o.bind.apply(o, [void 0, e].concat(t)))()
          })
        var r = (function(e) {
          function t(t, n) {
            for (var i = [], o = 2; o < arguments.length; o++)
              i[o - 2] = arguments[o]
            var r = e.call(this, i) || this
            if (((r._moduleName = t), (r._ctorName = n), 'string' != typeof t))
              throw new Error(
                'Invalid AsyncDescriptor arguments, expected `moduleName` to be a string!'
              )
            return r
          }
          return (
            f(t, e),
            (t.create = function(e, n) {
              return new t(e, n)
            }),
            Object.defineProperty(t.prototype, 'moduleName', {
              get: function() {
                return this._moduleName
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(t.prototype, 'ctorName', {
              get: function() {
                return this._ctorName
              },
              enumerable: !0,
              configurable: !0
            }),
            (t.prototype.bind = function() {
              for (var e = [], n = 0; n < arguments.length; n++)
                e[n] = arguments[n]
              var i = []
              return (
                (i = i.concat(this.staticArguments())),
                (i = i.concat(e)),
                new (t.bind.apply(
                  t,
                  [void 0, this.moduleName, this.ctorName].concat(i)
                ))()
              )
            }),
            t
          )
        })(i)
        t.AsyncDescriptor = r
      }),
      define(d[16], h([0, 1]), function(e, t) {
        'use strict'
        function n(e, t, n, i) {
          t[o.DI_TARGET] === t
            ? t[o.DI_DEPENDENCIES].push({ id: e, index: n, optional: i })
            : ((t[o.DI_DEPENDENCIES] = [{ id: e, index: n, optional: i }]),
              (t[o.DI_TARGET] = t))
        }
        function i(e) {
          if (o.serviceIds.has(e)) return o.serviceIds.get(e)
          var t = function(e, i, o) {
            if (3 !== arguments.length)
              throw new Error(
                '@IServiceName-decorator can only be used to decorate a parameter'
              )
            n(t, e, o, !1)
          }
          return (
            (t.toString = function() {
              return e
            }),
            o.serviceIds.set(e, t),
            t
          )
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o
        !(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] || []
            })
        })((o = t._util || (t._util = {}))),
          (t.IInstantiationService = i('instantiationService')),
          (t.createDecorator = i),
          (t.optional = function(e) {
            return function(t, i, o) {
              if (3 !== arguments.length)
                throw new Error(
                  '@optional-decorator can only be used to decorate a parameter'
                )
              n(e, t, o, !0)
            }
          })
      }),
      define(d[41], h([0, 1, 16, 21]), function(e, t, n, i) {
        'use strict'
        function o(e) {
          if (e) {
            var t = e.getControl()
            if (t) {
              if (i.isCommonCodeEditor(t))
                return { codeEditor: t, diffEditor: null }
              if (i.isCommonDiffEditor(t))
                return { codeEditor: null, diffEditor: t }
            }
          }
          return { codeEditor: null, diffEditor: null }
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.ICodeEditorService = n.createDecorator('codeEditorService')),
          (t.getCodeOrDiffEditor = o),
          (t.getCodeEditor = function(e) {
            var t = o(e)
            return (
              t.codeEditor ||
              (t.diffEditor && t.diffEditor.getModifiedEditor()) ||
              null
            )
          })
      }),
      define(d[63], h([0, 1, 16]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.ID_EDITOR_WORKER_SERVICE = 'editorWorkerService'),
          (t.IEditorWorkerService = n.createDecorator(
            t.ID_EDITOR_WORKER_SERVICE
          ))
      }),
      define(d[89], h([0, 1, 16]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.IModeService = n.createDecorator('modeService'))
      }),
      define(d[53], h([0, 1, 16]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.IModelService = n.createDecorator('modelService'))
      }),
      define(d[78], h([0, 1, 16]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.ITextModelService = n.createDecorator('textModelService'))
      }),
      define(d[160], h([0, 1, 16]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.ITextResourceConfigurationService = n.createDecorator(
            'textResourceConfigurationService'
          ))
      })
    var y =
      (this && this.__param) ||
      function(e, t) {
        return function(n, i) {
          t(n, i, e)
        }
      }
    define(d[159], h([
      0,
      1,
      18,
      3,
      8,
      192,
      436,
      17,
      53,
      225,
      43,
      160,
      89
    ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h) {
      'use strict'
      Object.defineProperty(t, '__esModule', { value: !0 })
      var p = 6e4,
        g = 3e5,
        m = (function(e) {
          function t(t, i, o) {
            var r = e.call(this) || this
            return (
              (r._workerManager = r._register(new b(t))),
              r._register(
                a.LinkProviderRegistry.register('*', {
                  provideLinks: function(e, t) {
                    return n.wireCancellationToken(
                      t,
                      r._workerManager.withWorker().then(function(t) {
                        return t.computeLinks(e.uri)
                      })
                    )
                  }
                })
              ),
              r._register(
                a.SuggestRegistry.register('*', new _(r._workerManager, i, o))
              ),
              r
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              e.prototype.dispose.call(this)
            }),
            (t.prototype.computeDiff = function(e, t, n) {
              return this._workerManager.withWorker().then(function(i) {
                return i.computeDiff(e, t, n)
              })
            }),
            (t.prototype.computeDirtyDiff = function(e, t, n) {
              return this._workerManager.withWorker().then(function(i) {
                return i.computeDirtyDiff(e, t, n)
              })
            }),
            (t.prototype.computeMoreMinimalEdits = function(e, t, n) {
              return Array.isArray(t) && 0 !== t.length
                ? this._workerManager.withWorker().then(function(i) {
                    return i.computeMoreMinimalEdits(e, t, n)
                  })
                : o.TPromise.as(t)
            }),
            (t.prototype.navigateValueSet = function(e, t, n) {
              return this._workerManager.withWorker().then(function(i) {
                return i.navigateValueSet(e, t, n)
              })
            }),
            t
          )
        })(i.Disposable)
      ;(m = v(
        [
          y(0, u.IModelService),
          y(1, d.ITextResourceConfigurationService),
          y(2, h.IModeService)
        ],
        m
      )),
        (t.EditorWorkerServiceImpl = m)
      var _ = (function() {
          function e(e, t, n) {
            ;(this._workerManager = e),
              (this._configurationService = t),
              (this._modeService = n)
          }
          return (
            (e.prototype.provideCompletionItems = function(e, t) {
              if (
                this._configurationService.getConfiguration(e.uri, t, 'editor')
                  .wordBasedSuggestions
              )
                return this._workerManager.withWorker().then(function(n) {
                  return n.textualSuggest(e.uri, t)
                })
            }),
            e
          )
        })(),
        b = (function(e) {
          function t(t) {
            var i = e.call(this) || this
            return (
              (i._modelService = t),
              (i._editorWorkerClient = null),
              i._register(new n.IntervalTimer()).cancelAndSet(function() {
                return i._checkStopIdleWorker()
              }, Math.round(g / 2)),
              i._register(
                i._modelService.onModelRemoved(function(e) {
                  return i._checkStopEmptyWorker()
                })
              ),
              i
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              this._editorWorkerClient &&
                (this._editorWorkerClient.dispose(),
                (this._editorWorkerClient = null)),
                e.prototype.dispose.call(this)
            }),
            (t.prototype._checkStopEmptyWorker = function() {
              this._editorWorkerClient &&
                0 === this._modelService.getModels().length &&
                (this._editorWorkerClient.dispose(),
                (this._editorWorkerClient = null))
            }),
            (t.prototype._checkStopIdleWorker = function() {
              this._editorWorkerClient &&
                new Date().getTime() - this._lastWorkerUsedTime > g &&
                (this._editorWorkerClient.dispose(),
                (this._editorWorkerClient = null))
            }),
            (t.prototype.withWorker = function() {
              return (
                (this._lastWorkerUsedTime = new Date().getTime()),
                this._editorWorkerClient ||
                  (this._editorWorkerClient = new S(
                    this._modelService,
                    'editorWorkerService'
                  )),
                o.TPromise.as(this._editorWorkerClient)
              )
            }),
            t
          )
        })(i.Disposable),
        C = (function(e) {
          function t(t, i, o) {
            var r = e.call(this) || this
            if (
              ((r._syncedModels = Object.create(null)),
              (r._syncedModelsLastUsedTime = Object.create(null)),
              (r._proxy = t),
              (r._modelService = i),
              !o)
            ) {
              var s = new n.IntervalTimer()
              s.cancelAndSet(function() {
                return r._checkStopModelSync()
              }, Math.round(p / 2)),
                r._register(s)
            }
            return r
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              for (var t in this._syncedModels) i.dispose(this._syncedModels[t])
              ;(this._syncedModels = Object.create(null)),
                (this._syncedModelsLastUsedTime = Object.create(null)),
                e.prototype.dispose.call(this)
            }),
            (t.prototype.esureSyncedResources = function(e) {
              for (var t = 0; t < e.length; t++) {
                var n = e[t],
                  i = n.toString()
                this._syncedModels[i] || this._beginModelSync(n),
                  this._syncedModels[i] &&
                    (this._syncedModelsLastUsedTime[i] = new Date().getTime())
              }
            }),
            (t.prototype._checkStopModelSync = function() {
              var e = new Date().getTime(),
                t = []
              for (var n in this._syncedModelsLastUsedTime)
                e - this._syncedModelsLastUsedTime[n] > p && t.push(n)
              for (var i = 0; i < t.length; i++) this._stopModelSync(t[i])
            }),
            (t.prototype._beginModelSync = function(e) {
              var t = this,
                n = this._modelService.getModel(e)
              if (n) {
                var i = e.toString()
                this._proxy.acceptNewModel({
                  url: n.uri.toString(),
                  lines: n.getLinesContent(),
                  EOL: n.getEOL(),
                  versionId: n.getVersionId()
                })
                var o = []
                o.push(
                  n.onDidChangeContent(function(e) {
                    t._proxy.acceptModelChanged(i.toString(), e)
                  })
                ),
                  o.push(
                    n.onWillDispose(function() {
                      t._stopModelSync(i)
                    })
                  ),
                  o.push({
                    dispose: function() {
                      t._proxy.acceptRemovedModel(i)
                    }
                  }),
                  (this._syncedModels[i] = o)
              }
            }),
            (t.prototype._stopModelSync = function(e) {
              var t = this._syncedModels[e]
              delete this._syncedModels[e],
                delete this._syncedModelsLastUsedTime[e],
                i.dispose(t)
            }),
            t
          )
        })(i.Disposable),
        w = (function() {
          function e(e) {
            ;(this._instance = e),
              (this._proxyObj = o.TPromise.as(this._instance))
          }
          return (
            (e.prototype.dispose = function() {
              this._instance.dispose(),
                (this._instance = null),
                (this._proxyObj = null)
            }),
            (e.prototype.getProxyObject = function() {
              return new n.ShallowCancelThenPromise(this._proxyObj)
            }),
            e
          )
        })(),
        S = (function(e) {
          function t(t, n) {
            var i = e.call(this) || this
            return (
              (i._modelService = t),
              (i._workerFactory = new s.DefaultWorkerFactory(n)),
              (i._worker = null),
              (i._modelManager = null),
              i
            )
          }
          return (
            f(t, e),
            (t.prototype._getOrCreateWorker = function() {
              if (!this._worker)
                try {
                  this._worker = this._register(
                    new r.SimpleWorkerClient(
                      this._workerFactory,
                      'vs/editor/common/services/editorSimpleWorker'
                    )
                  )
                } catch (e) {
                  r.logOnceWebWorkerWarning(e),
                    (this._worker = new w(new l.EditorSimpleWorkerImpl()))
                }
              return this._worker
            }),
            (t.prototype._getProxy = function() {
              var e = this
              return new n.ShallowCancelThenPromise(
                this._getOrCreateWorker()
                  .getProxyObject()
                  .then(null, function(t) {
                    return (
                      r.logOnceWebWorkerWarning(t),
                      (e._worker = new w(new l.EditorSimpleWorkerImpl())),
                      e._getOrCreateWorker().getProxyObject()
                    )
                  })
              )
            }),
            (t.prototype._getOrCreateModelManager = function(e) {
              return (
                this._modelManager ||
                  (this._modelManager = this._register(
                    new C(e, this._modelService, !1)
                  )),
                this._modelManager
              )
            }),
            (t.prototype._withSyncedResources = function(e) {
              var t = this
              return this._getProxy().then(function(n) {
                return t._getOrCreateModelManager(n).esureSyncedResources(e), n
              })
            }),
            (t.prototype.computeDiff = function(e, t, n) {
              return this._withSyncedResources([e, t]).then(function(i) {
                return i.computeDiff(e.toString(), t.toString(), n)
              })
            }),
            (t.prototype.computeDirtyDiff = function(e, t, n) {
              return this._withSyncedResources([e, t]).then(function(i) {
                return i.computeDirtyDiff(e.toString(), t.toString(), n)
              })
            }),
            (t.prototype.computeMoreMinimalEdits = function(e, t, n) {
              return this._withSyncedResources([e]).then(function(i) {
                return i.computeMoreMinimalEdits(e.toString(), t, n)
              })
            }),
            (t.prototype.computeLinks = function(e) {
              return this._withSyncedResources([e]).then(function(t) {
                return t.computeLinks(e.toString())
              })
            }),
            (t.prototype.textualSuggest = function(e, t) {
              var n = this
              return this._withSyncedResources([e]).then(function(i) {
                var o = n._modelService.getModel(e)
                if (!o) return null
                var r = c.LanguageConfigurationRegistry.getWordDefinition(
                    o.getLanguageIdentifier().id
                  ),
                  s = r.source,
                  a =
                    (r.global ? 'g' : '') +
                    (r.ignoreCase ? 'i' : '') +
                    (r.multiline ? 'm' : '')
                return i.textualSuggest(e.toString(), t, s, a)
              })
            }),
            (t.prototype.navigateValueSet = function(e, t, n) {
              var i = this
              return this._withSyncedResources([e]).then(function(o) {
                var r = i._modelService.getModel(e)
                if (!r) return null
                var s = c.LanguageConfigurationRegistry.getWordDefinition(
                    r.getLanguageIdentifier().id
                  ),
                  a = s.source,
                  u =
                    (s.global ? 'g' : '') +
                    (s.ignoreCase ? 'i' : '') +
                    (s.multiline ? 'm' : '')
                return o.navigateValueSet(e.toString(), t, n, a, u)
              })
            }),
            t
          )
        })(i.Disposable)
      t.EditorWorkerClient = S
    }),
      define(d[387], h([0, 1, 18, 159]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.createWebWorker = function(e, t) {
            return new o(e, t)
          })
        var o = (function(e) {
          function t(t, n) {
            var i = e.call(this, t, n.label) || this
            return (
              (i._foreignModuleId = n.moduleId),
              (i._foreignModuleCreateData = n.createData || null),
              (i._foreignProxy = null),
              i
            )
          }
          return (
            f(t, e),
            (t.prototype._getForeignProxy = function() {
              var e = this
              return (
                this._foreignProxy ||
                  (this._foreignProxy = new n.ShallowCancelThenPromise(
                    this._getProxy().then(function(t) {
                      return t
                        .loadForeignModule(
                          e._foreignModuleId,
                          e._foreignModuleCreateData
                        )
                        .then(function(n) {
                          ;(e._foreignModuleId = null),
                            (e._foreignModuleCreateData = null)
                          for (var i = {}, o = 0; o < n.length; o++)
                            i[n[o]] = (function(e, t) {
                              return function() {
                                var n = Array.prototype.slice.call(arguments, 0)
                                return t(e, n)
                              }
                            })(n[o], function(e, n) {
                              return t.fmr(e, n)
                            })
                          return i
                        })
                    })
                  )),
                this._foreignProxy
              )
            }),
            (t.prototype.getProxy = function() {
              return this._getForeignProxy()
            }),
            (t.prototype.withSyncedResources = function(e) {
              var t = this
              return this._withSyncedResources(e).then(function(e) {
                return t.getProxy()
              })
            }),
            t
          )
        })(i.EditorWorkerClient)
      }),
      define(d[388], h([0, 1, 8, 2, 53, 260]), function(e, t, n, i, o, r) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = (function() {
          function e(e) {
            this._modelService = e
          }
          return (
            (e.prototype.getRangesToPosition = function(e, t) {
              return n.TPromise.as(this.getRangesToPositionSync(e, t))
            }),
            (e.prototype.getRangesToPositionSync = function(e, t) {
              var n = this._modelService.getModel(e),
                i = []
              return (
                n &&
                  this._doGetRangesToPosition(n, t).forEach(function(e) {
                    i.push({ type: void 0, range: e })
                  }),
                i
              )
            }),
            (e.prototype._doGetRangesToPosition = function(e, t) {
              var n,
                o,
                s = r.build(e)
              n = r.find(s, t)
              for (var a = []; n; )
                (o && i.Range.equalsRange(o, n.range)) || a.push(n.range),
                  (o = n.range),
                  (n = n.parent)
              return (a = a.reverse())
            }),
            e
          )
        })()
        ;(s = v([y(0, o.IModelService)], s)), (t.TokenSelectionSupport = s)
      }),
      define(d[83], h([0, 1, 16]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.IStandaloneThemeService = n.createDecorator('themeService'))
      }),
      define(d[31], h([0, 1, 8, 29, 16]), function(e, t, n, i, o) {
        'use strict'
        function r(e) {
          return (
            'object' == typeof e &&
            'function' == typeof e.handler &&
            (!e.description || 'object' == typeof e.description)
          )
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.ICommandService = o.createDecorator('commandService')),
          (t.CommandsRegistry = new ((function() {
            function e() {
              this._commands = new Map()
            }
            return (
              (e.prototype.registerCommand = function(e, t) {
                var n = this
                if (!t) throw new Error('invalid command')
                var o
                if (r(t)) {
                  var s = t.handler,
                    a = t.description
                  if (a) {
                    for (var u = [], l = 0, c = a.args; l < c.length; l++) {
                      var d = c[l]
                      u.push(d.constraint)
                    }
                    o = {
                      description: a,
                      handler: function(e) {
                        for (var t = [], n = 1; n < arguments.length; n++)
                          t[n - 1] = arguments[n]
                        return (
                          i.validateConstraints(t, u),
                          s.apply(void 0, [e].concat(t))
                        )
                      }
                    }
                  } else o = { handler: s }
                } else o = { handler: t }
                var h = this._commands.get(e)
                return (
                  void 0 === h
                    ? this._commands.set(e, o)
                    : Array.isArray(h)
                      ? h.unshift(o)
                      : this._commands.set(e, [o, h]),
                  {
                    dispose: function() {
                      var t = n._commands.get(e)
                      if (Array.isArray(t)) {
                        var i = t.indexOf(o)
                        i >= 0 &&
                          (t.splice(i, 1),
                          0 === t.length && n._commands.delete(e))
                      } else r(t) && n._commands.delete(e)
                    }
                  }
                )
              }),
              (e.prototype.getCommand = function(e) {
                var t = this._commands.get(e)
                return Array.isArray(t) ? t[0] : t
              }),
              (e.prototype.getCommands = function() {
                var e = this,
                  t = Object.create(null)
                return (
                  this._commands.forEach(function(n, i) {
                    t[i] = e.getCommand(i)
                  }),
                  t
                )
              }),
              e
            )
          })())()),
          (t.NullCommandService = {
            _serviceBrand: void 0,
            onWillExecuteCommand: function() {
              return { dispose: function() {} }
            },
            executeCommand: function() {
              return n.TPromise.as(void 0)
            }
          })
      }),
      define(d[391], h([0, 1, 10, 24, 8, 2, 17, 18, 31, 53]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l
      ) {
        'use strict'
        function c(e) {
          var t = [],
            i = s.LinkProviderRegistry.ordered(e)
              .reverse()
              .map(function(i) {
                return a
                  .asWinJsPromise(function(t) {
                    return i.provideLinks(e, t)
                  })
                  .then(function(e) {
                    if (Array.isArray(e)) {
                      var n = e.map(function(e) {
                        return new h(e, i)
                      })
                      t = d(t, n)
                    }
                  }, n.onUnexpectedExternalError)
              })
          return o.TPromise.join(i).then(function() {
            return t
          })
        }
        function d(e, t) {
          var n,
            i,
            o,
            s,
            a,
            u,
            l = []
          for (n = 0, o = 0, i = e.length, s = t.length; n < i && o < s; )
            (a = e[n]),
              (u = t[o]),
              r.Range.areIntersectingOrTouching(a.range, u.range)
                ? n++
                : r.Range.compareRangesUsingStarts(a.range, u.range) < 0
                  ? (l.push(a), n++)
                  : (l.push(u), o++)
          for (; n < i; n++) l.push(e[n])
          for (; o < s; o++) l.push(t[o])
          return l
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var h = (function() {
          function e(e, t) {
            ;(this._link = e), (this._provider = t)
          }
          return (
            Object.defineProperty(e.prototype, 'range', {
              get: function() {
                return this._link.range
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'url', {
              get: function() {
                return this._link.url
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.resolve = function() {
              var e = this
              if (this._link.url)
                try {
                  return o.TPromise.as(i.default.parse(this._link.url))
                } catch (e) {
                  return o.TPromise.wrapError(new Error('invalid'))
                }
              return 'function' == typeof this._provider.resolveLink
                ? a
                    .asWinJsPromise(function(t) {
                      return e._provider.resolveLink(e._link, t)
                    })
                    .then(function(t) {
                      return (
                        (e._link = t || e._link),
                        e._link.url
                          ? e.resolve()
                          : o.TPromise.wrapError(new Error('missing'))
                      )
                    })
                : o.TPromise.wrapError(new Error('missing'))
            }),
            e
          )
        })()
        ;(t.Link = h),
          (t.getLinks = c),
          u.CommandsRegistry.registerCommand('_executeLinkProvider', function(
            e
          ) {
            for (var t = [], n = 1; n < arguments.length; n++)
              t[n - 1] = arguments[n]
            var o = t[0]
            if (o instanceof i.default) {
              var r = e.get(l.IModelService).getModel(o)
              if (r) return c(r)
            }
          })
      }),
      define(d[77], h([0, 1, 55, 168, 16, 31]), function(e, t, n, i, o, r) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = (function() {
          function e(e) {
            this._id = e
          }
          return (
            Object.defineProperty(e.prototype, 'id', {
              get: function() {
                return this._id
              },
              enumerable: !0,
              configurable: !0
            }),
            e
          )
        })()
        ;(s.EditorTitle = new s('1')),
          (s.EditorTitleContext = new s('2')),
          (s.EditorContext = new s('3')),
          (s.ExplorerContext = new s('4')),
          (s.ProblemsPanelContext = new s('5')),
          (s.DebugVariablesContext = new s('6')),
          (s.DebugWatchContext = new s('7')),
          (s.DebugCallStackContext = new s('8')),
          (s.DebugBreakpointsContext = new s('9')),
          (s.DebugConsoleContext = new s('10')),
          (s.SCMTitle = new s('11')),
          (s.SCMResourceGroupContext = new s('12')),
          (s.SCMResourceContext = new s('13')),
          (s.CommandPalette = new s('14')),
          (s.ViewTitle = new s('15')),
          (s.ViewItemContext = new s('16')),
          (t.MenuId = s),
          (t.IMenuService = o.createDecorator('menuService')),
          (t.MenuRegistry = new ((function() {
            function e() {
              ;(this._commands = Object.create(null)),
                (this._menuItems = Object.create(null))
            }
            return (
              (e.prototype.addCommand = function(e) {
                var t = this._commands[e.id]
                return (this._commands[e.id] = e), void 0 !== t
              }),
              (e.prototype.getCommand = function(e) {
                return this._commands[e]
              }),
              (e.prototype.appendMenuItem = function(e, t) {
                var n = e.id,
                  i = this._menuItems[n]
                return (
                  i ? i.push(t) : (this._menuItems[n] = i = [t]),
                  {
                    dispose: function() {
                      var e = i.indexOf(t)
                      e >= 0 && i.splice(e, 1)
                    }
                  }
                )
              }),
              (e.prototype.getMenuItems = function(e) {
                var t = e.id,
                  n = this._menuItems[t] || []
                return (
                  t === s.CommandPalette.id && this._appendImplicitItems(n), n
                )
              }),
              (e.prototype._appendImplicitItems = function(e) {
                for (var t = new Set(), n = 0, i = e; n < i.length; n++) {
                  var o = i[n],
                    r = o.command,
                    s = o.alt
                  t.add(r.id), s && t.add(s.id)
                }
                for (var a in this._commands)
                  t.has(a) || e.push({ command: this._commands[a] })
              }),
              e
            )
          })())())
        var a = (function(e) {
          function t(t, n, i) {
            var o = e.call(this, t, n) || this
            return (o._commandService = i), o
          }
          return (
            f(t, e),
            (t.prototype.run = function() {
              for (var e = [], t = 0; t < arguments.length; t++)
                e[t] = arguments[t]
              return (n = this._commandService).executeCommand.apply(
                n,
                [this.id].concat(e)
              )
              var n
            }),
            t
          )
        })(n.Action)
        ;(a = v([y(2, r.ICommandService)], a)), (t.ExecuteCommandAction = a)
        var u = (function(e) {
          function t(n, i, o, r) {
            var s = this
            return (
              (s =
                'string' == typeof n.title
                  ? e.call(this, n.id, n.title, r) || this
                  : e.call(this, n.id, n.title.value, r) || this),
              (s._cssClass = n.iconClass),
              (s._enabled = !0),
              (s._options = o || {}),
              (s.item = n),
              (s.alt = i ? new t(i, void 0, s._options, r) : void 0),
              s
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function() {
              for (var t = [], n = 0; n < arguments.length; n++)
                t[n] = arguments[n]
              var i = []
              return (
                this._options.arg && (i = i.concat([this._options.arg])),
                this._options.shouldForwardArgs && (i = i.concat(t)),
                e.prototype.run.apply(this, i)
              )
            }),
            t
          )
        })(a)
        ;(u = v([y(3, r.ICommandService)], u)), (t.MenuItemAction = u)
        var l = (function() {
          function e(e, t, n, o, r, s) {
            ;(this._id = t),
              (this._label = n),
              (this._keybindings = o),
              (this._keybindingContext = r),
              (this._keybindingWeight = s),
              (this._descriptor = i.createSyncDescriptor(
                e,
                this._id,
                this._label
              ))
          }
          return (
            Object.defineProperty(e.prototype, 'syncDescriptor', {
              get: function() {
                return this._descriptor
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'id', {
              get: function() {
                return this._id
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'label', {
              get: function() {
                return this._label
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'keybindings', {
              get: function() {
                return this._keybindings
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'keybindingContext', {
              get: function() {
                return this._keybindingContext
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'keybindingWeight', {
              get: function() {
                return this._keybindingWeight
              },
              enumerable: !0,
              configurable: !0
            }),
            e
          )
        })()
        t.SyncActionDescriptor = l
      }),
      define(d[73], h([0, 1, 27, 29, 28, 24, 88, 16]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a
      ) {
        'use strict'
        function u(e, t, n) {
          var i = (function(e, t) {
            for (var n = e, i = 0; i < t.length; i++) {
              if ('object' != typeof n || null === n) return
              n = n[t[i]]
            }
            return n
          })(e, t.split('.'))
          return void 0 === i ? n : i
        }
        function l(e, t, n) {
          Object.keys(t).forEach(function(o) {
            o in e
              ? i.isObject(e[o]) && i.isObject(t[o])
                ? l(e[o], t[o], n)
                : n && (e[o] = t[o])
              : (e[o] = t[o])
          })
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.IConfigurationService = a.createDecorator('configurationService'))
        !(function(e) {
          ;(e[(e.Default = 1)] = 'Default'),
            (e[(e.User = 2)] = 'User'),
            (e[(e.Workspace = 3)] = 'Workspace')
        })(t.ConfigurationSource || (t.ConfigurationSource = {})),
          (t.getConfigurationValue = u),
          (t.merge = l)
        var c = (function() {
          function e(e, t, n) {
            void 0 === e && (e = {}),
              void 0 === t && (t = []),
              void 0 === n && (n = []),
              (this._contents = e),
              (this._keys = t),
              (this._overrides = n)
          }
          return (
            Object.defineProperty(e.prototype, 'contents', {
              get: function() {
                return this._contents
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'overrides', {
              get: function() {
                return this._overrides
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'keys', {
              get: function() {
                return this._keys
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.getContentsFor = function(e) {
              return o.clone(this.contents[e])
            }),
            (e.prototype.override = function(t) {
              var n = new e(),
                i = o.clone(this.contents)
              if (this._overrides)
                for (var r = 0, s = this._overrides; r < s.length; r++) {
                  var a = s[r]
                  ;-1 !== a.identifiers.indexOf(t) && l(i, a.contents, !0)
                }
              return (n._contents = i), n
            }),
            (e.prototype.merge = function(t, n) {
              void 0 === n && (n = !0)
              var i = new e()
              return this.doMerge(i, this, n), this.doMerge(i, t, n), i
            }),
            (e.prototype.doMerge = function(e, t, i) {
              void 0 === i && (i = !0), l(e.contents, o.clone(t.contents), i)
              for (
                var r = o.clone(e._overrides), s = 0, a = t._overrides;
                s < a.length;
                s++
              )
                !(function(e) {
                  var t = r.filter(function(t) {
                    return n.equals(t.identifiers, e.identifiers)
                  })[0]
                  t ? l(t.contents, e.contents, i) : r.push(e)
                })(a[s])
              e._overrides = r
            }),
            e
          )
        })()
        t.ConfigurationModel = c
        var d = (function() {
          function e(e, t, n, i, o) {
            void 0 === n && (n = new c()),
              void 0 === i && (i = new s.StrictResourceMap()),
              (this._defaults = e),
              (this._user = t),
              (this._workspaceConfiguration = n),
              (this.folders = i),
              (this._workspace = o),
              this.merge()
          }
          return (
            Object.defineProperty(e.prototype, 'defaults', {
              get: function() {
                return this._defaults
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'user', {
              get: function() {
                return this._user
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.merge = function() {
              ;(this._globalConfiguration = new c()
                .merge(this._defaults)
                .merge(this._user)),
                (this._workspaceConsolidatedConfiguration = new c()
                  .merge(this._globalConfiguration)
                  .merge(this._workspaceConfiguration)),
                (this._legacyWorkspaceConsolidatedConfiguration = null),
                (this._foldersConsolidatedConfigurations = new s.StrictResourceMap())
              for (var e = 0, t = this.folders.keys(); e < t.length; e++) {
                var n = t[e]
                this.mergeFolder(n)
              }
            }),
            (e.prototype.mergeFolder = function(e) {
              this._foldersConsolidatedConfigurations.set(
                e,
                new c()
                  .merge(this._workspaceConsolidatedConfiguration)
                  .merge(this.folders.get(e))
              )
            }),
            (e.prototype.getValue = function(e, t) {
              void 0 === e && (e = ''), void 0 === t && (t = {})
              var n = this.getConsolidateConfigurationModel(t)
              return e ? n.getContentsFor(e) : n.contents
            }),
            (e.prototype.lookup = function(e, t) {
              void 0 === t && (t = {})
              var n = this.getConsolidateConfigurationModel(t),
                i = this.getFolderConfigurationModelForResource(t.resource)
              return {
                default: o.clone(
                  u(
                    t.overrideIdentifier
                      ? this._defaults.override(t.overrideIdentifier).contents
                      : this._defaults.contents,
                    e
                  )
                ),
                user: o.clone(
                  u(
                    t.overrideIdentifier
                      ? this._user.override(t.overrideIdentifier).contents
                      : this._user.contents,
                    e
                  )
                ),
                workspace: o.clone(
                  this._workspace
                    ? u(
                        t.overrideIdentifier
                          ? this._workspaceConfiguration.override(
                              t.overrideIdentifier
                            ).contents
                          : this._workspaceConfiguration.contents,
                        e
                      )
                    : void 0
                ),
                folder: o.clone(
                  i
                    ? u(
                        t.overrideIdentifier
                          ? i.override(t.overrideIdentifier).contents
                          : i.contents,
                        e
                      )
                    : void 0
                ),
                value: o.clone(u(n.contents, e))
              }
            }),
            (e.prototype.lookupLegacy = function(e) {
              this._legacyWorkspaceConsolidatedConfiguration ||
                (this._legacyWorkspaceConsolidatedConfiguration = this
                  ._workspace
                  ? new c()
                      .merge(this._workspaceConfiguration)
                      .merge(this.folders.get(this._workspace.roots[0]))
                  : null)
              var t = this.getConsolidateConfigurationModel({})
              return {
                default: o.clone(u(this._defaults.contents, e)),
                user: o.clone(u(this._user.contents, e)),
                workspace: o.clone(
                  this._legacyWorkspaceConsolidatedConfiguration
                    ? u(
                        this._legacyWorkspaceConsolidatedConfiguration.contents,
                        e
                      )
                    : void 0
                ),
                folder: void 0,
                value: o.clone(u(t.contents, e))
              }
            }),
            (e.prototype.keys = function() {
              return {
                default: this._defaults.keys,
                user: this._user.keys,
                workspace: this._workspaceConfiguration.keys
              }
            }),
            (e.prototype.values = function() {
              for (
                var e,
                  t = Object.create(null),
                  n = this.keys(),
                  i = 0,
                  o = n.workspace.concat(n.user, n.default).sort();
                i < o.length;
                i++
              ) {
                var r = o[i]
                r !== e && ((e = r), (t[r] = this.lookup(r)))
              }
              return t
            }),
            (e.prototype.values2 = function() {
              for (
                var e,
                  t = new Map(),
                  n = this.keys(),
                  i = 0,
                  o = n.workspace.concat(n.user, n.default).sort();
                i < o.length;
                i++
              ) {
                var r = o[i]
                r !== e && ((e = r), t.set(r, this.lookup(r)))
              }
              return t
            }),
            (e.prototype.getConsolidateConfigurationModel = function(e) {
              var t = this.getConsolidatedConfigurationModelForResource(e)
              return e.overrideIdentifier ? t.override(e.overrideIdentifier) : t
            }),
            (e.prototype.getConsolidatedConfigurationModelForResource = function(
              e
            ) {
              var t = e.resource
              if (!this._workspace) return this._globalConfiguration
              if (!t) return this._workspaceConsolidatedConfiguration
              var n = this._workspace.getRoot(t)
              return n
                ? this._foldersConsolidatedConfigurations.get(n) ||
                    this._workspaceConsolidatedConfiguration
                : this._workspaceConsolidatedConfiguration
            }),
            (e.prototype.getFolderConfigurationModelForResource = function(e) {
              if (!this._workspace || !e) return null
              var t = this._workspace.getRoot(e)
              return t ? this.folders.get(t) : null
            }),
            (e.prototype.toData = function() {
              var e = this
              return {
                defaults: {
                  contents: this._defaults.contents,
                  overrides: this._defaults.overrides,
                  keys: this._defaults.keys
                },
                user: {
                  contents: this._user.contents,
                  overrides: this._user.overrides,
                  keys: this._user.keys
                },
                workspace: {
                  contents: this._workspaceConfiguration.contents,
                  overrides: this._workspaceConfiguration.overrides,
                  keys: this._workspaceConfiguration.keys
                },
                folders: this.folders.keys().reduce(function(t, n) {
                  var i = e.folders.get(n),
                    o = i.contents,
                    r = i.overrides,
                    s = i.keys
                  return (
                    (t[n.toString()] = { contents: o, overrides: r, keys: s }),
                    t
                  )
                }, Object.create({}))
              }
            }),
            (e.parse = function(t, n) {
              return new e(
                e.parseConfigurationModel(t.defaults),
                e.parseConfigurationModel(t.user),
                e.parseConfigurationModel(t.workspace),
                Object.keys(t.folders).reduce(function(n, i) {
                  return (
                    n.set(
                      r.default.parse(i),
                      e.parseConfigurationModel(t.folders[i])
                    ),
                    n
                  )
                }, new s.StrictResourceMap()),
                n
              )
            }),
            (e.parseConfigurationModel = function(e) {
              return new c(e.contents, e.keys, e.overrides)
            }),
            e
          )
        })()
        t.Configuration = d
      }),
      define(d[19], h([0, 1, 16]), function(e, t, n) {
        'use strict'
        function i(e, t) {
          var n = e.getType(),
            i = t.getType()
          if (n !== i) return n - i
          switch (n) {
            case o.Defined:
            case o.Not:
            case o.Equals:
            case o.NotEquals:
              return e.cmp(t)
            default:
              throw new Error('Unknown ContextKeyExpr!')
          }
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o
        !(function(e) {
          ;(e[(e.Defined = 1)] = 'Defined'),
            (e[(e.Not = 2)] = 'Not'),
            (e[(e.Equals = 3)] = 'Equals'),
            (e[(e.NotEquals = 4)] = 'NotEquals'),
            (e[(e.And = 5)] = 'And')
        })((o = t.ContextKeyExprType || (t.ContextKeyExprType = {})))
        var r = (function() {
          function e() {}
          return (
            (e.has = function(e) {
              return new s(e)
            }),
            (e.equals = function(e, t) {
              return new a(e, t)
            }),
            (e.notEquals = function(e, t) {
              return new u(e, t)
            }),
            (e.not = function(e) {
              return new l(e)
            }),
            (e.and = function() {
              for (var e = [], t = 0; t < arguments.length; t++)
                e[t] = arguments[t]
              return new c(e)
            }),
            (e.deserialize = function(e) {
              var t = this
              if (!e) return null
              var n = e.split('&&')
              return new c(
                n.map(function(e) {
                  return t._deserializeOne(e)
                })
              ).normalize()
            }),
            (e._deserializeOne = function(e) {
              if ((e = e.trim()).indexOf('!=') >= 0) {
                t = e.split('!=')
                return new u(t[0].trim(), this._deserializeValue(t[1]))
              }
              if (e.indexOf('==') >= 0) {
                var t = e.split('==')
                return new a(t[0].trim(), this._deserializeValue(t[1]))
              }
              return /^\!\s*/.test(e) ? new l(e.substr(1).trim()) : new s(e)
            }),
            (e._deserializeValue = function(e) {
              if ('true' === (e = e.trim())) return !0
              if ('false' === e) return !1
              var t = /^'([^']*)'$/.exec(e)
              return t ? t[1].trim() : e
            }),
            e
          )
        })()
        t.ContextKeyExpr = r
        var s = (function() {
          function e(e) {
            this.key = e
          }
          return (
            (e.prototype.getType = function() {
              return o.Defined
            }),
            (e.prototype.cmp = function(e) {
              return this.key < e.key ? -1 : this.key > e.key ? 1 : 0
            }),
            (e.prototype.equals = function(t) {
              return t instanceof e && this.key === t.key
            }),
            (e.prototype.evaluate = function(e) {
              return !!e.getValue(this.key)
            }),
            (e.prototype.normalize = function() {
              return this
            }),
            (e.prototype.serialize = function() {
              return this.key
            }),
            (e.prototype.keys = function() {
              return [this.key]
            }),
            e
          )
        })()
        t.ContextKeyDefinedExpr = s
        var a = (function() {
          function e(e, t) {
            ;(this.key = e), (this.value = t)
          }
          return (
            (e.prototype.getType = function() {
              return o.Equals
            }),
            (e.prototype.cmp = function(e) {
              return this.key < e.key
                ? -1
                : this.key > e.key
                  ? 1
                  : this.value < e.value
                    ? -1
                    : this.value > e.value
                      ? 1
                      : 0
            }),
            (e.prototype.equals = function(t) {
              return (
                t instanceof e && (this.key === t.key && this.value === t.value)
              )
            }),
            (e.prototype.evaluate = function(e) {
              return e.getValue(this.key) == this.value
            }),
            (e.prototype.normalize = function() {
              return 'boolean' == typeof this.value
                ? this.value
                  ? new s(this.key)
                  : new l(this.key)
                : this
            }),
            (e.prototype.serialize = function() {
              return 'boolean' == typeof this.value
                ? this.normalize().serialize()
                : this.key + " == '" + this.value + "'"
            }),
            (e.prototype.keys = function() {
              return [this.key]
            }),
            e
          )
        })()
        t.ContextKeyEqualsExpr = a
        var u = (function() {
          function e(e, t) {
            ;(this.key = e), (this.value = t)
          }
          return (
            (e.prototype.getType = function() {
              return o.NotEquals
            }),
            (e.prototype.cmp = function(e) {
              return this.key < e.key
                ? -1
                : this.key > e.key
                  ? 1
                  : this.value < e.value
                    ? -1
                    : this.value > e.value
                      ? 1
                      : 0
            }),
            (e.prototype.equals = function(t) {
              return (
                t instanceof e && (this.key === t.key && this.value === t.value)
              )
            }),
            (e.prototype.evaluate = function(e) {
              return e.getValue(this.key) != this.value
            }),
            (e.prototype.normalize = function() {
              return 'boolean' == typeof this.value
                ? this.value
                  ? new l(this.key)
                  : new s(this.key)
                : this
            }),
            (e.prototype.serialize = function() {
              return 'boolean' == typeof this.value
                ? this.normalize().serialize()
                : this.key + " != '" + this.value + "'"
            }),
            (e.prototype.keys = function() {
              return [this.key]
            }),
            e
          )
        })()
        t.ContextKeyNotEqualsExpr = u
        var l = (function() {
          function e(e) {
            this.key = e
          }
          return (
            (e.prototype.getType = function() {
              return o.Not
            }),
            (e.prototype.cmp = function(e) {
              return this.key < e.key ? -1 : this.key > e.key ? 1 : 0
            }),
            (e.prototype.equals = function(t) {
              return t instanceof e && this.key === t.key
            }),
            (e.prototype.evaluate = function(e) {
              return !e.getValue(this.key)
            }),
            (e.prototype.normalize = function() {
              return this
            }),
            (e.prototype.serialize = function() {
              return '!' + this.key
            }),
            (e.prototype.keys = function() {
              return [this.key]
            }),
            e
          )
        })()
        t.ContextKeyNotExpr = l
        var c = (function() {
          function e(t) {
            this.expr = e._normalizeArr(t)
          }
          return (
            (e.prototype.getType = function() {
              return o.And
            }),
            (e.prototype.equals = function(t) {
              if (t instanceof e) {
                if (this.expr.length !== t.expr.length) return !1
                for (var n = 0, i = this.expr.length; n < i; n++)
                  if (!this.expr[n].equals(t.expr[n])) return !1
                return !0
              }
              return !1
            }),
            (e.prototype.evaluate = function(e) {
              for (var t = 0, n = this.expr.length; t < n; t++)
                if (!this.expr[t].evaluate(e)) return !1
              return !0
            }),
            (e._normalizeArr = function(t) {
              var n = []
              if (t) {
                for (var o = 0, r = t.length; o < r; o++) {
                  var s = t[o]
                  s &&
                    ((s = s.normalize()) &&
                      (s instanceof e ? (n = n.concat(s.expr)) : n.push(s)))
                }
                n.sort(i)
              }
              return n
            }),
            (e.prototype.normalize = function() {
              return 0 === this.expr.length
                ? null
                : 1 === this.expr.length
                  ? this.expr[0]
                  : this
            }),
            (e.prototype.serialize = function() {
              return 0 === this.expr.length
                ? ''
                : 1 === this.expr.length
                  ? this.normalize().serialize()
                  : this.expr
                      .map(function(e) {
                        return e.serialize()
                      })
                      .join(' && ')
            }),
            (e.prototype.keys = function() {
              for (var e = [], t = 0, n = this.expr; t < n.length; t++) {
                var i = n[t]
                e.push.apply(e, i.keys())
              }
              return e
            }),
            e
          )
        })()
        t.ContextKeyAndExpr = c
        var d = (function(e) {
          function t(t, n) {
            var i = e.call(this, t) || this
            return (i._defaultValue = n), i
          }
          return (
            f(t, e),
            (t.prototype.bindTo = function(e) {
              return e.createKey(this.key, this._defaultValue)
            }),
            (t.prototype.getValue = function(e) {
              return e.getContextKeyValue(this.key)
            }),
            (t.prototype.toNegated = function() {
              return r.not(this.key)
            }),
            (t.prototype.isEqualTo = function(e) {
              return r.equals(this.key, e)
            }),
            t
          )
        })(s)
        ;(t.RawContextKey = d),
          (t.IContextKeyService = n.createDecorator('contextKeyService')),
          (t.SET_CONTEXT_COMMAND_ID = 'setContext')
      }),
      define(d[20], h([0, 1, 19]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        !(function(e) {
          ;(e.textFocus = new n.RawContextKey('editorTextFocus', !1)),
            (e.focus = new n.RawContextKey('editorFocus', !1)),
            (e.readOnly = new n.RawContextKey('editorReadonly', !1)),
            (e.writable = e.readOnly.toNegated()),
            (e.hasNonEmptySelection = new n.RawContextKey(
              'editorHasSelection',
              !1
            )),
            (e.hasOnlyEmptySelection = e.hasNonEmptySelection.toNegated()),
            (e.hasMultipleSelections = new n.RawContextKey(
              'editorHasMultipleSelections',
              !1
            )),
            (e.hasSingleSelection = e.hasMultipleSelections.toNegated()),
            (e.tabMovesFocus = new n.RawContextKey('editorTabMovesFocus', !1)),
            (e.tabDoesNotMoveFocus = e.tabMovesFocus.toNegated()),
            (e.isInEmbeddedEditor = new n.RawContextKey(
              'isInEmbeddedEditor',
              void 0
            )),
            (e.languageId = new n.RawContextKey('editorLangId', void 0)),
            (e.hasCompletionItemProvider = new n.RawContextKey(
              'editorHasCompletionItemProvider',
              void 0
            )),
            (e.hasCodeActionsProvider = new n.RawContextKey(
              'editorHasCodeActionsProvider',
              void 0
            )),
            (e.hasCodeLensProvider = new n.RawContextKey(
              'editorHasCodeLensProvider',
              void 0
            )),
            (e.hasDefinitionProvider = new n.RawContextKey(
              'editorHasDefinitionProvider',
              void 0
            )),
            (e.hasImplementationProvider = new n.RawContextKey(
              'editorHasImplementationProvider',
              void 0
            )),
            (e.hasTypeDefinitionProvider = new n.RawContextKey(
              'editorHasTypeDefinitionProvider',
              void 0
            )),
            (e.hasHoverProvider = new n.RawContextKey(
              'editorHasHoverProvider',
              void 0
            )),
            (e.hasDocumentHighlightProvider = new n.RawContextKey(
              'editorHasDocumentHighlightProvider',
              void 0
            )),
            (e.hasDocumentSymbolProvider = new n.RawContextKey(
              'editorHasDocumentSymbolProvider',
              void 0
            )),
            (e.hasReferenceProvider = new n.RawContextKey(
              'editorHasReferenceProvider',
              void 0
            )),
            (e.hasRenameProvider = new n.RawContextKey(
              'editorHasRenameProvider',
              void 0
            )),
            (e.hasDocumentFormattingProvider = new n.RawContextKey(
              'editorHasDocumentFormattingProvider',
              void 0
            )),
            (e.hasDocumentSelectionFormattingProvider = new n.RawContextKey(
              'editorHasDocumentSelectionFormattingProvider',
              void 0
            )),
            (e.hasSignatureHelpProvider = new n.RawContextKey(
              'editorHasSignatureHelpProvider',
              void 0
            ))
        })(t.EditorContextKeys || (t.EditorContextKeys = {}))
      }),
      define(d[396], h([0, 1, 3, 17, 20, 68]), function(e, t, n, i, o, r) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = (function(e) {
          function t(t, n) {
            var r = e.call(this) || this
            ;(r._editor = t),
              (r._langId = o.EditorContextKeys.languageId.bindTo(n)),
              (r._hasCompletionItemProvider = o.EditorContextKeys.hasCompletionItemProvider.bindTo(
                n
              )),
              (r._hasCodeActionsProvider = o.EditorContextKeys.hasCodeActionsProvider.bindTo(
                n
              )),
              (r._hasCodeLensProvider = o.EditorContextKeys.hasCodeLensProvider.bindTo(
                n
              )),
              (r._hasDefinitionProvider = o.EditorContextKeys.hasDefinitionProvider.bindTo(
                n
              )),
              (r._hasImplementationProvider = o.EditorContextKeys.hasImplementationProvider.bindTo(
                n
              )),
              (r._hasTypeDefinitionProvider = o.EditorContextKeys.hasTypeDefinitionProvider.bindTo(
                n
              )),
              (r._hasHoverProvider = o.EditorContextKeys.hasHoverProvider.bindTo(
                n
              )),
              (r._hasDocumentHighlightProvider = o.EditorContextKeys.hasDocumentHighlightProvider.bindTo(
                n
              )),
              (r._hasDocumentSymbolProvider = o.EditorContextKeys.hasDocumentSymbolProvider.bindTo(
                n
              )),
              (r._hasReferenceProvider = o.EditorContextKeys.hasReferenceProvider.bindTo(
                n
              )),
              (r._hasRenameProvider = o.EditorContextKeys.hasRenameProvider.bindTo(
                n
              )),
              (r._hasDocumentFormattingProvider = o.EditorContextKeys.hasDocumentFormattingProvider.bindTo(
                n
              )),
              (r._hasDocumentSelectionFormattingProvider = o.EditorContextKeys.hasDocumentSelectionFormattingProvider.bindTo(
                n
              )),
              (r._hasSignatureHelpProvider = o.EditorContextKeys.hasSignatureHelpProvider.bindTo(
                n
              )),
              (r._isInWalkThrough = o.EditorContextKeys.isInEmbeddedEditor.bindTo(
                n
              ))
            var s = function() {
              return r._update()
            }
            return (
              r._register(t.onDidChangeModel(s)),
              r._register(t.onDidChangeModelLanguage(s)),
              r._register(i.SuggestRegistry.onDidChange(s)),
              r._register(i.CodeActionProviderRegistry.onDidChange(s)),
              r._register(i.CodeLensProviderRegistry.onDidChange(s)),
              r._register(i.DefinitionProviderRegistry.onDidChange(s)),
              r._register(i.ImplementationProviderRegistry.onDidChange(s)),
              r._register(i.TypeDefinitionProviderRegistry.onDidChange(s)),
              r._register(i.HoverProviderRegistry.onDidChange(s)),
              r._register(i.DocumentHighlightProviderRegistry.onDidChange(s)),
              r._register(i.DocumentSymbolProviderRegistry.onDidChange(s)),
              r._register(i.ReferenceProviderRegistry.onDidChange(s)),
              r._register(i.RenameProviderRegistry.onDidChange(s)),
              r._register(
                i.DocumentFormattingEditProviderRegistry.onDidChange(s)
              ),
              r._register(
                i.DocumentRangeFormattingEditProviderRegistry.onDidChange(s)
              ),
              r._register(i.SignatureHelpProviderRegistry.onDidChange(s)),
              s(),
              r
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              e.prototype.dispose.call(this)
            }),
            (t.prototype.reset = function() {
              this._langId.reset(),
                this._hasCompletionItemProvider.reset(),
                this._hasCodeActionsProvider.reset(),
                this._hasCodeLensProvider.reset(),
                this._hasDefinitionProvider.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()
            }),
            (t.prototype._update = function() {
              var e = this._editor.getModel()
              e
                ? (this._langId.set(e.getLanguageIdentifier().language),
                  this._hasCompletionItemProvider.set(i.SuggestRegistry.has(e)),
                  this._hasCodeActionsProvider.set(
                    i.CodeActionProviderRegistry.has(e)
                  ),
                  this._hasCodeLensProvider.set(
                    i.CodeLensProviderRegistry.has(e)
                  ),
                  this._hasDefinitionProvider.set(
                    i.DefinitionProviderRegistry.has(e)
                  ),
                  this._hasImplementationProvider.set(
                    i.ImplementationProviderRegistry.has(e)
                  ),
                  this._hasTypeDefinitionProvider.set(
                    i.TypeDefinitionProviderRegistry.has(e)
                  ),
                  this._hasHoverProvider.set(i.HoverProviderRegistry.has(e)),
                  this._hasDocumentHighlightProvider.set(
                    i.DocumentHighlightProviderRegistry.has(e)
                  ),
                  this._hasDocumentSymbolProvider.set(
                    i.DocumentSymbolProviderRegistry.has(e)
                  ),
                  this._hasReferenceProvider.set(
                    i.ReferenceProviderRegistry.has(e)
                  ),
                  this._hasRenameProvider.set(i.RenameProviderRegistry.has(e)),
                  this._hasSignatureHelpProvider.set(
                    i.SignatureHelpProviderRegistry.has(e)
                  ),
                  this._hasDocumentFormattingProvider.set(
                    i.DocumentFormattingEditProviderRegistry.has(e) ||
                      i.DocumentRangeFormattingEditProviderRegistry.has(e)
                  ),
                  this._hasDocumentSelectionFormattingProvider.set(
                    i.DocumentRangeFormattingEditProviderRegistry.has(e)
                  ),
                  this._isInWalkThrough.set(
                    e.uri.scheme === r.Schemas.walkThroughSnippet
                  ))
                : this.reset()
            }),
            t
          )
        })(n.Disposable)
        t.EditorModeContext = s
      }),
      define(d[397], h([0, 1, 11, 3, 19, 77, 31]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = (function() {
          function e(t, i, o, s) {
            var a = this
            ;(this.id = t),
              (this._commandService = o),
              (this._contextKeyService = s),
              (this._menuGroups = []),
              (this._disposables = []),
              (this._onDidChange = new n.Emitter()),
              i.then(function(n) {
                var i,
                  o = r.MenuRegistry.getMenuItems(t),
                  s = new Set()
                o.sort(e._compareMenuItems)
                for (var u = 0, l = o; u < l.length; u++) {
                  var c = l[u],
                    d = c.group
                  ;(i && i[0] === d) || ((i = [d, []]), a._menuGroups.push(i)),
                    i[1].push(c),
                    e._fillInKbExprKeys(c.when, s)
                }
                a._disposables.push(
                  a._contextKeyService.onDidChangeContext(function(e) {
                    for (var t = 0, n = e; t < n.length; t++) {
                      var i = n[t]
                      if (s.has(i)) return void a._onDidChange.fire()
                    }
                  })
                ),
                  a._onDidChange.fire(a)
              })
          }
          return (
            (e.prototype.dispose = function() {
              ;(this._disposables = i.dispose(this._disposables)),
                this._onDidChange.dispose()
            }),
            Object.defineProperty(e.prototype, 'onDidChange', {
              get: function() {
                return this._onDidChange.event
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.getActions = function(e) {
              for (var t = [], n = 0, i = this._menuGroups; n < i.length; n++) {
                for (
                  var o = i[n], s = o[0], a = [], u = 0, l = o[1];
                  u < l.length;
                  u++
                ) {
                  var c = l[u]
                  if (this._contextKeyService.contextMatchesRules(c.when)) {
                    var d = new r.MenuItemAction(
                      c.command,
                      c.alt,
                      e,
                      this._commandService
                    )
                    ;(d.order = c.order), a.push(d)
                  }
                }
                a.length > 0 && t.push([s, a])
              }
              return t
            }),
            (e._fillInKbExprKeys = function(e, t) {
              if (e)
                for (var n = 0, i = e.keys(); n < i.length; n++) {
                  var o = i[n]
                  t.add(o)
                }
            }),
            (e._compareMenuItems = function(e, t) {
              var n = e.group,
                i = t.group
              if (n !== i) {
                if (!n) return 1
                if (!i) return -1
                if ('navigation' === n) return -1
                if ('navigation' === i) return 1
                var o = n.localeCompare(i)
                if (0 !== o) return o
              }
              var r = e.order || 0,
                s = t.order || 0
              if (r < s) return -1
              if (r > s) return 1
              var a =
                  'string' == typeof e.command.title
                    ? e.command.title
                    : e.command.title.value,
                u =
                  'string' == typeof t.command.title
                    ? t.command.title
                    : t.command.title.value
              return a.localeCompare(u)
            }),
            e
          )
        })()
        ;(a = v([y(2, s.ICommandService), y(3, o.IContextKeyService)], a)),
          (t.Menu = a)
      }),
      define(d[71], h([0, 1, 55, 16]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.IContextViewService = i.createDecorator('contextViewService')),
          (t.IContextMenuService = i.createDecorator('contextMenuService'))
        var o = (function(e) {
          function t(t, n) {
            var i = e.call(this, 'contextsubmenu', t, '', !0) || this
            return (i.entries = n), i
          }
          return f(t, e), t
        })(n.Action)
        t.ContextSubMenu = o
      }),
      define(d[59], h([0, 1, 16]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.IEditorService = n.createDecorator('editorService'))
        var i
        !(function(e) {
          ;(e[(e.ONE = 0)] = 'ONE'),
            (e[(e.TWO = 1)] = 'TWO'),
            (e[(e.THREE = 2)] = 'THREE')
        })((i = t.Position || (t.Position = {}))),
          (t.POSITIONS = [i.ONE, i.TWO, i.THREE])
        !(function(e) {
          ;(e[(e.LEFT = 0)] = 'LEFT'), (e[(e.RIGHT = 1)] = 'RIGHT')
        })(t.Direction || (t.Direction = {}))
        !(function(e) {
          ;(e[(e.SHORT = 0)] = 'SHORT'),
            (e[(e.MEDIUM = 1)] = 'MEDIUM'),
            (e[(e.LONG = 2)] = 'LONG')
        })(t.Verbosity || (t.Verbosity = {}))
      }),
      define(d[196], h([0, 1, 16]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.IEnvironmentService = n.createDecorator('environmentService'))
      }),
      define(d[401], h([0, 1, 46, 81, 15, 16, 9]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.IFileService = r.createDecorator('fileService'))
        !(function(e) {
          ;(e[(e.CREATE = 0)] = 'CREATE'),
            (e[(e.DELETE = 1)] = 'DELETE'),
            (e[(e.MOVE = 2)] = 'MOVE'),
            (e[(e.COPY = 3)] = 'COPY'),
            (e[(e.IMPORT = 4)] = 'IMPORT')
        })(t.FileOperation || (t.FileOperation = {}))
        var a = (function() {
          function e(e, t, n) {
            ;(this._resource = e), (this._operation = t), (this._target = n)
          }
          return (
            Object.defineProperty(e.prototype, 'resource', {
              get: function() {
                return this._resource
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'target', {
              get: function() {
                return this._target
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'operation', {
              get: function() {
                return this._operation
              },
              enumerable: !0,
              configurable: !0
            }),
            e
          )
        })()
        t.FileOperationEvent = a
        var u
        !(function(e) {
          ;(e[(e.UPDATED = 0)] = 'UPDATED'),
            (e[(e.ADDED = 1)] = 'ADDED'),
            (e[(e.DELETED = 2)] = 'DELETED')
        })((u = t.FileChangeType || (t.FileChangeType = {})))
        var l = (function(e) {
          function t(t) {
            var n = e.call(this) || this
            return (n._changes = t), n
          }
          return (
            f(t, e),
            Object.defineProperty(t.prototype, 'changes', {
              get: function() {
                return this._changes
              },
              enumerable: !0,
              configurable: !0
            }),
            (t.prototype.contains = function(e, t) {
              return (
                !!e &&
                this._changes.some(function(i) {
                  return (
                    i.type === t &&
                    (t === u.DELETED
                      ? n.isEqualOrParent(
                          e.fsPath,
                          i.resource.fsPath,
                          !o.isLinux
                        )
                      : n.isEqual(e.fsPath, i.resource.fsPath, !o.isLinux))
                  )
                })
              )
            }),
            (t.prototype.getAdded = function() {
              return this.getOfType(u.ADDED)
            }),
            (t.prototype.gotAdded = function() {
              return this.hasType(u.ADDED)
            }),
            (t.prototype.getDeleted = function() {
              return this.getOfType(u.DELETED)
            }),
            (t.prototype.gotDeleted = function() {
              return this.hasType(u.DELETED)
            }),
            (t.prototype.getUpdated = function() {
              return this.getOfType(u.UPDATED)
            }),
            (t.prototype.gotUpdated = function() {
              return this.hasType(u.UPDATED)
            }),
            (t.prototype.getOfType = function(e) {
              return this._changes.filter(function(t) {
                return t.type === e
              })
            }),
            (t.prototype.hasType = function(e) {
              return this._changes.some(function(t) {
                return t.type === e
              })
            }),
            t
          )
        })(i.Event)
        ;(t.FileChangesEvent = l),
          (t.isParent = function(e, t, i) {
            return (
              !(!e || !t || e === t) &&
              !(t.length > e.length) &&
              (t.charAt(t.length - 1) !== n.nativeSep && (t += n.nativeSep),
              i ? s.beginsWithIgnoreCase(e, t) : 0 === e.indexOf(t))
            )
          }),
          (t.indexOf = function(e, t, n) {
            return t.length > e.length
              ? -1
              : e === t
                ? 0
                : (n && ((e = e.toLowerCase()), (t = t.toLowerCase())),
                  e.indexOf(t))
          })
        var c = (function(e) {
          function t(t, n) {
            var i = e.call(this, t) || this
            return (i.fileOperationResult = n), i
          }
          return f(t, e), t
        })(Error)
        t.FileOperationError = c
        !(function(e) {
          ;(e[(e.FILE_IS_BINARY = 0)] = 'FILE_IS_BINARY'),
            (e[(e.FILE_IS_DIRECTORY = 1)] = 'FILE_IS_DIRECTORY'),
            (e[(e.FILE_NOT_FOUND = 2)] = 'FILE_NOT_FOUND'),
            (e[(e.FILE_NOT_MODIFIED_SINCE = 3)] = 'FILE_NOT_MODIFIED_SINCE'),
            (e[(e.FILE_MODIFIED_SINCE = 4)] = 'FILE_MODIFIED_SINCE'),
            (e[(e.FILE_MOVE_CONFLICT = 5)] = 'FILE_MOVE_CONFLICT'),
            (e[(e.FILE_READ_ONLY = 6)] = 'FILE_READ_ONLY'),
            (e[(e.FILE_TOO_LARGE = 7)] = 'FILE_TOO_LARGE'),
            (e[(e.FILE_INVALID_PATH = 8)] = 'FILE_INVALID_PATH')
        })(t.FileOperationResult || (t.FileOperationResult = {})),
          (t.MAX_FILE_SIZE = 52428800),
          (t.AutoSaveConfiguration = {
            OFF: 'off',
            AFTER_DELAY: 'afterDelay',
            ON_FOCUS_CHANGE: 'onFocusChange',
            ON_WINDOW_CHANGE: 'onWindowChange'
          }),
          (t.HotExitConfiguration = {
            OFF: 'off',
            ON_EXIT: 'onExit',
            ON_EXIT_AND_WINDOW_CLOSE: 'onExitAndWindowClose'
          }),
          (t.CONTENT_CHANGE_EVENT_BUFFER_DELAY = 1e3),
          (t.SUPPORTED_ENCODINGS = {
            utf8: {
              labelLong: 'UTF-8',
              labelShort: 'UTF-8',
              order: 1,
              alias: 'utf8bom'
            },
            utf8bom: {
              labelLong: 'UTF-8 with BOM',
              labelShort: 'UTF-8 with BOM',
              encodeOnly: !0,
              order: 2,
              alias: 'utf8'
            },
            utf16le: {
              labelLong: 'UTF-16 LE',
              labelShort: 'UTF-16 LE',
              order: 3
            },
            utf16be: {
              labelLong: 'UTF-16 BE',
              labelShort: 'UTF-16 BE',
              order: 4
            },
            windows1252: {
              labelLong: 'Western (Windows 1252)',
              labelShort: 'Windows 1252',
              order: 5
            },
            iso88591: {
              labelLong: 'Western (ISO 8859-1)',
              labelShort: 'ISO 8859-1',
              order: 6
            },
            iso88593: {
              labelLong: 'Western (ISO 8859-3)',
              labelShort: 'ISO 8859-3',
              order: 7
            },
            iso885915: {
              labelLong: 'Western (ISO 8859-15)',
              labelShort: 'ISO 8859-15',
              order: 8
            },
            macroman: {
              labelLong: 'Western (Mac Roman)',
              labelShort: 'Mac Roman',
              order: 9
            },
            cp437: {
              labelLong: 'DOS (CP 437)',
              labelShort: 'CP437',
              order: 10
            },
            windows1256: {
              labelLong: 'Arabic (Windows 1256)',
              labelShort: 'Windows 1256',
              order: 11
            },
            iso88596: {
              labelLong: 'Arabic (ISO 8859-6)',
              labelShort: 'ISO 8859-6',
              order: 12
            },
            windows1257: {
              labelLong: 'Baltic (Windows 1257)',
              labelShort: 'Windows 1257',
              order: 13
            },
            iso88594: {
              labelLong: 'Baltic (ISO 8859-4)',
              labelShort: 'ISO 8859-4',
              order: 14
            },
            iso885914: {
              labelLong: 'Celtic (ISO 8859-14)',
              labelShort: 'ISO 8859-14',
              order: 15
            },
            windows1250: {
              labelLong: 'Central European (Windows 1250)',
              labelShort: 'Windows 1250',
              order: 16
            },
            iso88592: {
              labelLong: 'Central European (ISO 8859-2)',
              labelShort: 'ISO 8859-2',
              order: 17
            },
            cp852: {
              labelLong: 'Central European (CP 852)',
              labelShort: 'CP 852',
              order: 18
            },
            windows1251: {
              labelLong: 'Cyrillic (Windows 1251)',
              labelShort: 'Windows 1251',
              order: 19
            },
            cp866: {
              labelLong: 'Cyrillic (CP 866)',
              labelShort: 'CP 866',
              order: 20
            },
            iso88595: {
              labelLong: 'Cyrillic (ISO 8859-5)',
              labelShort: 'ISO 8859-5',
              order: 21
            },
            koi8r: {
              labelLong: 'Cyrillic (KOI8-R)',
              labelShort: 'KOI8-R',
              order: 22
            },
            koi8u: {
              labelLong: 'Cyrillic (KOI8-U)',
              labelShort: 'KOI8-U',
              order: 23
            },
            iso885913: {
              labelLong: 'Estonian (ISO 8859-13)',
              labelShort: 'ISO 8859-13',
              order: 24
            },
            windows1253: {
              labelLong: 'Greek (Windows 1253)',
              labelShort: 'Windows 1253',
              order: 25
            },
            iso88597: {
              labelLong: 'Greek (ISO 8859-7)',
              labelShort: 'ISO 8859-7',
              order: 26
            },
            windows1255: {
              labelLong: 'Hebrew (Windows 1255)',
              labelShort: 'Windows 1255',
              order: 27
            },
            iso88598: {
              labelLong: 'Hebrew (ISO 8859-8)',
              labelShort: 'ISO 8859-8',
              order: 28
            },
            iso885910: {
              labelLong: 'Nordic (ISO 8859-10)',
              labelShort: 'ISO 8859-10',
              order: 29
            },
            iso885916: {
              labelLong: 'Romanian (ISO 8859-16)',
              labelShort: 'ISO 8859-16',
              order: 30
            },
            windows1254: {
              labelLong: 'Turkish (Windows 1254)',
              labelShort: 'Windows 1254',
              order: 31
            },
            iso88599: {
              labelLong: 'Turkish (ISO 8859-9)',
              labelShort: 'ISO 8859-9',
              order: 32
            },
            windows1258: {
              labelLong: 'Vietnamese (Windows 1258)',
              labelShort: 'Windows 1258',
              order: 33
            },
            gbk: { labelLong: 'Chinese (GBK)', labelShort: 'GBK', order: 34 },
            gb18030: {
              labelLong: 'Chinese (GB18030)',
              labelShort: 'GB18030',
              order: 35
            },
            cp950: {
              labelLong: 'Traditional Chinese (Big5)',
              labelShort: 'Big5',
              order: 36
            },
            big5hkscs: {
              labelLong: 'Traditional Chinese (Big5-HKSCS)',
              labelShort: 'Big5-HKSCS',
              order: 37
            },
            shiftjis: {
              labelLong: 'Japanese (Shift JIS)',
              labelShort: 'Shift JIS',
              order: 38
            },
            eucjp: {
              labelLong: 'Japanese (EUC-JP)',
              labelShort: 'EUC-JP',
              order: 39
            },
            euckr: {
              labelLong: 'Korean (EUC-KR)',
              labelShort: 'EUC-KR',
              order: 40
            },
            windows874: {
              labelLong: 'Thai (Windows 874)',
              labelShort: 'Windows 874',
              order: 41
            },
            iso885911: {
              labelLong: 'Latin/Thai (ISO 8859-11)',
              labelShort: 'ISO 8859-11',
              order: 42
            },
            koi8ru: {
              labelLong: 'Cyrillic (KOI8-RU)',
              labelShort: 'KOI8-RU',
              order: 43
            },
            koi8t: {
              labelLong: 'Tajik (KOI8-T)',
              labelShort: 'KOI8-T',
              order: 44
            },
            gb2312: {
              labelLong: 'Simplified Chinese (GB 2312)',
              labelShort: 'GB 2312',
              order: 45
            }
          })
      }),
      define(d[84], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var n = (function() {
          function e() {
            for (var e = [], t = 0; t < arguments.length; t++)
              e[t] = arguments[t]
            this._entries = new Map()
            for (var n = 0, i = e; n < i.length; n++) {
              var o = i[n],
                r = o[0],
                s = o[1]
              this.set(r, s)
            }
          }
          return (
            (e.prototype.set = function(e, t) {
              var n = this._entries.get(e)
              return this._entries.set(e, t), n
            }),
            (e.prototype.forEach = function(e) {
              this._entries.forEach(function(t, n) {
                return e(n, t)
              })
            }),
            (e.prototype.has = function(e) {
              return this._entries.has(e)
            }),
            (e.prototype.get = function(e) {
              return this._entries.get(e)
            }),
            e
          )
        })()
        t.ServiceCollection = n
      }),
      define(d[403], h([0, 1, 8, 10, 29, 76, 494, 168, 16, 84]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var c = (function() {
          function t(e, t) {
            void 0 === e && (e = new l.ServiceCollection()),
              void 0 === t && (t = !1),
              (this._services = e),
              (this._strict = t),
              this._services.set(u.IInstantiationService, this)
          }
          return (
            (t.prototype.createChild = function(e) {
              var n = this
              return (
                this._services.forEach(function(t, i) {
                  e.has(t) ||
                    (i instanceof a.SyncDescriptor &&
                      (i = n._createAndCacheServiceInstance(t, i)),
                    e.set(t, i))
                }),
                new t(e, this._strict)
              )
            }),
            (t.prototype.invokeFunction = function(e) {
              for (var t = this, n = [], o = 1; o < arguments.length; o++)
                n[o - 1] = arguments[o]
              var r
              try {
                return (
                  (r = {
                    get: function(e, n) {
                      var i = t._getOrCreateServiceInstance(e)
                      if (!i && n !== u.optional)
                        throw new Error(
                          "[invokeFunction] unkown service '" + e + "'"
                        )
                      return i
                    }
                  }),
                  e.apply(void 0, [r].concat(n))
                )
              } finally {
                r.get = function() {
                  throw i.illegalState(
                    'service accessor is only valid during the invocation of its target method'
                  )
                }
              }
            }),
            (t.prototype.createInstance = function(e) {
              for (var t = [], n = 1; n < arguments.length; n++)
                t[n - 1] = arguments[n]
              return e instanceof a.AsyncDescriptor
                ? this._createInstanceAsync(e, t)
                : e instanceof a.SyncDescriptor
                  ? this._createInstance(e, t)
                  : this._createInstance(new a.SyncDescriptor(e), t)
            }),
            (t.prototype._createInstanceAsync = function(t, o) {
              var r,
                s = this
              return new n.TPromise(
                function(n, u, l) {
                  e(
                    [t.moduleName],
                    function(e) {
                      if ((r && u(r), !e))
                        return u(
                          i.illegalArgument('module not found: ' + t.moduleName)
                        )
                      var l
                      if (
                        'function' !=
                        typeof (l = t.ctorName ? e[t.ctorName] : e)
                      )
                        return u(
                          i.illegalArgument(
                            'not a function: ' + t.ctorName || t.moduleName
                          )
                        )
                      try {
                        o.unshift.apply(o, t.staticArguments()),
                          n(s._createInstance(new a.SyncDescriptor(l), o))
                      } catch (e) {
                        return u(e)
                      }
                    },
                    u
                  )
                },
                function() {
                  r = i.canceled()
                }
              )
            }),
            (t.prototype._createInstance = function(e, t) {
              for (
                var n = e.staticArguments().concat(t),
                  i = u._util
                    .getServiceDependencies(e.ctor)
                    .sort(function(e, t) {
                      return e.index - t.index
                    }),
                  r = [],
                  s = 0,
                  a = i;
                s < a.length;
                s++
              ) {
                var l = a[s],
                  c = this._getOrCreateServiceInstance(l.id)
                if (!c && this._strict && !l.optional)
                  throw new Error(
                    '[createInstance] ' +
                      e.ctor.name +
                      ' depends on UNKNOWN service ' +
                      l.id +
                      '.'
                  )
                r.push(c)
              }
              var d = i.length > 0 ? i[0].index : n.length
              if (n.length !== d) {
                console.warn(
                  '[createInstance] First service dependency of ' +
                    e.ctor.name +
                    ' at position ' +
                    (d + 1) +
                    ' conflicts with ' +
                    n.length +
                    ' static arguments'
                )
                var h = d - n.length
                n = h > 0 ? n.concat(new Array(h)) : n.slice(0, d)
              }
              var p = [e.ctor]
              p.push.apply(p, n), p.push.apply(p, r)
              var f = o.create.apply(null, p)
              return e._validate(f), f
            }),
            (t.prototype._getOrCreateServiceInstance = function(e) {
              var t = this._services.get(e)
              return t instanceof a.SyncDescriptor
                ? this._createAndCacheServiceInstance(e, t)
                : t
            }),
            (t.prototype._createAndCacheServiceInstance = function(e, t) {
              function n() {
                var e = new Error(
                  '[createInstance] cyclic dependency between services'
                )
                throw ((e.message = i.toString()), e)
              }
              r.ok(this._services.get(e) instanceof a.SyncDescriptor)
              for (
                var i = new s.Graph(function(e) {
                    return e.id.toString()
                  }),
                  o = 0,
                  l = [{ id: e, desc: t }];
                l.length;

              ) {
                var c = l.pop()
                i.lookupOrInsertNode(c), o++ > 100 && n()
                for (
                  var d = 0, h = u._util.getServiceDependencies(c.desc.ctor);
                  d < h.length;
                  d++
                ) {
                  var p = h[d],
                    f = this._services.get(p.id)
                  if (
                    (f ||
                      console.warn(
                        '[createInstance] ' +
                          e +
                          ' depends on ' +
                          p.id +
                          ' which is NOT registered.'
                      ),
                    f instanceof a.SyncDescriptor)
                  ) {
                    var g = { id: p.id, desc: f }
                    i.insertEdge(c, g), l.push(g)
                  }
                }
              }
              for (;;) {
                var m = i.roots()
                if (0 === m.length) {
                  0 !== i.length && n()
                  break
                }
                for (var v = 0, _ = m; v < _.length; v++) {
                  var y = _[v],
                    b = this._createInstance(y.data.desc, [])
                  this._services.set(y.data.id, b), i.removeNode(y.data)
                }
              }
              return this._services.get(e)
            }),
            t
          )
        })()
        t.InstantiationService = c
      }),
      define(d[404], h([0, 1, 373, 3, 40, 11]), function(e, t, n, i, o, r) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = (function() {
          function e(e, t, n, i) {
            ;(this.toDispose = []),
              (this._contextKeyService = e),
              (this._commandService = t),
              (this._statusService = i),
              (this._messageService = n),
              (this._currentChord = null),
              (this._currentChordStatusMessage = null),
              (this._onDidUpdateKeybindings = new r.Emitter()),
              this.toDispose.push(this._onDidUpdateKeybindings)
          }
          return (
            (e.prototype.dispose = function() {
              this.toDispose = i.dispose(this.toDispose)
            }),
            Object.defineProperty(e.prototype, 'onDidUpdateKeybindings', {
              get: function() {
                return this._onDidUpdateKeybindings
                  ? this._onDidUpdateKeybindings.event
                  : r.default.None
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.getDefaultKeybindingsContent = function() {
              return ''
            }),
            (e.prototype.getDefaultKeybindings = function() {
              return this._getResolver().getDefaultKeybindings()
            }),
            (e.prototype.getKeybindings = function() {
              return this._getResolver().getKeybindings()
            }),
            (e.prototype.customKeybindingsCount = function() {
              return 0
            }),
            (e.prototype.lookupKeybindings = function(e) {
              return this._getResolver()
                .lookupKeybindings(e)
                .map(function(e) {
                  return e.resolvedKeybinding
                })
            }),
            (e.prototype.lookupKeybinding = function(e) {
              var t = this._getResolver().lookupPrimaryKeybinding(e)
              return t ? t.resolvedKeybinding : null
            }),
            (e.prototype.softDispatch = function(e, t) {
              var n = this.resolveKeyboardEvent(e)
              if (n.isChord())
                return (
                  console.warn('Unexpected keyboard event mapped to a chord'),
                  null
                )
              var i = n.getDispatchParts()[0]
              if (null === i) return null
              var o = this._contextKeyService.getContext(t),
                r = this._currentChord ? this._currentChord.keypress : null
              return this._getResolver().resolve(o, r, i)
            }),
            (e.prototype._dispatch = function(e, t) {
              var i = this,
                r = !1,
                s = this.resolveKeyboardEvent(e)
              if (s.isChord())
                return (
                  console.warn('Unexpected keyboard event mapped to a chord'),
                  null
                )
              var a = s.getDispatchParts()[0]
              if (null === a) return r
              var u = this._contextKeyService.getContext(t),
                l = this._currentChord ? this._currentChord.keypress : null,
                c = s.getLabel(),
                d = this._getResolver().resolve(u, l, a)
              return d && d.enterChord
                ? ((r = !0),
                  (this._currentChord = { keypress: a, label: c }),
                  this._statusService &&
                    (this._currentChordStatusMessage = this._statusService.setStatusMessage(
                      n.localize(0, null, c)
                    )),
                  r)
                : (this._statusService &&
                    this._currentChord &&
                    ((d && d.commandId) ||
                      (this._statusService.setStatusMessage(
                        n.localize(1, null, this._currentChord.label, c),
                        1e4
                      ),
                      (r = !0))),
                  this._currentChordStatusMessage &&
                    (this._currentChordStatusMessage.dispose(),
                    (this._currentChordStatusMessage = null)),
                  (this._currentChord = null),
                  d &&
                    d.commandId &&
                    (d.bubble || (r = !0),
                    this._commandService
                      .executeCommand(d.commandId, d.commandArgs || {})
                      .done(void 0, function(e) {
                        i._messageService.show(o.default.Warning, e)
                      })),
                  r)
            }),
            e
          )
        })()
        t.AbstractKeybindingService = s
      }),
      define(d[47], h([0, 1, 16]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        !(function(e) {
          ;(e[(e.Default = 1)] = 'Default'), (e[(e.User = 2)] = 'User')
        })(t.KeybindingSource || (t.KeybindingSource = {})),
          (t.IKeybindingService = n.createDecorator('keybindingService'))
      }),
      define(d[191], h([0, 1, 27, 31]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = (function() {
          function e(t, n) {
            ;(this._defaultKeybindings = t),
              (this._defaultBoundCommands = new Map())
            for (var i = 0, o = t.length; i < o; i++) {
              var r = t[i].command
              this._defaultBoundCommands.set(r, !0)
            }
            ;(this._map = new Map()),
              (this._lookupMap = new Map()),
              (this._keybindings = e.combine(t, n))
            for (var i = 0, o = this._keybindings.length; i < o; i++) {
              var s = this._keybindings[i]
              null !== s.keypressFirstPart &&
                this._addKeyPress(s.keypressFirstPart, s)
            }
          }
          return (
            (e._isTargetedForRemoval = function(e, t, n, i, o) {
              if (e.command !== i) return !1
              if (t && e.keypressFirstPart !== t) return !1
              if (n && e.keypressChordPart !== n) return !1
              if (o) {
                if (!e.when) return !1
                if (!o.equals(e.when)) return !1
              }
              return !0
            }),
            (e.combine = function(e, t) {
              e = e.slice(0)
              for (var n = [], i = 0, o = t.length; i < o; i++) {
                var r = t[i]
                if (
                  r.command &&
                  0 !== r.command.length &&
                  '-' === r.command.charAt(0)
                )
                  for (
                    var s = r.command.substr(1),
                      a = r.keypressFirstPart,
                      u = r.keypressChordPart,
                      l = r.when,
                      c = e.length - 1;
                    c >= 0;
                    c--
                  )
                    this._isTargetedForRemoval(e[c], a, u, s, l) &&
                      e.splice(c, 1)
                else n.push(r)
              }
              return e.concat(n)
            }),
            (e.prototype._addKeyPress = function(t, n) {
              var i = this._map.get(t)
              if (void 0 === i)
                return this._map.set(t, [n]), void this._addToLookupMap(n)
              for (var o = i.length - 1; o >= 0; o--) {
                var r = i[o]
                if (r.command !== n.command) {
                  var s = null !== r.keypressChordPart,
                    a = null !== n.keypressChordPart
                  ;(s && a && r.keypressChordPart !== n.keypressChordPart) ||
                    (e.whenIsEntirelyIncluded(!0, r.when, n.when) &&
                      this._removeFromLookupMap(r))
                }
              }
              i.push(n), this._addToLookupMap(n)
            }),
            (e.prototype._addToLookupMap = function(e) {
              if (e.command) {
                var t = this._lookupMap.get(e.command)
                void 0 === t
                  ? ((t = [e]), this._lookupMap.set(e.command, t))
                  : t.push(e)
              }
            }),
            (e.prototype._removeFromLookupMap = function(e) {
              var t = this._lookupMap.get(e.command)
              if (void 0 !== t)
                for (var n = 0, i = t.length; n < i; n++)
                  if (t[n] === e) return void t.splice(n, 1)
            }),
            (e.whenIsEntirelyIncluded = function(e, t, n) {
              if (
                (e ||
                  ((t = t ? t.normalize() : null),
                  (n = n ? n.normalize() : null)),
                !n)
              )
                return !0
              if (!t) return !1
              for (
                var i = t.serialize().split(' && '),
                  o = n.serialize().split(' && '),
                  r = Object.create(null),
                  s = 0,
                  a = i.length;
                s < a;
                s++
              )
                r[i[s]] = !0
              for (var s = 0, a = o.length; s < a; s++) if (!r[o[s]]) return !1
              return !0
            }),
            (e.prototype.getDefaultBoundCommands = function() {
              return this._defaultBoundCommands
            }),
            (e.prototype.getDefaultKeybindings = function() {
              return this._defaultKeybindings
            }),
            (e.prototype.getKeybindings = function() {
              return this._keybindings
            }),
            (e.prototype.lookupKeybindings = function(e) {
              var t = this._lookupMap.get(e)
              if (void 0 === t || 0 === t.length) return []
              for (var n = [], i = 0, o = t.length - 1; o >= 0; o--)
                n[i++] = t[o]
              return n
            }),
            (e.prototype.lookupPrimaryKeybinding = function(e) {
              var t = this._lookupMap.get(e)
              return void 0 === t || 0 === t.length ? null : t[t.length - 1]
            }),
            (e.prototype.resolve = function(e, t, n) {
              var i = null
              if (null !== t) {
                if (void 0 === (a = this._map.get(t))) return null
                i = []
                for (var o = 0, r = a.length; o < r; o++) {
                  var s = a[o]
                  s.keypressChordPart === n && i.push(s)
                }
              } else {
                var a = this._map.get(n)
                if (void 0 === a) return null
                i = a
              }
              var u = this._findCommand(e, i)
              return u
                ? null === t && null !== u.keypressChordPart
                  ? {
                      enterChord: !0,
                      commandId: null,
                      commandArgs: null,
                      bubble: !1
                    }
                  : {
                      enterChord: !1,
                      commandId: u.command,
                      commandArgs: u.commandArgs,
                      bubble: u.bubble
                    }
                : null
            }),
            (e.prototype._findCommand = function(t, n) {
              for (var i = n.length - 1; i >= 0; i--) {
                var o = n[i]
                if (e.contextMatchesRules(t, o.when)) return o
              }
              return null
            }),
            (e.contextMatchesRules = function(e, t) {
              return !t || t.evaluate(e)
            }),
            (e.getAllUnboundCommands = function(e) {
              var t = i.CommandsRegistry.getCommands(),
                o = []
              for (var r in t)
                '_' !== r[0] &&
                  0 !== r.indexOf('vscode.') &&
                  ('object' != typeof t[r].description ||
                    n.isFalsyOrEmpty(t[r].description.args)) &&
                  !0 !== e.get(r) &&
                  o.push(r)
              return o
            }),
            e
          )
        })()
        t.KeybindingResolver = o
      }),
      define(d[407], h([0, 1, 3, 31, 191, 19, 73, 11]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a
      ) {
        'use strict'
        function u(e) {
          for (; e; ) {
            if (e.hasAttribute(l)) return parseInt(e.getAttribute(l), 10)
            e = e.parentElement
          }
          return 0
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var l = 'data-keybinding-context',
          c = (function() {
            function e(e, t) {
              ;(this._id = e),
                (this._parent = t),
                (this._value = Object.create(null)),
                (this._value._contextId = e)
            }
            return (
              (e.prototype.setValue = function(e, t) {
                return this._value[e] !== t && ((this._value[e] = t), !0)
              }),
              (e.prototype.removeValue = function(e) {
                return delete this._value[e]
              }),
              (e.prototype.getValue = function(e) {
                var t = this._value[e]
                return void 0 === t && this._parent
                  ? this._parent.getValue(e)
                  : t
              }),
              e
            )
          })()
        t.Context = c
        var d = (function(e) {
            function t(t, n, i) {
              var o = e.call(this, t, null) || this
              return (
                (o._emitter = i),
                (o._subscription = n.onDidUpdateConfiguration(function(e) {
                  return o._updateConfigurationContext(n.getConfiguration())
                })),
                o._updateConfigurationContext(n.getConfiguration()),
                o
              )
            }
            return (
              f(t, e),
              (t.prototype.dispose = function() {
                this._subscription.dispose()
              }),
              (t.prototype._updateConfigurationContext = function(e) {
                var t = this
                for (var n in this._value)
                  0 === n.indexOf('config.') && delete this._value[n]
                var i = function(e, n) {
                  for (var o in e)
                    if (Object.prototype.hasOwnProperty.call(e, o)) {
                      n.push(o)
                      var r = e[o]
                      if ('boolean' == typeof r) {
                        var s = n.join('.')
                        ;(t._value[s] = r), t._emitter.fire(s)
                      } else 'object' == typeof r && i(r, n)
                      n.pop()
                    }
                }
                i(e, ['config'])
              }),
              t
            )
          })(c),
          h = (function() {
            function e(e, t, n) {
              ;(this._parent = e),
                (this._key = t),
                (this._defaultValue = n),
                this.reset()
            }
            return (
              (e.prototype.set = function(e) {
                this._parent.setContext(this._key, e)
              }),
              (e.prototype.reset = function() {
                void 0 === this._defaultValue
                  ? this._parent.removeContext(this._key)
                  : this._parent.setContext(this._key, this._defaultValue)
              }),
              (e.prototype.get = function() {
                return this._parent.getContextKeyValue(this._key)
              }),
              e
            )
          })(),
          p = (function() {
            function e(e) {
              ;(this._myContextId = e),
                (this._onDidChangeContextKey = new a.Emitter())
            }
            return (
              (e.prototype.createKey = function(e, t) {
                return new h(this, e, t)
              }),
              Object.defineProperty(e.prototype, 'onDidChangeContext', {
                get: function() {
                  return (
                    this._onDidChangeContext ||
                      (this._onDidChangeContext = a.debounceEvent(
                        this._onDidChangeContextKey.event,
                        function(e, t) {
                          return (
                            e ? e.indexOf(t) < 0 && e.push(t) : (e = [t]), e
                          )
                        },
                        25
                      )),
                    this._onDidChangeContext
                  )
                },
                enumerable: !0,
                configurable: !0
              }),
              (e.prototype.createScoped = function(e) {
                return new m(this, this._onDidChangeContextKey, e)
              }),
              (e.prototype.contextMatchesRules = function(e) {
                var t = this.getContextValuesContainer(this._myContextId)
                return o.KeybindingResolver.contextMatchesRules(t, e)
              }),
              (e.prototype.getContextKeyValue = function(e) {
                return this.getContextValuesContainer(
                  this._myContextId
                ).getValue(e)
              }),
              (e.prototype.setContext = function(e, t) {
                this.getContextValuesContainer(this._myContextId).setValue(
                  e,
                  t
                ) && this._onDidChangeContextKey.fire(e)
              }),
              (e.prototype.removeContext = function(e) {
                this.getContextValuesContainer(this._myContextId).removeValue(
                  e
                ) && this._onDidChangeContextKey.fire(e)
              }),
              (e.prototype.getContext = function(e) {
                return this.getContextValuesContainer(u(e))
              }),
              e
            )
          })()
        t.AbstractContextKeyService = p
        var g = (function(e) {
          function t(t) {
            var n = e.call(this, 0) || this
            ;(n._toDispose = []),
              (n._lastContextId = 0),
              (n._contexts = Object.create(null))
            var i = new d(n._myContextId, t, n._onDidChangeContextKey)
            return (
              (n._contexts[String(n._myContextId)] = i), n._toDispose.push(i), n
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              this._toDispose = n.dispose(this._toDispose)
            }),
            (t.prototype.getContextValuesContainer = function(e) {
              return this._contexts[String(e)]
            }),
            (t.prototype.createChildContext = function(e) {
              void 0 === e && (e = this._myContextId)
              var t = ++this._lastContextId
              return (
                (this._contexts[String(t)] = new c(
                  t,
                  this.getContextValuesContainer(e)
                )),
                t
              )
            }),
            (t.prototype.disposeContext = function(e) {
              delete this._contexts[String(e)]
            }),
            t
          )
        })(p)
        ;(g = v([y(0, s.IConfigurationService)], g)), (t.ContextKeyService = g)
        var m = (function(e) {
          function t(t, n, i) {
            var o = e.call(this, t.createChildContext()) || this
            return (
              (o._parent = t),
              (o._onDidChangeContextKey = n),
              i &&
                ((o._domNode = i),
                o._domNode.setAttribute(l, String(o._myContextId))),
              o
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              this._parent.disposeContext(this._myContextId),
                this._domNode && this._domNode.removeAttribute(l)
            }),
            Object.defineProperty(t.prototype, 'onDidChangeContext', {
              get: function() {
                return this._parent.onDidChangeContext
              },
              enumerable: !0,
              configurable: !0
            }),
            (t.prototype.getContextValuesContainer = function(e) {
              return this._parent.getContextValuesContainer(e)
            }),
            (t.prototype.createChildContext = function(e) {
              return (
                void 0 === e && (e = this._myContextId),
                this._parent.createChildContext(e)
              )
            }),
            (t.prototype.disposeContext = function(e) {
              this._parent.disposeContext(e)
            }),
            t
          )
        })(p)
        i.CommandsRegistry.registerCommand(r.SET_CONTEXT_COMMAND_ID, function(
          e,
          t,
          n
        ) {
          e.get(r.IContextKeyService).createKey(String(t), n)
        })
      }),
      define(d[408], h([0, 1]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var n = (function() {
          return function(e, t, n, i, o) {
            if (((this.resolvedKeybinding = e), e)) {
              var r = e.getDispatchParts(),
                s = r[0],
                a = r[1]
              ;(this.keypressFirstPart = s), (this.keypressChordPart = a)
            } else
              (this.keypressFirstPart = null), (this.keypressChordPart = null)
            ;(this.bubble = !!t && 94 === t.charCodeAt(0)),
              (this.command = this.bubble ? t.substr(1) : t),
              (this.commandArgs = n),
              (this.when = i),
              (this.isDefault = o)
          }
        })()
        t.ResolvedKeybindingItem = n
      }),
      define(d[409], h([0, 1, 39, 195]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = (function(e) {
          function t(t, n) {
            var i = e.call(this) || this
            return (
              (i._os = n),
              null === t
                ? ((i._firstPart = null), (i._chordPart = null))
                : 2 === t.type
                  ? ((i._firstPart = t.firstPart), (i._chordPart = t.chordPart))
                  : ((i._firstPart = t), (i._chordPart = null)),
              i
            )
          }
          return (
            f(t, e),
            (t.prototype._keyCodeToUILabel = function(e) {
              if (2 === this._os)
                switch (e) {
                  case 15:
                    return '←'
                  case 16:
                    return '↑'
                  case 17:
                    return '→'
                  case 18:
                    return '↓'
                }
              return n.KeyCodeUtils.toString(e)
            }),
            (t.prototype._getUILabelForKeybinding = function(e) {
              return e
                ? e.isDuplicateModifierCase()
                  ? ''
                  : this._keyCodeToUILabel(e.keyCode)
                : null
            }),
            (t.prototype.getLabel = function() {
              var e = this._getUILabelForKeybinding(this._firstPart),
                t = this._getUILabelForKeybinding(this._chordPart)
              return i.UILabelProvider.toLabel(
                this._firstPart,
                e,
                this._chordPart,
                t,
                this._os
              )
            }),
            (t.prototype._getAriaLabelForKeybinding = function(e) {
              return e
                ? e.isDuplicateModifierCase()
                  ? ''
                  : n.KeyCodeUtils.toString(e.keyCode)
                : null
            }),
            (t.prototype.getAriaLabel = function() {
              var e = this._getAriaLabelForKeybinding(this._firstPart),
                t = this._getAriaLabelForKeybinding(this._chordPart)
              return i.AriaLabelProvider.toLabel(
                this._firstPart,
                e,
                this._chordPart,
                t,
                this._os
              )
            }),
            (t.prototype._keyCodeToElectronAccelerator = function(e) {
              if (e >= 93 && e <= 108) return null
              switch (e) {
                case 16:
                  return 'Up'
                case 18:
                  return 'Down'
                case 15:
                  return 'Left'
                case 17:
                  return 'Right'
              }
              return n.KeyCodeUtils.toString(e)
            }),
            (t.prototype._getElectronAcceleratorLabelForKeybinding = function(
              e
            ) {
              return e
                ? e.isDuplicateModifierCase()
                  ? null
                  : this._keyCodeToElectronAccelerator(e.keyCode)
                : null
            }),
            (t.prototype.getElectronAccelerator = function() {
              if (null !== this._chordPart) return null
              var e = this._getElectronAcceleratorLabelForKeybinding(
                this._firstPart
              )
              return i.ElectronAcceleratorLabelProvider.toLabel(
                this._firstPart,
                e,
                null,
                null,
                this._os
              )
            }),
            (t.prototype._getUserSettingsLabelForKeybinding = function(e) {
              return e
                ? e.isDuplicateModifierCase()
                  ? ''
                  : n.KeyCodeUtils.toUserSettingsUS(e.keyCode)
                : null
            }),
            (t.prototype.getUserSettingsLabel = function() {
              var e = this._getUserSettingsLabelForKeybinding(this._firstPart),
                t = this._getUserSettingsLabelForKeybinding(this._chordPart),
                n = i.UserSettingsLabelProvider.toLabel(
                  this._firstPart,
                  e,
                  this._chordPart,
                  t,
                  this._os
                )
              return n ? n.toLowerCase() : n
            }),
            (t.prototype.isWYSIWYG = function() {
              return !0
            }),
            (t.prototype.isChord = function() {
              return !!this._chordPart
            }),
            (t.prototype.getParts = function() {
              return [
                this._toResolvedKeybindingPart(this._firstPart),
                this._toResolvedKeybindingPart(this._chordPart)
              ]
            }),
            (t.prototype._toResolvedKeybindingPart = function(e) {
              return e
                ? new n.ResolvedKeybindingPart(
                    e.ctrlKey,
                    e.shiftKey,
                    e.altKey,
                    e.metaKey,
                    this._getUILabelForKeybinding(e),
                    this._getAriaLabelForKeybinding(e)
                  )
                : null
            }),
            (t.prototype.getDispatchParts = function() {
              return [
                this._firstPart ? t.getDispatchStr(this._firstPart) : null,
                this._chordPart ? t.getDispatchStr(this._chordPart) : null
              ]
            }),
            (t.getDispatchStr = function(e) {
              if (e.isModifierKey()) return null
              var t = ''
              return (
                e.ctrlKey && (t += 'ctrl+'),
                e.shiftKey && (t += 'shift+'),
                e.altKey && (t += 'alt+'),
                e.metaKey && (t += 'meta+'),
                (t += n.KeyCodeUtils.toString(e.keyCode))
              )
            }),
            t
          )
        })(n.ResolvedKeybinding)
        t.USLayoutResolvedKeybinding = o
      }),
      define(d[410], h([0, 1, 27, 68, 29, 11, 40]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a
        !(function(e) {
          ;(e.get = function(e, t, n) {
            if (e[t]) return e[t][n]
          }),
            (e.set = function(e, t, n, i) {
              e[t] || (e[t] = Object.create(null)), (e[t][n] = i)
            }),
            (e.remove = function(e, t, n) {
              return !(
                !e[t] ||
                !e[t][n] ||
                (delete e[t][n], o.isEmptyObject(e[t]) && delete e[t], 0)
              )
            })
        })(a || (a = {}))
        var u = (function() {
            function e(e) {
              ;(this.errors = 0),
                (this.infos = 0),
                (this.warnings = 0),
                (this.unknowns = 0),
                (this._data = Object.create(null)),
                (this._service = e),
                (this._subscription = e.onMarkerChanged(this._update, this))
            }
            return (
              (e.prototype.dispose = function() {
                this._subscription.dispose(), (this._data = void 0)
              }),
              (e.prototype._update = function(e) {
                for (var t = 0, n = e; t < n.length; t++) {
                  var i = n[t],
                    o = i.toString(),
                    r = this._data[o]
                  r && this._substract(r)
                  var s = this._resourceStats(i)
                  this._add(s), (this._data[o] = s)
                }
              }),
              (e.prototype._resourceStats = function(e) {
                var t = { errors: 0, warnings: 0, infos: 0, unknowns: 0 }
                if (
                  e.scheme === i.Schemas.inMemory ||
                  e.scheme === i.Schemas.walkThrough ||
                  e.scheme === i.Schemas.walkThroughSnippet
                )
                  return t
                for (
                  var n = 0, o = this._service.read({ resource: e });
                  n < o.length;
                  n++
                ) {
                  var r = o[n].severity
                  r === s.default.Error
                    ? (t.errors += 1)
                    : r === s.default.Warning
                      ? (t.warnings += 1)
                      : r === s.default.Info
                        ? (t.infos += 1)
                        : (t.unknowns += 1)
                }
                return t
              }),
              (e.prototype._substract = function(e) {
                ;(this.errors -= e.errors),
                  (this.warnings -= e.warnings),
                  (this.infos -= e.infos),
                  (this.unknowns -= e.unknowns)
              }),
              (e.prototype._add = function(e) {
                ;(this.errors += e.errors),
                  (this.warnings += e.warnings),
                  (this.infos += e.infos),
                  (this.unknowns += e.unknowns)
              }),
              e
            )
          })(),
          l = (function() {
            function e() {
              ;(this._onMarkerChanged = new r.Emitter()),
                (this._onMarkerChangedEvent = r.debounceEvent(
                  this._onMarkerChanged.event,
                  e._debouncer,
                  0
                )),
                (this._byResource = Object.create(null)),
                (this._byOwner = Object.create(null)),
                (this._stats = new u(this))
            }
            return (
              (e.prototype.dispose = function() {
                this._stats.dispose()
              }),
              Object.defineProperty(e.prototype, 'onMarkerChanged', {
                get: function() {
                  return this._onMarkerChangedEvent
                },
                enumerable: !0,
                configurable: !0
              }),
              (e.prototype.getStatistics = function() {
                return this._stats
              }),
              (e.prototype.remove = function(e, t) {
                if (!n.isFalsyOrEmpty(t))
                  for (var i = 0, o = t; i < o.length; i++) {
                    var r = o[i]
                    this.changeOne(e, r, void 0)
                  }
              }),
              (e.prototype.changeOne = function(t, i, o) {
                if (n.isFalsyOrEmpty(o)) {
                  var r = a.remove(this._byResource, i.toString(), t),
                    s = a.remove(this._byOwner, t, i.toString())
                  if (r !== s) throw new Error('invalid marker service state')
                  r && s && this._onMarkerChanged.fire([i])
                } else {
                  for (var u = [], l = 0, c = o; l < c.length; l++) {
                    var d = c[l],
                      h = e._toMarker(t, i, d)
                    h && u.push(h)
                  }
                  a.set(this._byResource, i.toString(), t, u),
                    a.set(this._byOwner, t, i.toString(), u),
                    this._onMarkerChanged.fire([i])
                }
              }),
              (e._toMarker = function(e, t, n) {
                var i = n.code,
                  o = n.severity,
                  r = n.message,
                  s = n.source,
                  a = n.startLineNumber,
                  u = n.startColumn,
                  l = n.endLineNumber,
                  c = n.endColumn
                if (r)
                  return (
                    (i = i || null),
                    (a = a > 0 ? a : 1),
                    (u = u > 0 ? u : 1),
                    (l = l >= a ? l : a),
                    (c = c > 0 ? c : u),
                    {
                      resource: t,
                      owner: e,
                      code: i,
                      severity: o,
                      message: r,
                      source: s,
                      startLineNumber: a,
                      startColumn: u,
                      endLineNumber: l,
                      endColumn: c
                    }
                  )
              }),
              (e.prototype.changeAll = function(t, i) {
                var o = [],
                  r = this._byOwner[t]
                if (r) {
                  delete this._byOwner[t]
                  for (var s in r) {
                    var u = a.get(this._byResource, s, t)[0]
                    u && o.push(u.resource), a.remove(this._byResource, s, t)
                  }
                }
                if (!n.isFalsyOrEmpty(i)) {
                  for (
                    var l = Object.create(null), c = 0, d = i;
                    c < d.length;
                    c++
                  ) {
                    var h = d[c],
                      s = h.resource,
                      p = h.marker,
                      f = e._toMarker(t, s, p)
                    if (f) {
                      var g = l[s.toString()]
                      g ? g.push(f) : ((l[s.toString()] = [f]), o.push(s))
                    }
                  }
                  for (var s in l)
                    a.set(this._byResource, s, t, l[s]),
                      a.set(this._byOwner, t, s, l[s])
                }
                o.length > 0 && this._onMarkerChanged.fire(o)
              }),
              (e.prototype.read = function(e) {
                void 0 === e && (e = Object.create(null))
                var t = e.owner,
                  n = e.resource,
                  i = e.take
                if (((!i || i < 0) && (i = -1), t && n))
                  return (d = a.get(this._byResource, n.toString(), t))
                    ? d.slice(0, i > 0 ? i : void 0)
                    : []
                if (t || n) {
                  var o = t ? this._byOwner[t] : this._byResource[n.toString()]
                  if (!o) return []
                  d = []
                  for (var r in o)
                    for (var s = 0, u = o[r]; s < u.length; s++) {
                      var l = u[s],
                        c = d.push(l)
                      if (i > 0 && c === i) return d
                    }
                  return d
                }
                var d = []
                for (var h in this._byResource)
                  for (var p in this._byResource[h])
                    for (
                      var f = 0, g = this._byResource[h][p];
                      f < g.length;
                      f++
                    ) {
                      var l = g[f],
                        c = d.push(l)
                      if (i > 0 && c === i) return d
                    }
                return d
              }),
              (e._debouncer = function(t, n) {
                t || ((e._dedupeMap = Object.create(null)), (t = []))
                for (var i = 0, o = n; i < o.length; i++) {
                  var r = o[i]
                  void 0 === e._dedupeMap[r.toString()] &&
                    ((e._dedupeMap[r.toString()] = !0), t.push(r))
                }
                return t
              }),
              e
            )
          })()
        t.MarkerService = l
      }),
      define(d[105], h([0, 1, 16]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.IMarkerService = n.createDecorator('markerService'))
      }),
      define(d[66], h([0, 1, 374, 8, 40, 16, 55]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.CloseAction = new s.Action(
            'close.message',
            n.localize(0, null),
            null,
            !0,
            function() {
              return i.TPromise.as(!0)
            }
          )),
          (t.LaterAction = new s.Action(
            'later.message',
            n.localize(1, null),
            null,
            !0,
            function() {
              return i.TPromise.as(!0)
            }
          )),
          (t.CancelAction = new s.Action(
            'cancel.message',
            n.localize(2, null),
            null,
            !0,
            function() {
              return i.TPromise.as(!0)
            }
          )),
          (t.IMessageService = r.createDecorator('messageService')),
          (t.IChoiceService = r.createDecorator('choiceService')),
          (t.Severity = o.default)
      }),
      define(d[413], h([0, 1, 24, 493, 68, 8, 59, 46, 31]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var l = (function() {
          function e(e, t) {
            ;(this._editorService = e), (this._commandService = t)
          }
          return (
            (e.prototype.open = function(e, t) {
              var s,
                l = e.scheme,
                c = e.path,
                d = e.query,
                h = e.fragment
              if (l === o.Schemas.http || l === o.Schemas.https)
                window.open(e.toString(!0))
              else if ('command' === l && u.CommandsRegistry.getCommand(c)) {
                var p = []
                try {
                  ;(p = i.parse(d)), Array.isArray(p) || (p = [p])
                } catch (e) {}
                s = (m = this._commandService).executeCommand.apply(
                  m,
                  [c].concat(p)
                )
              } else {
                var f = void 0,
                  g = /^L?(\d+)(?:,(\d+))?/.exec(h)
                if (
                  (g &&
                    ((f = {
                      startLineNumber: parseInt(g[1]),
                      startColumn: g[2] ? parseInt(g[2]) : 1
                    }),
                    (e = e.with({ fragment: '' }))),
                  !e.scheme)
                )
                  return r.TPromise.as(void 0)
                e.scheme === o.Schemas.file &&
                  (e = n.default.file(a.normalize(e.fsPath))),
                  (s = this._editorService.openEditor(
                    { resource: e, options: { selection: f } },
                    t && t.openToSide
                  ))
              }
              return r.TPromise.as(s)
              var m
            }),
            e
          )
        })()
        ;(l = v([y(0, s.IEditorService), y(1, u.ICommandService)], l)),
          (t.OpenerService = l)
      }),
      define(d[67], h([0, 1, 8, 16]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.IOpenerService = i.createDecorator('openerService')),
          (t.NullOpenerService = Object.freeze({
            _serviceBrand: void 0,
            open: function() {
              return n.TPromise.as(void 0)
            }
          }))
      }),
      define(d[415], h([0, 1, 149, 148, 6, 94, 67, 24, 10, 138]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var c = (function() {
            function e(e) {
              ;(this._editor = e), (this._lineNumber = -1)
            }
            return (
              (e.prototype.setLineNumber = function(e) {
                ;(this._lineNumber = e), (this._result = [])
              }),
              (e.prototype.clearResult = function() {
                this._result = []
              }),
              (e.prototype.computeSync = function() {
                for (
                  var e = function(e) {
                      return { value: e }
                    },
                    t = this._editor.getLineDecorations(this._lineNumber),
                    n = [],
                    i = 0,
                    o = t.length;
                  i < o;
                  i++
                ) {
                  var r = t[i]
                  if (r.options.glyphMarginClassName) {
                    var s = r.options.glyphMarginHoverMessage
                    ;(function(e) {
                      return e && (!Array.isArray(e) || e.length > 0)
                    })(s) &&
                      (Array.isArray(s)
                        ? (n = n.concat(s.map(e)))
                        : n.push(e(s)))
                  }
                }
                return n
              }),
              (e.prototype.onResult = function(e, t) {
                this._result = this._result.concat(e)
              }),
              (e.prototype.getResult = function() {
                return this._result
              }),
              (e.prototype.getResultWithLoadingMessage = function() {
                return this.getResult()
              }),
              e
            )
          })(),
          d = (function(e) {
            function t(i, o, r) {
              var a = e.call(this, t.ID, i) || this
              return (
                (a.openerService = o),
                (a.modeService = r),
                (a.openerService = o || s.NullOpenerService),
                (a._lastLineNumber = -1),
                (a._computer = new c(a._editor)),
                (a._hoverOperation = new n.HoverOperation(
                  a._computer,
                  function(e) {
                    return a._withResult(e)
                  },
                  null,
                  function(e) {
                    return a._withResult(e)
                  }
                )),
                a
              )
            }
            return (
              f(t, e),
              (t.prototype.dispose = function() {
                this._hoverOperation.cancel(), e.prototype.dispose.call(this)
              }),
              (t.prototype.onModelDecorationsChanged = function() {
                this.isVisible &&
                  (this._hoverOperation.cancel(),
                  this._computer.clearResult(),
                  this._hoverOperation.start())
              }),
              (t.prototype.startShowingAt = function(e) {
                this._lastLineNumber !== e &&
                  (this._hoverOperation.cancel(),
                  this.hide(),
                  (this._lastLineNumber = e),
                  this._computer.setLineNumber(e),
                  this._hoverOperation.start())
              }),
              (t.prototype.hide = function() {
                ;(this._lastLineNumber = -1),
                  this._hoverOperation.cancel(),
                  e.prototype.hide.call(this)
              }),
              (t.prototype._withResult = function(e) {
                ;(this._messages = e),
                  this._messages.length > 0
                    ? this._renderMessages(this._lastLineNumber, this._messages)
                    : this.hide()
              }),
              (t.prototype._renderMessages = function(e, t) {
                var n = this,
                  i = document.createDocumentFragment()
                t.forEach(function(e) {
                  var t = r.renderMarkedString(e.value, {
                    actionCallback: function(e) {
                      return n.openerService
                        .open(a.default.parse(e))
                        .then(void 0, u.onUnexpectedError)
                    },
                    codeBlockRenderer: function(e, t) {
                      var i = n.modeService.getModeIdForLanguageName(e)
                      return n.modeService.getOrCreateMode(i).then(function(e) {
                        return (
                          '<div class="code">' +
                          l.tokenizeToString(t, i) +
                          '</div>'
                        )
                      })
                    }
                  })
                  i.appendChild(o.$('div.hover-row', null, t))
                }),
                  this.updateContents(i),
                  this.showAt(e)
              }),
              t
            )
          })(i.GlyphHoverWidget)
        ;(d.ID = 'editor.contrib.modesGlyphHoverWidget'),
          (t.ModesGlyphHoverWidget = d)
      }),
      define(d[180], h([0, 1, 16]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.IProgressService = n.createDecorator('progressService')),
          (t.emptyProgress = Object.freeze({ report: function() {} }))
        var i = (function() {
          function e(e) {
            this._callback = e
          }
          return (
            Object.defineProperty(e.prototype, 'value', {
              get: function() {
                return this._value
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.report = function(e) {
              ;(this._value = e), this._callback()
            }),
            e
          )
        })()
        t.Progress = i
        !(function(e) {
          ;(e[(e.Scm = 1)] = 'Scm'), (e[(e.Window = 10)] = 'Window')
        })(t.ProgressLocation || (t.ProgressLocation = {})),
          (t.IProgressService2 = n.createDecorator('progressService2'))
      }),
      define(d[42], h([0, 1, 29, 76]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = (function() {
          function e() {
            this.data = {}
          }
          return (
            (e.prototype.add = function(e, t) {
              i.ok(n.isString(e)),
                i.ok(n.isObject(t)),
                i.ok(
                  !this.data.hasOwnProperty(e),
                  'There is already an extension with this id'
                ),
                (this.data[e] = t)
            }),
            (e.prototype.knows = function(e) {
              return this.data.hasOwnProperty(e)
            }),
            (e.prototype.as = function(e) {
              return this.data[e] || null
            }),
            e
          )
        })()
        t.Registry = new o()
        var r = (function() {
          function e() {
            ;(this.toBeInstantiated = []), (this.instances = [])
          }
          return (
            (e.prototype.setInstantiationService = function(e) {
              for (
                this.instantiationService = e;
                this.toBeInstantiated.length > 0;

              ) {
                var t = this.toBeInstantiated.shift()
                this.instantiate(t)
              }
            }),
            (e.prototype.instantiate = function(e) {
              var t = this.instantiationService.createInstance(e)
              this.instances.push(t)
            }),
            (e.prototype._register = function(e) {
              this.instantiationService
                ? this.instantiate(e)
                : this.toBeInstantiated.push(e)
            }),
            (e.prototype._getInstances = function() {
              return this.instances.slice(0)
            }),
            (e.prototype._setInstances = function(e) {
              this.instances = e
            }),
            e
          )
        })()
        t.BaseRegistry = r
      }),
      define(d[32], h([0, 1, 42]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.editorContribution = function(e) {
            o.INSTANCE.registerEditorBrowserContribution(e)
          })
        !(function(e) {
          e.getEditorContributions = function() {
            return o.INSTANCE.getEditorBrowserContributions()
          }
        })(t.EditorBrowserRegistry || (t.EditorBrowserRegistry = {}))
        var i = { EditorContributions: 'editor.contributions' },
          o = (function() {
            function e() {
              this.editorContributions = []
            }
            return (
              (e.prototype.registerEditorBrowserContribution = function(e) {
                this.editorContributions.push(e)
              }),
              (e.prototype.getEditorBrowserContributions = function() {
                return this.editorContributions.slice(0)
              }),
              e
            )
          })()
        ;(o.INSTANCE = new o()),
          n.Registry.add(i.EditorContributions, o.INSTANCE)
      }),
      define(d[142], h([0, 1, 326, 11, 42, 43, 17]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.Extensions = { ModesRegistry: 'editor.modesRegistry' })
        var a = (function() {
          function e() {
            ;(this._onDidAddLanguages = new i.Emitter()),
              (this.onDidAddLanguages = this._onDidAddLanguages.event),
              (this._languages = [])
          }
          return (
            (e.prototype.registerLanguage = function(e) {
              this._languages.push(e), this._onDidAddLanguages.fire([e])
            }),
            (e.prototype.registerLanguages = function(e) {
              ;(this._languages = this._languages.concat(e)),
                this._onDidAddLanguages.fire(e)
            }),
            (e.prototype.getLanguages = function() {
              return this._languages.slice(0)
            }),
            e
          )
        })()
        ;(t.EditorModesRegistry = a),
          (t.ModesRegistry = new a()),
          o.Registry.add(t.Extensions.ModesRegistry, t.ModesRegistry),
          (t.PLAINTEXT_MODE_ID = 'plaintext'),
          (t.PLAINTEXT_LANGUAGE_IDENTIFIER = new s.LanguageIdentifier(
            t.PLAINTEXT_MODE_ID,
            1
          )),
          t.ModesRegistry.registerLanguage({
            id: t.PLAINTEXT_MODE_ID,
            extensions: ['.txt', '.gitignore'],
            aliases: [n.localize(0, null), 'text'],
            mimetypes: ['text/plain']
          }),
          r.LanguageConfigurationRegistry.register(
            t.PLAINTEXT_LANGUAGE_IDENTIFIER,
            { brackets: [['(', ')'], ['[', ']'], ['{', '}']] }
          )
      }),
      define(d[420], h([
        0,
        1,
        329,
        68,
        11,
        40,
        8,
        105,
        2,
        21,
        173,
        15,
        73,
        49,
        142,
        104,
        52,
        33
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, f, g, m, _) {
        'use strict'
        function b(e) {
          return e.toString()
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var C = (function() {
            function e(e, t) {
              var n = this
              ;(this.model = e),
                (this._markerDecorations = []),
                (this._modelEventsListener = e.addBulkListener(function(e) {
                  return t(n, e)
                }))
            }
            return (
              (e.prototype.dispose = function() {
                ;(this._markerDecorations = this.model.deltaDecorations(
                  this._markerDecorations,
                  []
                )),
                  this._modelEventsListener.dispose(),
                  (this._modelEventsListener = null),
                  (this.model = null)
              }),
              (e.prototype.getModelId = function() {
                return b(this.model.uri)
              }),
              (e.prototype.acceptMarkerDecorations = function(e) {
                this._markerDecorations = this.model.deltaDecorations(
                  this._markerDecorations,
                  e
                )
              }),
              e
            )
          })(),
          w = (function() {
            function e() {}
            return (
              (e.setMarkers = function(e, t) {
                var n = this,
                  i = t
                    .read({ resource: e.model.uri, take: 500 })
                    .map(function(t) {
                      return {
                        range: n._createDecorationRange(e.model, t),
                        options: n._createDecorationOption(t)
                      }
                    })
                e.acceptMarkerDecorations(i)
              }),
              (e._createDecorationRange = function(e, t) {
                var n = e.validateRange(
                    new u.Range(
                      t.startLineNumber,
                      t.startColumn,
                      t.endLineNumber,
                      t.endColumn
                    )
                  ),
                  i = new u.Range(
                    n.startLineNumber,
                    n.startColumn,
                    n.endLineNumber,
                    n.endColumn
                  )
                if (i.isEmpty()) {
                  var o = e.getWordAtPosition(i.getStartPosition())
                  if (o)
                    i = new u.Range(
                      i.startLineNumber,
                      o.startColumn,
                      i.endLineNumber,
                      o.endColumn
                    )
                  else {
                    var r =
                      e.getLineLastNonWhitespaceColumn(n.startLineNumber) ||
                      e.getLineMaxColumn(n.startLineNumber)
                    1 === r ||
                      (i =
                        i.endColumn >= r
                          ? new u.Range(
                              i.startLineNumber,
                              r - 1,
                              i.endLineNumber,
                              r
                            )
                          : new u.Range(
                              i.startLineNumber,
                              i.startColumn,
                              i.endLineNumber,
                              i.endColumn + 1
                            ))
                  }
                } else if (
                  t.endColumn === Number.MAX_VALUE &&
                  1 === t.startColumn &&
                  i.startLineNumber === i.endLineNumber
                ) {
                  var s = e.getLineFirstNonWhitespaceColumn(t.startLineNumber)
                  s < i.endColumn &&
                    ((i = new u.Range(
                      i.startLineNumber,
                      s,
                      i.endLineNumber,
                      i.endColumn
                    )),
                    (t.startColumn = s))
                }
                return i
              }),
              (e._createDecorationOption = function(e) {
                var t, i, o, s
                switch (e.severity) {
                  case r.default.Ignore:
                    break
                  case r.default.Warning:
                  case r.default.Info:
                    ;(t = _.ClassName.EditorWarningDecoration),
                      (i = 'rgba(18,136,18,0.7)'),
                      (o = 'rgba(18,136,18,0.7)'),
                      (s = 'rgba(50,255,50,1)')
                    break
                  case r.default.Error:
                  default:
                    ;(t = _.ClassName.EditorErrorDecoration),
                      (i = 'rgba(255,18,18,0.7)'),
                      (o = 'rgba(255,18,18,0.7)'),
                      (s = 'rgba(255,50,50,1)')
                }
                var a = null,
                  u = e.message,
                  c = e.source
                return (
                  'string' == typeof u &&
                    ((u = u.trim()),
                    c &&
                      (u = /\n/g.test(u)
                        ? n.localize(0, null, c, u)
                        : n.localize(1, null, c, u)),
                    (a = [{ language: '_', value: u }])),
                  {
                    stickiness:
                      l.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
                    className: t,
                    hoverMessage: a,
                    showIfCollapsed: !0,
                    overviewRuler: {
                      color: i,
                      darkColor: o,
                      hcColor: s,
                      position: l.OverviewRulerLane.Right
                    }
                  }
                )
              }),
              e
            )
          })(),
          S =
            d.isLinux || d.isMacintosh
              ? l.DefaultEndOfLine.LF
              : l.DefaultEndOfLine.CRLF,
          E = (function() {
            function e(e, t) {
              var n = this
              ;(this._markerService = e),
                (this._configurationService = t),
                (this._models = {}),
                (this._modelCreationOptionsByLanguage = Object.create(null)),
                (this._onModelAdded = new o.Emitter()),
                (this._onModelRemoved = new o.Emitter()),
                (this._onModelModeChanged = new o.Emitter()),
                this._markerService &&
                  (this._markerServiceSubscription = this._markerService.onMarkerChanged(
                    this._handleMarkerChange,
                    this
                  )),
                (this._configurationServiceSubscription = this._configurationService.onDidUpdateConfiguration(
                  function(e) {
                    return n._updateModelOptions()
                  }
                )),
                this._updateModelOptions()
            }
            return (
              (e._readModelOptions = function(e) {
                var t = p.EDITOR_MODEL_DEFAULTS.tabSize
                if (e.editor && void 0 !== e.editor.tabSize) {
                  var n = parseInt(e.editor.tabSize, 10)
                  isNaN(n) || (t = n)
                }
                var i = p.EDITOR_MODEL_DEFAULTS.insertSpaces
                e.editor &&
                  void 0 !== e.editor.insertSpaces &&
                  (i =
                    'false' !== e.editor.insertSpaces &&
                    Boolean(e.editor.insertSpaces))
                var o = S,
                  r = e.files && e.files.eol
                '\r\n' === r
                  ? (o = l.DefaultEndOfLine.CRLF)
                  : '\n' === r && (o = l.DefaultEndOfLine.LF)
                var s = p.EDITOR_MODEL_DEFAULTS.trimAutoWhitespace
                e.editor &&
                  void 0 !== e.editor.trimAutoWhitespace &&
                  (s =
                    'false' !== e.editor.trimAutoWhitespace &&
                    Boolean(e.editor.trimAutoWhitespace))
                var a = p.EDITOR_MODEL_DEFAULTS.detectIndentation
                return (
                  e.editor &&
                    void 0 !== e.editor.detectIndentation &&
                    (a =
                      'false' !== e.editor.detectIndentation &&
                      Boolean(e.editor.detectIndentation)),
                  {
                    tabSize: t,
                    insertSpaces: i,
                    detectIndentation: a,
                    defaultEOL: o,
                    trimAutoWhitespace: s
                  }
                )
              }),
              (e.prototype.getCreationOptions = function(t) {
                var n = this._modelCreationOptionsByLanguage[t]
                return (
                  n ||
                    ((n = e._readModelOptions(
                      this._configurationService.getConfiguration(null, {
                        overrideIdentifier: t
                      })
                    )),
                    (this._modelCreationOptionsByLanguage[t] = n)),
                  n
                )
              }),
              (e.prototype._updateModelOptions = function() {
                var t = this._modelCreationOptionsByLanguage
                this._modelCreationOptionsByLanguage = Object.create(null)
                for (
                  var n = Object.keys(this._models), i = 0, o = n.length;
                  i < o;
                  i++
                ) {
                  var r = n[i],
                    s = this._models[r],
                    a = s.model.getLanguageIdentifier().language,
                    u = t[a],
                    l = this.getCreationOptions(a)
                  e._setModelOptionsForModel(s.model, l, u)
                }
              }),
              (e._setModelOptionsForModel = function(e, t, n) {
                ;(n &&
                  n.detectIndentation === t.detectIndentation &&
                  n.insertSpaces === t.insertSpaces &&
                  n.tabSize === t.tabSize &&
                  n.trimAutoWhitespace === t.trimAutoWhitespace) ||
                  (t.detectIndentation
                    ? (e.detectIndentation(t.insertSpaces, t.tabSize),
                      e.updateOptions({
                        trimAutoWhitespace: t.trimAutoWhitespace
                      }))
                    : e.updateOptions({
                        insertSpaces: t.insertSpaces,
                        tabSize: t.tabSize,
                        trimAutoWhitespace: t.trimAutoWhitespace
                      }))
              }),
              (e.prototype.dispose = function() {
                this._markerServiceSubscription &&
                  this._markerServiceSubscription.dispose(),
                  this._configurationServiceSubscription.dispose()
              }),
              (e.prototype._handleMarkerChange = function(e) {
                var t = this
                e.forEach(function(e) {
                  var n = b(e),
                    i = t._models[n]
                  i && w.setMarkers(i, t._markerService)
                })
              }),
              (e.prototype._cleanUp = function(e) {
                var t = this
                ;(e.uri.scheme !== i.Schemas.inMemory &&
                  e.uri.scheme !== i.Schemas.internal &&
                  e.uri.scheme !== i.Schemas.vscode) ||
                  (this._markerService &&
                    this._markerService
                      .read({ resource: e.uri })
                      .map(function(e) {
                        return e.owner
                      })
                      .forEach(function(n) {
                        return t._markerService.remove(n, [e.uri])
                      }))
              }),
              (e.prototype._createModelData = function(e, t, n) {
                var i = this,
                  o = this.getCreationOptions(t.language),
                  r = 'string' == typeof e ? g.RawTextSource.fromString(e) : e,
                  s = new c.Model(r, o, t, n),
                  a = b(s.uri)
                if (this._models[a])
                  throw new Error(
                    'ModelService: Cannot add model because it already exists!'
                  )
                var u = new C(s, function(e, t) {
                  return i._onModelEvents(e, t)
                })
                return (this._models[a] = u), u
              }),
              (e.prototype.updateModel = function(e, t) {
                var n = this.getCreationOptions(
                    e.getLanguageIdentifier().language
                  ),
                  i = g.TextSource.create(t, n.defaultEOL)
                e.equals(i) || e.setValueFromTextSource(i)
              }),
              (e.prototype.createModel = function(e, t, n) {
                var i
                return (
                  !t || s.TPromise.is(t)
                    ? ((i = this._createModelData(
                        e,
                        f.PLAINTEXT_LANGUAGE_IDENTIFIER,
                        n
                      )),
                      this.setMode(i.model, t))
                    : (i = this._createModelData(
                        e,
                        t.getLanguageIdentifier(),
                        n
                      )),
                  this._markerService && w.setMarkers(i, this._markerService),
                  this._onModelAdded.fire(i.model),
                  i.model
                )
              }),
              (e.prototype.setMode = function(e, t) {
                t &&
                  (s.TPromise.is(t)
                    ? t.then(function(t) {
                        e.isDisposed() || e.setMode(t.getLanguageIdentifier())
                      })
                    : e.setMode(t.getLanguageIdentifier()))
              }),
              (e.prototype.destroyModel = function(e) {
                var t = this._models[b(e)]
                t && t.model.dispose()
              }),
              (e.prototype.getModels = function() {
                for (
                  var e = [],
                    t = Object.keys(this._models),
                    n = 0,
                    i = t.length;
                  n < i;
                  n++
                ) {
                  var o = t[n]
                  e.push(this._models[o].model)
                }
                return e
              }),
              (e.prototype.getModel = function(e) {
                var t = b(e),
                  n = this._models[t]
                return n ? n.model : null
              }),
              Object.defineProperty(e.prototype, 'onModelAdded', {
                get: function() {
                  return this._onModelAdded ? this._onModelAdded.event : null
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(e.prototype, 'onModelRemoved', {
                get: function() {
                  return this._onModelRemoved
                    ? this._onModelRemoved.event
                    : null
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(e.prototype, 'onModelModeChanged', {
                get: function() {
                  return this._onModelModeChanged
                    ? this._onModelModeChanged.event
                    : null
                },
                enumerable: !0,
                configurable: !0
              }),
              (e.prototype._onModelDisposing = function(e) {
                var t = b(e.uri),
                  n = this._models[t]
                delete this._models[t],
                  n.dispose(),
                  this._cleanUp(e),
                  this._onModelRemoved.fire(e)
              }),
              (e.prototype._onModelEvents = function(t, n) {
                for (var i = 0, o = n.length; i < o; i++)
                  if ((r = n[i]).type === m.TextModelEventType.ModelDispose)
                    return void this._onModelDisposing(t.model)
                for (var i = 0, o = n.length; i < o; i++) {
                  var r = n[i]
                  if (r.type === m.TextModelEventType.ModelLanguageChanged) {
                    var s = t.model,
                      a = r.data.oldLanguage,
                      u = s.getLanguageIdentifier().language,
                      l = this.getCreationOptions(a),
                      c = this.getCreationOptions(u)
                    e._setModelOptionsForModel(s, c, l),
                      this._onModelModeChanged.fire({ model: s, oldModeId: a })
                  }
                }
              }),
              e
            )
          })()
        ;(E = v([y(0, a.IMarkerService), y(1, h.IConfigurationService)], E)),
          (t.ModelServiceImpl = E)
      }),
      define(d[421], h([
        0,
        1,
        3,
        15,
        25,
        32,
        12,
        2,
        22,
        243,
        33,
        297
      ]), function(e, t, n, i, o, r, s, a, u, l, c) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var d = (h = (function() {
          function e(e) {
            var t = this
            ;(this._editor = e),
              (this._toUnhook = []),
              this._toUnhook.push(
                this._editor.onMouseDown(function(e) {
                  return t._onEditorMouseDown(e)
                })
              ),
              this._toUnhook.push(
                this._editor.onMouseUp(function(e) {
                  return t._onEditorMouseUp(e)
                })
              ),
              this._toUnhook.push(
                this._editor.onMouseDrag(function(e) {
                  return t._onEditorMouseDrag(e)
                })
              ),
              this._toUnhook.push(
                this._editor.onMouseDrop(function(e) {
                  return t._onEditorMouseDrop(e)
                })
              ),
              this._toUnhook.push(
                this._editor.onKeyDown(function(e) {
                  return t.onEditorKeyDown(e)
                })
              ),
              this._toUnhook.push(
                this._editor.onKeyUp(function(e) {
                  return t.onEditorKeyUp(e)
                })
              ),
              (this._dndDecorationIds = []),
              (this._mouseDown = !1),
              (this._modiferPressed = !1),
              (this._dragSelection = null)
          }
          return (
            (e.get = function(e) {
              return e.getContribution(h.ID)
            }),
            (e.prototype.onEditorKeyDown = function(e) {
              this._editor.getConfiguration().dragAndDrop &&
                (e[h.TRIGGER_MODIFIER] && (this._modiferPressed = !0),
                this._mouseDown &&
                  e[h.TRIGGER_MODIFIER] &&
                  this._editor.updateOptions({ mouseStyle: 'copy' }))
            }),
            (e.prototype.onEditorKeyUp = function(e) {
              this._editor.getConfiguration().dragAndDrop &&
                (e[h.TRIGGER_MODIFIER] && (this._modiferPressed = !1),
                this._mouseDown &&
                  e.keyCode === h.TRIGGER_KEY_VALUE &&
                  this._editor.updateOptions({ mouseStyle: 'default' }))
            }),
            (e.prototype._onEditorMouseDown = function(e) {
              this._mouseDown = !0
            }),
            (e.prototype._onEditorMouseUp = function(e) {
              ;(this._mouseDown = !1),
                this._editor.updateOptions({ mouseStyle: 'text' })
            }),
            (e.prototype._onEditorMouseDrag = function(e) {
              var t = e.target
              if (null === this._dragSelection) {
                var n = this._editor.getSelections().filter(function(e) {
                  return e.containsPosition(t.position)
                })
                if (1 !== n.length) return
                this._dragSelection = n[0]
              }
              e.event[h.TRIGGER_MODIFIER]
                ? this._editor.updateOptions({ mouseStyle: 'copy' })
                : this._editor.updateOptions({ mouseStyle: 'default' }),
                this._dragSelection.containsPosition(t.position)
                  ? this._removeDecoration()
                  : this.showAt(t.position)
            }),
            (e.prototype._onEditorMouseDrop = function(e) {
              if (
                e.target &&
                (this._hitContent(e.target) || this._hitMargin(e.target)) &&
                e.target.position
              ) {
                var t = new s.Position(
                  e.target.position.lineNumber,
                  e.target.position.column
                )
                if (null === this._dragSelection) {
                  var n = this._editor.getSelections().map(function(e) {
                    return e.containsPosition(t)
                      ? new u.Selection(
                          t.lineNumber,
                          t.column,
                          t.lineNumber,
                          t.column
                        )
                      : e
                  })
                  this._editor.setSelections(n)
                } else
                  (!this._dragSelection.containsPosition(t) ||
                    ((e.event[h.TRIGGER_MODIFIER] || this._modiferPressed) &&
                      (this._dragSelection.getEndPosition().equals(t) ||
                        this._dragSelection.getStartPosition().equals(t)))) &&
                    (this._editor.pushUndoStop(),
                    this._editor.executeCommand(
                      h.ID,
                      new l.DragAndDropCommand(
                        this._dragSelection,
                        t,
                        e.event[h.TRIGGER_MODIFIER] || this._modiferPressed
                      )
                    ),
                    this._editor.pushUndoStop())
              }
              this._editor.updateOptions({ mouseStyle: 'text' }),
                this._removeDecoration(),
                (this._dragSelection = null),
                (this._mouseDown = !1)
            }),
            (e.prototype.showAt = function(e) {
              var t = this
              this._editor.changeDecorations(function(n) {
                var i = []
                i.push({
                  range: new a.Range(
                    e.lineNumber,
                    e.column,
                    e.lineNumber,
                    e.column
                  ),
                  options: h._DECORATION_OPTIONS
                }),
                  (t._dndDecorationIds = n.deltaDecorations(
                    t._dndDecorationIds,
                    i
                  ))
              }),
                this._editor.revealPosition(e)
            }),
            (e.prototype._removeDecoration = function() {
              var e = this
              this._editor.changeDecorations(function(t) {
                t.deltaDecorations(e._dndDecorationIds, [])
              })
            }),
            (e.prototype._hitContent = function(e) {
              return (
                e.type === o.MouseTargetType.CONTENT_TEXT ||
                e.type === o.MouseTargetType.CONTENT_EMPTY
              )
            }),
            (e.prototype._hitMargin = function(e) {
              return (
                e.type === o.MouseTargetType.GUTTER_GLYPH_MARGIN ||
                e.type === o.MouseTargetType.GUTTER_LINE_NUMBERS ||
                e.type === o.MouseTargetType.GUTTER_LINE_DECORATIONS
              )
            }),
            (e.prototype.getId = function() {
              return h.ID
            }),
            (e.prototype.dispose = function() {
              this._removeDecoration(),
                (this._dragSelection = null),
                (this._mouseDown = !1),
                (this._modiferPressed = !1),
                (this._toUnhook = n.dispose(this._toUnhook))
            }),
            e
          )
        })())
        ;(d.ID = 'editor.contrib.dragAndDrop'),
          (d.TRIGGER_MODIFIER = i.isMacintosh ? 'altKey' : 'ctrlKey'),
          (d.TRIGGER_KEY_VALUE = i.isMacintosh ? 6 : 5),
          (d._DECORATION_OPTIONS = c.ModelDecorationOptions.register({
            className: 'dnd-target'
          })),
          (d = h = v([r.editorContribution], d)),
          (t.DragAndDropController = d)
        var h
      }),
      define(d[422], h([0, 1, 3, 30, 6, 25, 32, 251]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = (l = (function() {
          function e(e) {
            var t = this
            ;(this.editor = e),
              (this.toDispose = []),
              i.isIPad &&
                (this.toDispose.push(
                  e.onDidChangeConfiguration(function() {
                    return t.update()
                  })
                ),
                this.update())
          }
          return (
            (e.prototype.update = function() {
              var e = !!this.widget,
                t = !this.editor.getConfiguration().readOnly
              !e && t
                ? (this.widget = new u(this.editor))
                : e && !t && (this.widget.dispose(), (this.widget = null))
            }),
            (e.prototype.getId = function() {
              return l.ID
            }),
            (e.prototype.dispose = function() {
              ;(this.toDispose = n.dispose(this.toDispose)),
                this.widget && (this.widget.dispose(), (this.widget = null))
            }),
            e
          )
        })())
        ;(a.ID = 'editor.contrib.iPadShowKeyboard'),
          (a = l = v([s.editorContribution], a)),
          (t.IPadShowKeyboard = a)
        var u = (function() {
          function e(e) {
            var t = this
            ;(this.editor = e),
              (this._domNode = document.createElement('textarea')),
              (this._domNode.className = 'iPadShowKeyboard'),
              (this._toDispose = []),
              this._toDispose.push(
                o.addDisposableListener(this._domNode, 'touchstart', function(
                  e
                ) {
                  t.editor.focus()
                })
              ),
              this._toDispose.push(
                o.addDisposableListener(this._domNode, 'focus', function(e) {
                  t.editor.focus()
                })
              ),
              this.editor.addOverlayWidget(this)
          }
          return (
            (e.prototype.dispose = function() {
              this.editor.removeOverlayWidget(this),
                (this._toDispose = n.dispose(this._toDispose))
            }),
            (e.prototype.getId = function() {
              return e.ID
            }),
            (e.prototype.getDomNode = function() {
              return this._domNode
            }),
            (e.prototype.getPosition = function() {
              return {
                preference:
                  r.OverlayWidgetPositionPreference.BOTTOM_RIGHT_CORNER
              }
            }),
            e
          )
        })()
        u.ID = 'editor.contrib.ShowKeyboardWidget'
        var l
      }),
      define(d[423], h([0, 1, 42, 38]), function(e, t, n, i) {
        'use strict'
        function o(e) {
          return e.length > 0 && '#' === e.charAt(e.length - 1)
            ? e.substring(0, e.length - 1)
            : e
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.Extensions = { JSONContribution: 'base.contributions.json' })
        var r = new ((function() {
          function e() {
            ;(this.schemasById = {}), (this.eventEmitter = new i.EventEmitter())
          }
          return (
            (e.prototype.addRegistryChangedListener = function(e) {
              return this.eventEmitter.addListener('registryChanged', e)
            }),
            (e.prototype.registerSchema = function(e, t) {
              ;(this.schemasById[o(e)] = t),
                this.eventEmitter.emit('registryChanged', {})
            }),
            (e.prototype.getSchemaContributions = function() {
              return { schemas: this.schemasById }
            }),
            e
          )
        })())()
        n.Registry.add(t.Extensions.JSONContribution, r)
      }),
      define(d[141], h([0, 1, 372, 11, 42, 29, 9, 423]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a
      ) {
        'use strict'
        function u(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
          }
        }
        function l(e) {
          return t.OVERRIDE_PROPERTY_PATTERN.test(e)
            ? n.localize(3, null, e)
            : void 0 !== v.getConfigurationProperties()[e]
              ? n.localize(4, null, e)
              : null
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.Extensions = { Configuration: 'base.contributions.configuration' })
        var c
        !(function(e) {
          ;(e[(e.WORKSPACE = 1)] = 'WORKSPACE'), (e[(e.FOLDER = 2)] = 'FOLDER')
        })((c = t.ConfigurationScope || (t.ConfigurationScope = {})))
        var d = 'vscode://schemas/settings'
        t.editorConfigurationSchemaId = 'vscode://schemas/settings/editor'
        var h = o.Registry.as(a.Extensions.JSONContribution),
          p = (function() {
            function e() {
              ;(this.overrideIdentifiers = []),
                (this.configurationContributors = []),
                (this.configurationSchema = {
                  properties: {},
                  patternProperties: {},
                  additionalProperties: !1,
                  errorMessage: 'Unknown configuration setting'
                }),
                (this.editorConfigurationSchema = {
                  properties: {},
                  patternProperties: {},
                  additionalProperties: !1,
                  errorMessage: 'Unknown editor configuration setting'
                }),
                (this._onDidRegisterConfiguration = new i.Emitter()),
                (this.configurationProperties = {}),
                this.computeOverridePropertyPattern(),
                h.registerSchema(d, this.configurationSchema),
                h.registerSchema(
                  t.editorConfigurationSchemaId,
                  this.editorConfigurationSchema
                )
            }
            return (
              Object.defineProperty(e.prototype, 'onDidRegisterConfiguration', {
                get: function() {
                  return this._onDidRegisterConfiguration.event
                },
                enumerable: !0,
                configurable: !0
              }),
              (e.prototype.registerConfiguration = function(e, t) {
                void 0 === t && (t = !0), this.registerConfigurations([e], t)
              }),
              (e.prototype.registerConfigurations = function(e, t) {
                var n = this
                void 0 === t && (t = !0),
                  e.forEach(function(e) {
                    n.validateAndRegisterProperties(e, t),
                      n.configurationContributors.push(e),
                      n.registerJSONConfiguration(e),
                      n.updateSchemaForOverrideSettingsConfiguration(e)
                  }),
                  this._onDidRegisterConfiguration.fire(this)
              }),
              (e.prototype.registerOverrideIdentifiers = function(e) {
                ;(t = this.overrideIdentifiers).push.apply(t, e),
                  this.updateOverridePropertyPatternKey()
                var t
              }),
              (e.prototype.registerDefaultConfigurations = function(e) {
                for (
                  var i = {
                      id: 'defaultOverrides',
                      title: n.localize(0, null),
                      properties: {}
                    },
                    o = 0,
                    r = e;
                  o < r.length;
                  o++
                ) {
                  var s = r[o]
                  for (var a in s.defaults) {
                    var u = s.defaults[a]
                    t.OVERRIDE_PROPERTY_PATTERN.test(a) &&
                      'object' == typeof u &&
                      (i.properties[a] = {
                        type: 'object',
                        default: u,
                        description: n.localize(1, null, a),
                        $ref: t.editorConfigurationSchemaId
                      })
                  }
                }
                Object.keys(i.properties).length &&
                  this.registerConfiguration(i, !1)
              }),
              (e.prototype.validateAndRegisterProperties = function(
                e,
                t,
                n,
                i
              ) {
                void 0 === t && (t = !0),
                  void 0 === n && (n = c.WORKSPACE),
                  void 0 === i && (i = !1),
                  (n = void 0 !== e.scope && null !== e.scope ? e.scope : n),
                  (i = e.overridable || i)
                var o = e.properties
                if (o)
                  for (var s in o) {
                    var a = void 0
                    if (t && (a = l(s))) console.warn(a), delete o[s]
                    else {
                      var d = o[s],
                        h = d.default
                      r.isUndefined(h) && (d.default = u(d.type)),
                        i && (d.overridable = !0),
                        void 0 === d.scope && (d.scope = n),
                        (this.configurationProperties[s] = o[s])
                    }
                  }
                var p = e.allOf
                if (p)
                  for (var f = 0, g = p; f < g.length; f++) {
                    var m = g[f]
                    this.validateAndRegisterProperties(m, t, n, i)
                  }
              }),
              (e.prototype.validateProperty = function(e) {
                return (
                  !t.OVERRIDE_PROPERTY_PATTERN.test(e) &&
                  void 0 !== this.getConfigurationProperties()[e]
                )
              }),
              (e.prototype.getConfigurations = function() {
                return this.configurationContributors
              }),
              (e.prototype.getConfigurationProperties = function() {
                return this.configurationProperties
              }),
              (e.prototype.registerJSONConfiguration = function(e) {
                function t(e) {
                  var i = e.properties
                  if (i) for (var o in i) n.properties[o] = i[o]
                  var r = e.allOf
                  r && r.forEach(t)
                }
                var n = this.configurationSchema
                t(e), h.registerSchema(d, n)
              }),
              (e.prototype.updateSchemaForOverrideSettingsConfiguration = function(
                e
              ) {
                e.id !== f &&
                  (this.update(e, this.editorConfigurationSchema),
                  h.registerSchema(
                    t.editorConfigurationSchemaId,
                    this.editorConfigurationSchema
                  ))
              }),
              (e.prototype.updateOverridePropertyPatternKey = function() {
                var e = this.configurationSchema.patternProperties[
                  this.overridePropertyPattern
                ]
                e ||
                  (e = {
                    type: 'object',
                    description: n.localize(2, null),
                    errorMessage:
                      'Unknown Identifier. Use language identifiers',
                    $ref: t.editorConfigurationSchemaId
                  }),
                  delete this.configurationSchema.patternProperties[
                    this.overridePropertyPattern
                  ],
                  this.computeOverridePropertyPattern(),
                  (this.configurationSchema.patternProperties[
                    this.overridePropertyPattern
                  ] = e),
                  h.registerSchema(d, this.configurationSchema)
              }),
              (e.prototype.update = function(e, t) {
                var n = this,
                  i = e.properties
                if (i)
                  for (var o in i)
                    i[o].overridable &&
                      (t.properties[o] = this.getConfigurationProperties()[o])
                var r = e.allOf
                r &&
                  r.forEach(function(e) {
                    return n.update(e, t)
                  })
              }),
              (e.prototype.computeOverridePropertyPattern = function() {
                this.overridePropertyPattern = this.overrideIdentifiers.length
                  ? m.replace(
                      '${0}',
                      this.overrideIdentifiers
                        .map(function(e) {
                          return s.createRegExp(e, !1).source
                        })
                        .join('|')
                    )
                  : g
              }),
              e
            )
          })(),
          f = 'override',
          g = '\\[.*\\]$',
          m = '\\[(${0})\\]$'
        t.OVERRIDE_PROPERTY_PATTERN = new RegExp(g)
        var v = new p()
        o.Registry.add(t.Extensions.Configuration, v), (t.validateProperty = l)
      }),
      define(d[164], h([
        0,
        1,
        294,
        11,
        3,
        28,
        15,
        141,
        42,
        122,
        111,
        49
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var h = d.EDITOR_DEFAULTS,
          p = d.EDITOR_FONT_DEFAULTS,
          g = d.EDITOR_MODEL_DEFAULTS
        t.TabFocus = new ((function() {
          function e() {
            ;(this._tabFocus = !1),
              (this._onDidChangeTabFocus = new i.Emitter()),
              (this.onDidChangeTabFocus = this._onDidChangeTabFocus.event)
          }
          return (
            (e.prototype.getTabFocusMode = function() {
              return this._tabFocus
            }),
            (e.prototype.setTabFocusMode = function(e) {
              this._tabFocus !== e &&
                ((this._tabFocus = e),
                this._onDidChangeTabFocus.fire(this._tabFocus))
            }),
            e
          )
        })())()
        var m = (function(e) {
          function n(n) {
            var o = e.call(this) || this
            return (
              (o._onDidChange = o._register(new i.Emitter())),
              (o.onDidChange = o._onDidChange.event),
              (o._rawOptions = r.mixin({}, n || {})),
              (o._rawOptions.scrollbar = r.mixin(
                {},
                o._rawOptions.scrollbar || {}
              )),
              (o._rawOptions.minimap = r.mixin(
                {},
                o._rawOptions.minimap || {}
              )),
              (o._rawOptions.find = r.mixin({}, o._rawOptions.find || {})),
              (o._validatedOptions = d.EditorOptionsValidator.validate(
                o._rawOptions,
                h
              )),
              (o.editor = null),
              (o._isDominatedByLongLines = !1),
              (o._lineNumbersDigitCount = 1),
              o._register(
                c.EditorZoom.onDidChangeZoomLevel(function(e) {
                  return o._recomputeOptions()
                })
              ),
              o._register(
                t.TabFocus.onDidChangeTabFocus(function(e) {
                  return o._recomputeOptions()
                })
              ),
              o
            )
          }
          return (
            f(n, e),
            (n.prototype.dispose = function() {
              e.prototype.dispose.call(this)
            }),
            (n.prototype._recomputeOptions = function() {
              var e = this.editor,
                t = this._computeInternalOptions()
              ;(e && e.equals(t)) ||
                ((this.editor = t),
                e && this._onDidChange.fire(e.createChangeEvent(t)))
            }),
            (n.prototype.getRawOptions = function() {
              return this._rawOptions
            }),
            (n.prototype._computeInternalOptions = function() {
              var e = this._validatedOptions,
                n = this._getEnvConfiguration(),
                i = l.BareFontInfo.createFromRawSettings(
                  this._rawOptions,
                  n.zoomLevel
                ),
                o = {
                  outerWidth: n.outerWidth,
                  outerHeight: n.outerHeight,
                  fontInfo: this.readConfiguration(i),
                  extraEditorClassName: n.extraEditorClassName,
                  isDominatedByLongLines: this._isDominatedByLongLines,
                  lineNumbersDigitCount: this._lineNumbersDigitCount,
                  emptySelectionClipboard: n.emptySelectionClipboard,
                  pixelRatio: n.pixelRatio,
                  tabFocusMode: t.TabFocus.getTabFocusMode(),
                  accessibilitySupport: n.accessibilitySupport
                }
              return d.InternalEditorOptionsFactory.createInternalEditorOptions(
                o,
                e
              )
            }),
            (n.prototype.updateOptions = function(e) {
              ;(this._rawOptions = r.mixin(this._rawOptions, e || {})),
                (this._validatedOptions = d.EditorOptionsValidator.validate(
                  this._rawOptions,
                  h
                )),
                this._recomputeOptions()
            }),
            (n.prototype.setIsDominatedByLongLines = function(e) {
              ;(this._isDominatedByLongLines = e), this._recomputeOptions()
            }),
            (n.prototype.setMaxLineNumber = function(e) {
              var t = n._digitCount(e)
              this._lineNumbersDigitCount !== t &&
                ((this._lineNumbersDigitCount = t), this._recomputeOptions())
            }),
            (n._digitCount = function(e) {
              for (var t = 0; e; ) (e = Math.floor(e / 10)), t++
              return t || 1
            }),
            n
          )
        })(o.Disposable)
        t.CommonEditorConfiguration = m
        var v = u.Registry.as(a.Extensions.Configuration),
          _ = {
            id: 'editor',
            order: 5,
            type: 'object',
            title: n.localize(0, null),
            overridable: !0,
            scope: a.ConfigurationScope.FOLDER,
            properties: {
              'editor.fontFamily': {
                type: 'string',
                default: p.fontFamily,
                description: n.localize(1, null)
              },
              'editor.fontWeight': {
                type: 'string',
                enum: [
                  'normal',
                  'bold',
                  '100',
                  '200',
                  '300',
                  '400',
                  '500',
                  '600',
                  '700',
                  '800',
                  '900'
                ],
                default: p.fontWeight,
                description: n.localize(2, null)
              },
              'editor.fontSize': {
                type: 'number',
                default: p.fontSize,
                description: n.localize(3, null)
              },
              'editor.lineHeight': {
                type: 'number',
                default: p.lineHeight,
                description: n.localize(4, null)
              },
              'editor.letterSpacing': {
                type: 'number',
                default: p.letterSpacing,
                description: n.localize(5, null)
              },
              'editor.lineNumbers': {
                type: 'string',
                enum: ['off', 'on', 'relative'],
                default: 'on',
                description: n.localize(6, null)
              },
              'editor.rulers': {
                type: 'array',
                items: { type: 'number' },
                default: h.viewInfo.rulers,
                description: n.localize(7, null)
              },
              'editor.wordSeparators': {
                type: 'string',
                default: h.wordSeparators,
                description: n.localize(8, null)
              },
              'editor.tabSize': {
                type: 'number',
                default: g.tabSize,
                minimum: 1,
                description: n.localize(9, null),
                errorMessage: n.localize(10, null)
              },
              'editor.insertSpaces': {
                type: 'boolean',
                default: g.insertSpaces,
                description: n.localize(11, null),
                errorMessage: n.localize(12, null)
              },
              'editor.detectIndentation': {
                type: 'boolean',
                default: g.detectIndentation,
                description: n.localize(13, null)
              },
              'editor.roundedSelection': {
                type: 'boolean',
                default: h.viewInfo.roundedSelection,
                description: n.localize(14, null)
              },
              'editor.scrollBeyondLastLine': {
                type: 'boolean',
                default: h.viewInfo.scrollBeyondLastLine,
                description: n.localize(15, null)
              },
              'editor.minimap.enabled': {
                type: 'boolean',
                default: h.viewInfo.minimap.enabled,
                description: n.localize(16, null)
              },
              'editor.minimap.showSlider': {
                type: 'string',
                enum: ['always', 'mouseover'],
                default: h.viewInfo.minimap.showSlider,
                description: n.localize(17, null)
              },
              'editor.minimap.renderCharacters': {
                type: 'boolean',
                default: h.viewInfo.minimap.renderCharacters,
                description: n.localize(18, null)
              },
              'editor.minimap.maxColumn': {
                type: 'number',
                default: h.viewInfo.minimap.maxColumn,
                description: n.localize(19, null)
              },
              'editor.find.seedSearchStringFromSelection': {
                type: 'boolean',
                default: h.contribInfo.find.seedSearchStringFromSelection,
                description: n.localize(20, null)
              },
              'editor.find.autoFindInSelection': {
                type: 'boolean',
                default: h.contribInfo.find.autoFindInSelection,
                description: n.localize(21, null)
              },
              'editor.wordWrap': {
                type: 'string',
                enum: ['off', 'on', 'wordWrapColumn', 'bounded'],
                enumDescriptions: [
                  n.localize(22, null),
                  n.localize(23, null),
                  n.localize(24, null),
                  n.localize(25, null)
                ],
                default: h.wordWrap,
                description: n.localize(26, null)
              },
              'editor.wordWrapColumn': {
                type: 'integer',
                default: h.wordWrapColumn,
                minimum: 1,
                description: n.localize(27, null)
              },
              'editor.wrappingIndent': {
                type: 'string',
                enum: ['none', 'same', 'indent'],
                default: 'same',
                description: n.localize(28, null)
              },
              'editor.mouseWheelScrollSensitivity': {
                type: 'number',
                default: h.viewInfo.scrollbar.mouseWheelScrollSensitivity,
                description: n.localize(29, null)
              },
              'editor.multiCursorModifier': {
                type: 'string',
                enum: ['ctrlCmd', 'alt'],
                enumDescriptions: [n.localize(30, null), n.localize(31, null)],
                default: 'alt',
                description: n.localize(32, null)
              },
              'editor.quickSuggestions': {
                anyOf: [
                  { type: 'boolean' },
                  {
                    type: 'object',
                    properties: {
                      strings: {
                        type: 'boolean',
                        default: !1,
                        description: n.localize(33, null)
                      },
                      comments: {
                        type: 'boolean',
                        default: !1,
                        description: n.localize(34, null)
                      },
                      other: {
                        type: 'boolean',
                        default: !0,
                        description: n.localize(35, null)
                      }
                    }
                  }
                ],
                default: h.contribInfo.quickSuggestions,
                description: n.localize(36, null)
              },
              'editor.quickSuggestionsDelay': {
                type: 'integer',
                default: h.contribInfo.quickSuggestionsDelay,
                minimum: 0,
                description: n.localize(37, null)
              },
              'editor.parameterHints': {
                type: 'boolean',
                default: h.contribInfo.parameterHints,
                description: n.localize(38, null)
              },
              'editor.autoClosingBrackets': {
                type: 'boolean',
                default: h.autoClosingBrackets,
                description: n.localize(39, null)
              },
              'editor.formatOnType': {
                type: 'boolean',
                default: h.contribInfo.formatOnType,
                description: n.localize(40, null)
              },
              'editor.formatOnPaste': {
                type: 'boolean',
                default: h.contribInfo.formatOnPaste,
                description: n.localize(41, null)
              },
              'editor.autoIndent': {
                type: 'boolean',
                default: h.autoIndent,
                description: n.localize(42, null)
              },
              'editor.suggestOnTriggerCharacters': {
                type: 'boolean',
                default: h.contribInfo.suggestOnTriggerCharacters,
                description: n.localize(43, null)
              },
              'editor.acceptSuggestionOnEnter': {
                type: 'string',
                enum: ['on', 'smart', 'off'],
                default: h.contribInfo.acceptSuggestionOnEnter,
                description: n.localize(44, null)
              },
              'editor.acceptSuggestionOnCommitCharacter': {
                type: 'boolean',
                default: h.contribInfo.acceptSuggestionOnCommitCharacter,
                description: n.localize(45, null)
              },
              'editor.snippetSuggestions': {
                type: 'string',
                enum: ['top', 'bottom', 'inline', 'none'],
                default: h.contribInfo.snippetSuggestions,
                description: n.localize(46, null)
              },
              'editor.emptySelectionClipboard': {
                type: 'boolean',
                default: h.emptySelectionClipboard,
                description: n.localize(47, null)
              },
              'editor.wordBasedSuggestions': {
                type: 'boolean',
                default: h.contribInfo.wordBasedSuggestions,
                description: n.localize(48, null)
              },
              'editor.suggestFontSize': {
                type: 'integer',
                default: 0,
                minimum: 0,
                description: n.localize(49, null)
              },
              'editor.suggestLineHeight': {
                type: 'integer',
                default: 0,
                minimum: 0,
                description: n.localize(50, null)
              },
              'editor.selectionHighlight': {
                type: 'boolean',
                default: h.contribInfo.selectionHighlight,
                description: n.localize(51, null)
              },
              'editor.occurrencesHighlight': {
                type: 'boolean',
                default: h.contribInfo.occurrencesHighlight,
                description: n.localize(52, null)
              },
              'editor.overviewRulerLanes': {
                type: 'integer',
                default: 3,
                description: n.localize(53, null)
              },
              'editor.overviewRulerBorder': {
                type: 'boolean',
                default: h.viewInfo.overviewRulerBorder,
                description: n.localize(54, null)
              },
              'editor.cursorBlinking': {
                type: 'string',
                enum: ['blink', 'smooth', 'phase', 'expand', 'solid'],
                default: d.blinkingStyleToString(h.viewInfo.cursorBlinking),
                description: n.localize(55, null)
              },
              'editor.mouseWheelZoom': {
                type: 'boolean',
                default: h.viewInfo.mouseWheelZoom,
                description: n.localize(56, null)
              },
              'editor.cursorStyle': {
                type: 'string',
                enum: [
                  'block',
                  'block-outline',
                  'line',
                  'line-thin',
                  'underline',
                  'underline-thin'
                ],
                default: d.cursorStyleToString(h.viewInfo.cursorStyle),
                description: n.localize(57, null)
              },
              'editor.fontLigatures': {
                type: 'boolean',
                default: h.viewInfo.fontLigatures,
                description: n.localize(58, null)
              },
              'editor.hideCursorInOverviewRuler': {
                type: 'boolean',
                default: h.viewInfo.hideCursorInOverviewRuler,
                description: n.localize(59, null)
              },
              'editor.renderWhitespace': {
                type: 'string',
                enum: ['none', 'boundary', 'all'],
                default: h.viewInfo.renderWhitespace,
                description: n.localize(60, null)
              },
              'editor.renderControlCharacters': {
                type: 'boolean',
                default: h.viewInfo.renderControlCharacters,
                description: n.localize(61, null)
              },
              'editor.renderIndentGuides': {
                type: 'boolean',
                default: h.viewInfo.renderIndentGuides,
                description: n.localize(62, null)
              },
              'editor.renderLineHighlight': {
                type: 'string',
                enum: ['none', 'gutter', 'line', 'all'],
                default: h.viewInfo.renderLineHighlight,
                description: n.localize(63, null)
              },
              'editor.codeLens': {
                type: 'boolean',
                default: h.contribInfo.codeLens,
                description: n.localize(64, null)
              },
              'editor.folding': {
                type: 'boolean',
                default: h.contribInfo.folding,
                description: n.localize(65, null)
              },
              'editor.showFoldingControls': {
                type: 'string',
                enum: ['always', 'mouseover'],
                default: h.contribInfo.showFoldingControls,
                description: n.localize(66, null)
              },
              'editor.matchBrackets': {
                type: 'boolean',
                default: h.contribInfo.matchBrackets,
                description: n.localize(67, null)
              },
              'editor.glyphMargin': {
                type: 'boolean',
                default: h.viewInfo.glyphMargin,
                description: n.localize(68, null)
              },
              'editor.useTabStops': {
                type: 'boolean',
                default: h.useTabStops,
                description: n.localize(69, null)
              },
              'editor.trimAutoWhitespace': {
                type: 'boolean',
                default: g.trimAutoWhitespace,
                description: n.localize(70, null)
              },
              'editor.stablePeek': {
                type: 'boolean',
                default: !1,
                description: n.localize(71, null)
              },
              'editor.dragAndDrop': {
                type: 'boolean',
                default: h.dragAndDrop,
                description: n.localize(72, null)
              },
              'editor.accessibilitySupport': {
                type: 'string',
                enum: ['auto', 'on', 'off'],
                enumDescriptions: [
                  n.localize(73, null),
                  n.localize(74, null),
                  n.localize(75, null)
                ],
                default: h.accessibilitySupport,
                description: n.localize(76, null)
              },
              'editor.links': {
                type: 'boolean',
                default: h.contribInfo.links,
                description: n.localize(77, null)
              },
              'diffEditor.renderSideBySide': {
                type: 'boolean',
                default: !0,
                description: n.localize(78, null)
              },
              'diffEditor.ignoreTrimWhitespace': {
                type: 'boolean',
                default: !0,
                description: n.localize(79, null)
              },
              'diffEditor.renderIndicators': {
                type: 'boolean',
                default: !0,
                description: n.localize(80, null)
              }
            }
          }
        s.isLinux &&
          (_.properties['editor.selectionClipboard'] = {
            type: 'boolean',
            default: h.contribInfo.selectionClipboard,
            description: n.localize(81, null)
          }),
          v.registerConfiguration(_)
      }),
      define(d[426], h([0, 1, 10, 470, 9, 42, 142, 17, 70, 141]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var c = Object.prototype.hasOwnProperty,
          d = (function() {
            function e(e) {
              void 0 === e && (e = !0)
              var t = this
              ;(this._nextLanguageId = 1),
                (this._languages = {}),
                (this._mimeTypesMap = {}),
                (this._nameMap = {}),
                (this._lowercaseNameMap = {}),
                (this._languageIds = []),
                e &&
                  (this._registerLanguages(s.ModesRegistry.getLanguages()),
                  s.ModesRegistry.onDidAddLanguages(function(e) {
                    return t._registerLanguages(e)
                  }))
            }
            return (
              (e.prototype._registerLanguages = function(e) {
                var t = this
                if (0 !== e.length) {
                  for (var n = 0; n < e.length; n++)
                    this._registerLanguage(e[n])
                  ;(this._mimeTypesMap = {}),
                    (this._nameMap = {}),
                    (this._lowercaseNameMap = {}),
                    Object.keys(this._languages).forEach(function(e) {
                      var n = t._languages[e]
                      n.name && (t._nameMap[n.name] = n.identifier),
                        n.aliases.forEach(function(e) {
                          t._lowercaseNameMap[e.toLowerCase()] = n.identifier
                        }),
                        n.mimetypes.forEach(function(e) {
                          t._mimeTypesMap[e] = n.identifier
                        })
                    }),
                    r.Registry.as(
                      l.Extensions.Configuration
                    ).registerOverrideIdentifiers(
                      s.ModesRegistry.getLanguages().map(function(e) {
                        return e.id
                      })
                    )
                }
              }),
              (e.prototype._registerLanguage = function(t) {
                var n = t.id,
                  i = null
                if (c.call(this._languages, n)) i = this._languages[n]
                else {
                  var o = this._nextLanguageId++
                  ;(i = {
                    identifier: new a.LanguageIdentifier(n, o),
                    name: null,
                    mimetypes: [],
                    aliases: [],
                    extensions: [],
                    filenames: [],
                    configurationFiles: []
                  }),
                    (this._languageIds[o] = n),
                    (this._languages[n] = i)
                }
                e._mergeLanguage(i, t)
              }),
              (e._mergeLanguage = function(e, t) {
                var r = t.id,
                  s = null
                if (void 0 !== t.mimetypes && Array.isArray(t.mimetypes))
                  for (y = 0; y < t.mimetypes.length; y++)
                    s || (s = t.mimetypes[y]), e.mimetypes.push(t.mimetypes[y])
                if (
                  (s || ((s = 'text/x-' + r), e.mimetypes.push(s)),
                  Array.isArray(t.extensions))
                )
                  for (var a = 0, u = t.extensions; a < u.length; a++) {
                    var l = u[a]
                    i.registerTextMime({ id: r, mime: s, extension: l }),
                      e.extensions.push(l)
                  }
                if (Array.isArray(t.filenames))
                  for (var c = 0, d = t.filenames; c < d.length; c++) {
                    var h = d[c]
                    i.registerTextMime({ id: r, mime: s, filename: h }),
                      e.filenames.push(h)
                  }
                if (Array.isArray(t.filenamePatterns))
                  for (var p = 0, f = t.filenamePatterns; p < f.length; p++) {
                    var g = f[p]
                    i.registerTextMime({ id: r, mime: s, filepattern: g })
                  }
                if ('string' == typeof t.firstLine && t.firstLine.length > 0) {
                  var m = t.firstLine
                  '^' !== m.charAt(0) && (m = '^' + m)
                  try {
                    var v = new RegExp(m)
                    o.regExpLeadsToEndlessLoop(v) ||
                      i.registerTextMime({ id: r, mime: s, firstline: v })
                  } catch (e) {
                    n.onUnexpectedError(e)
                  }
                }
                e.aliases.push(r)
                var _ = null
                if (
                  (void 0 !== t.aliases &&
                    Array.isArray(t.aliases) &&
                    (_ = 0 === t.aliases.length ? [null] : t.aliases),
                  null !== _)
                )
                  for (var y = 0; y < _.length; y++)
                    _[y] && 0 !== _[y].length && e.aliases.push(_[y])
                var b = null !== _ && _.length > 0
                if (b && null === _[0]);
                else {
                  var C = (b ? _[0] : null) || r
                  ;(!b && e.name) || (e.name = C)
                }
                'string' == typeof t.configuration &&
                  e.configurationFiles.push(t.configuration)
              }),
              (e.prototype.isRegisteredMode = function(e) {
                return (
                  !!c.call(this._mimeTypesMap, e) || c.call(this._languages, e)
                )
              }),
              (e.prototype.getRegisteredModes = function() {
                return Object.keys(this._languages)
              }),
              (e.prototype.getRegisteredLanguageNames = function() {
                return Object.keys(this._nameMap)
              }),
              (e.prototype.getLanguageName = function(e) {
                return c.call(this._languages, e)
                  ? this._languages[e].name
                  : null
              }),
              (e.prototype.getModeIdForLanguageNameLowercase = function(e) {
                return c.call(this._lowercaseNameMap, e)
                  ? this._lowercaseNameMap[e].language
                  : null
              }),
              (e.prototype.getConfigurationFiles = function(e) {
                return c.call(this._languages, e)
                  ? this._languages[e].configurationFiles || []
                  : []
              }),
              (e.prototype.getMimeForMode = function(e) {
                return c.call(this._languages, e)
                  ? this._languages[e].mimetypes[0] || null
                  : null
              }),
              (e.prototype.extractModeIds = function(e) {
                var t = this
                return e
                  ? e
                      .split(',')
                      .map(function(e) {
                        return e.trim()
                      })
                      .map(function(e) {
                        return c.call(t._mimeTypesMap, e)
                          ? t._mimeTypesMap[e].language
                          : e
                      })
                      .filter(function(e) {
                        return c.call(t._languages, e)
                      })
                  : []
              }),
              (e.prototype.getLanguageIdentifier = function(e) {
                if (e === u.NULL_MODE_ID || 0 === e)
                  return u.NULL_LANGUAGE_IDENTIFIER
                var t
                if ('string' == typeof e) t = e
                else if (!(t = this._languageIds[e])) return null
                return c.call(this._languages, t)
                  ? this._languages[t].identifier
                  : null
              }),
              (e.prototype.getModeIdsFromLanguageName = function(e) {
                return e && c.call(this._nameMap, e)
                  ? [this._nameMap[e].language]
                  : []
              }),
              (e.prototype.getModeIdsFromFilenameOrFirstLine = function(e, t) {
                if (!e && !t) return []
                var n = i.guessMimeTypes(e, t)
                return this.extractModeIds(n.join(','))
              }),
              (e.prototype.getExtensions = function(e) {
                if (!c.call(this._nameMap, e)) return []
                var t = this._nameMap[e]
                return this._languages[t.language].extensions
              }),
              (e.prototype.getFilenames = function(e) {
                if (!c.call(this._nameMap, e)) return []
                var t = this._nameMap[e]
                return this._languages[t.language].filenames
              }),
              e
            )
          })()
        t.LanguagesRegistry = d
      }),
      define(d[427], h([0, 1, 10, 11, 8, 211, 426]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = (function() {
          function e() {
            ;(this._onDidCreateMode = new i.Emitter()),
              (this.onDidCreateMode = this._onDidCreateMode.event),
              (this._instantiatedModes = {}),
              (this._registry = new s.LanguagesRegistry())
          }
          return (
            (e.prototype._onReady = function() {
              return o.TPromise.as(!0)
            }),
            (e.prototype.isRegisteredMode = function(e) {
              return this._registry.isRegisteredMode(e)
            }),
            (e.prototype.getRegisteredModes = function() {
              return this._registry.getRegisteredModes()
            }),
            (e.prototype.getRegisteredLanguageNames = function() {
              return this._registry.getRegisteredLanguageNames()
            }),
            (e.prototype.getExtensions = function(e) {
              return this._registry.getExtensions(e)
            }),
            (e.prototype.getFilenames = function(e) {
              return this._registry.getFilenames(e)
            }),
            (e.prototype.getMimeForMode = function(e) {
              return this._registry.getMimeForMode(e)
            }),
            (e.prototype.getLanguageName = function(e) {
              return this._registry.getLanguageName(e)
            }),
            (e.prototype.getModeIdForLanguageName = function(e) {
              return this._registry.getModeIdForLanguageNameLowercase(e)
            }),
            (e.prototype.getModeIdByFilenameOrFirstLine = function(e, t) {
              var n = this._registry.getModeIdsFromFilenameOrFirstLine(e, t)
              return n.length > 0 ? n[0] : null
            }),
            (e.prototype.getModeId = function(e) {
              var t = this._registry.extractModeIds(e)
              return t.length > 0 ? t[0] : null
            }),
            (e.prototype.getLanguageIdentifier = function(e) {
              return this._registry.getLanguageIdentifier(e)
            }),
            (e.prototype.getConfigurationFiles = function(e) {
              return this._registry.getConfigurationFiles(e)
            }),
            (e.prototype.lookup = function(e) {
              for (
                var t = [], n = this._registry.extractModeIds(e), i = 0;
                i < n.length;
                i++
              ) {
                var o = n[i]
                t.push({
                  modeId: o,
                  isInstantiated: this._instantiatedModes.hasOwnProperty(o)
                })
              }
              return t
            }),
            (e.prototype.getMode = function(e) {
              for (
                var t = this._registry.extractModeIds(e), i = !1, o = 0;
                o < t.length;
                o++
              ) {
                if (this._instantiatedModes.hasOwnProperty(t[o]))
                  return this._instantiatedModes[t[o]]
                i = i || 'plaintext' === t[o]
              }
              if (i) {
                var r = null
                return (
                  this.getOrCreateMode(e)
                    .then(function(e) {
                      r = e
                    })
                    .done(null, n.onUnexpectedError),
                  r
                )
              }
              return null
            }),
            (e.prototype.getOrCreateMode = function(e) {
              var t = this
              return this._onReady().then(function() {
                var n = t.getModeId(e)
                return t._getOrCreateMode(n || 'plaintext')
              })
            }),
            (e.prototype.getOrCreateModeByLanguageName = function(e) {
              var t = this
              return this._onReady().then(function() {
                var n = t._getModeIdByLanguageName(e)
                return t._getOrCreateMode(n || 'plaintext')
              })
            }),
            (e.prototype._getModeIdByLanguageName = function(e) {
              var t = this._registry.getModeIdsFromLanguageName(e)
              return t.length > 0 ? t[0] : null
            }),
            (e.prototype.getOrCreateModeByFilenameOrFirstLine = function(e, t) {
              var n = this
              return this._onReady().then(function() {
                var i = n.getModeIdByFilenameOrFirstLine(e, t)
                return n._getOrCreateMode(i || 'plaintext')
              })
            }),
            (e.prototype._getOrCreateMode = function(e) {
              if (!this._instantiatedModes.hasOwnProperty(e)) {
                var t = this.getLanguageIdentifier(e)
                ;(this._instantiatedModes[e] = new r.FrankensteinMode(t)),
                  this._onDidCreateMode.fire(this._instantiatedModes[e])
              }
              return this._instantiatedModes[e]
            }),
            e
          )
        })()
        t.ModeServiceImpl = a
      }),
      define(d[428], h([0, 1, 42, 520, 141, 73]), function(e, t, n, i, o, r) {
        'use strict'
        function s() {
          var e = Object.create(null),
            t = n.Registry.as(
              o.Extensions.Configuration
            ).getConfigurationProperties()
          for (var i in t)
            u(e, i, t[i].default, function(e) {
              return console.error('Conflict in default settings: ' + e)
            })
          return e
        }
        function a(e, t) {
          var n = Object.create(null)
          for (var i in e) u(n, i, e[i], t)
          return n
        }
        function u(e, t, n, i) {
          for (
            var o = t.split('.'), r = o.pop(), s = e, a = 0;
            a < o.length;
            a++
          ) {
            var u = o[a],
              l = s[u]
            switch (typeof l) {
              case 'undefined':
                l = s[u] = Object.create(null)
                break
              case 'object':
                break
              default:
                return void i(
                  'Ignoring ' +
                    t +
                    ' as ' +
                    o.slice(0, a + 1).join('.') +
                    ' is ' +
                    JSON.stringify(l)
                )
            }
            s = l
          }
          'object' == typeof s
            ? (s[r] = n)
            : i(
                'Ignoring ' +
                  t +
                  ' as ' +
                  o.join('.') +
                  ' is ' +
                  JSON.stringify(s)
              )
        }
        function l() {
          var e = n.Registry.as(
            o.Extensions.Configuration
          ).getConfigurationProperties()
          return Object.keys(e)
        }
        function c(e) {
          return e.substring(1, e.length - 1)
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.getDefaultValues = s),
          (t.toValuesTree = a),
          (t.getConfigurationKeys = l)
        var d = (function(e) {
          function t() {
            var t = e.call(this, s()) || this
            return (
              (t._keys = l()),
              (t._overrides = Object.keys(t._contents)
                .filter(function(e) {
                  return o.OVERRIDE_PROPERTY_PATTERN.test(e)
                })
                .map(function(e) {
                  return {
                    identifiers: [c(e).trim()],
                    contents: a(t._contents[e], function(e) {
                      return console.error(
                        'Conflict in default settings file: ' + e
                      )
                    })
                  }
                })),
              t
            )
          }
          return (
            f(t, e),
            Object.defineProperty(t.prototype, 'keys', {
              get: function() {
                return this._keys
              },
              enumerable: !0,
              configurable: !0
            }),
            t
          )
        })(r.ConfigurationModel)
        t.DefaultConfigurationModel = d
        var h = (function(e) {
          function t(t, n) {
            void 0 === t && (t = ''), void 0 === n && (n = '')
            var i = e.call(this) || this
            return (i.name = n), (i._parseErrors = []), t && i.update(t), i
          }
          return (
            f(t, e),
            Object.defineProperty(t.prototype, 'errors', {
              get: function() {
                return this._parseErrors
              },
              enumerable: !0,
              configurable: !0
            }),
            (t.prototype.update = function(e) {
              function t(e) {
                Array.isArray(h) ? h.push(e) : d && (h[d] = e),
                  o.OVERRIDE_PROPERTY_PATTERN.test(d) && r(d, e)
              }
              function r(e, t) {
                l.push({ identifiers: [c(e).trim()], raw: t, contents: null })
              }
              var s = this,
                u = {},
                l = [],
                d = null,
                h = [],
                p = [],
                f = [],
                g = {
                  onObjectBegin: function() {
                    var e = {}
                    t(e), p.push(h), (h = e), (d = null)
                  },
                  onObjectProperty: function(e) {
                    d = e
                  },
                  onObjectEnd: function() {
                    h = p.pop()
                  },
                  onArrayBegin: function() {
                    var e = []
                    t(e), p.push(h), (h = e), (d = null)
                  },
                  onArrayEnd: function() {
                    h = p.pop()
                  },
                  onLiteralValue: t,
                  onError: function(e) {
                    f.push({ error: e })
                  }
                }
              if (e)
                try {
                  i.visit(e, g), (u = h[0] || {})
                } catch (e) {
                  console.error(
                    'Error while parsing settings file ' + this.name + ': ' + e
                  ),
                    (this._parseErrors = [e])
                }
              this.processRaw(u)
              var m = n.Registry.as(
                o.Extensions.Configuration
              ).getConfigurationProperties()
              this._overrides = l.map(function(e) {
                var t = {}
                for (var n in e.raw)
                  m[n] && m[n].overridable && (t[n] = e.raw[n])
                return {
                  identifiers: e.identifiers,
                  contents: a(t, function(e) {
                    return console.error(
                      'Conflict in settings file ' + s.name + ': ' + e
                    )
                  })
                }
              })
            }),
            (t.prototype.processRaw = function(e) {
              var t = this
              ;(this._contents = a(e, function(e) {
                return console.error(
                  'Conflict in settings file ' + t.name + ': ' + e
                )
              })),
                (this._keys = Object.keys(e))
            }),
            t
          )
        })(r.ConfigurationModel)
        ;(t.CustomConfigurationModel = h),
          (t.overrideIdentifierFromKey = c),
          (t.keyFromOverrideIdentifier = function(e) {
            return '[' + e + ']'
          })
      }),
      define(d[91], h([0, 1, 39, 15, 31, 42]), function(e, t, n, i, o, r) {
        'use strict'
        function s(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
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = (function() {
          function e() {
            ;(this.WEIGHT = {
              editorCore: function(e) {
                return void 0 === e && (e = 0), 0 + e
              },
              editorContrib: function(e) {
                return void 0 === e && (e = 0), 100 + e
              },
              workbenchContrib: function(e) {
                return void 0 === e && (e = 0), 200 + e
              },
              builtinExtension: function(e) {
                return void 0 === e && (e = 0), 300 + e
              },
              externalExtension: function(e) {
                return void 0 === e && (e = 0), 400 + e
              }
            }),
              (this._keybindings = [])
          }
          return (
            (e.bindToCurrentPlatform = function(e) {
              if (1 === i.OS) {
                if (e && e.win) return e.win
              } else if (2 === i.OS) {
                if (e && e.mac) return e.mac
              } else if (e && e.linux) return e.linux
              return e
            }),
            (e.bindToCurrentPlatform2 = function(e) {
              if (1 === i.OS) {
                if (e && e.win) return e.win
              } else if (2 === i.OS) {
                if (e && e.mac) return e.mac
              } else if (e && e.linux) return e.linux
              return e
            }),
            (e.prototype.registerKeybindingRule = function(t) {
              var o = this,
                r = e.bindToCurrentPlatform(t)
              r &&
                r.primary &&
                this.registerDefaultKeybinding(
                  n.createKeybinding(r.primary, i.OS),
                  t.id,
                  t.weight,
                  0,
                  t.when
                ),
                r &&
                  Array.isArray(r.secondary) &&
                  r.secondary.forEach(function(e, r) {
                    return o.registerDefaultKeybinding(
                      n.createKeybinding(e, i.OS),
                      t.id,
                      t.weight,
                      -r - 1,
                      t.when
                    )
                  })
            }),
            (e.prototype.registerKeybindingRule2 = function(t) {
              var n = e.bindToCurrentPlatform2(t)
              n &&
                n.primary &&
                this.registerDefaultKeybinding(
                  n.primary,
                  t.id,
                  t.weight,
                  0,
                  t.when
                )
            }),
            (e.prototype.registerCommandAndKeybindingRule = function(e) {
              this.registerKeybindingRule(e),
                o.CommandsRegistry.registerCommand(e.id, e)
            }),
            (e._mightProduceChar = function(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))
              )
            }),
            (e.prototype._assertNoCtrlAlt = function(t, n) {
              t.ctrlKey &&
                t.altKey &&
                !t.metaKey &&
                e._mightProduceChar(t.keyCode) &&
                console.warn(
                  'Ctrl+Alt+ keybindings should not be used by default under Windows. Offender: ',
                  t,
                  ' for ',
                  n
                )
            }),
            (e.prototype.registerDefaultKeybinding = function(e, t, n, o, r) {
              1 === i.OS &&
                (2 === e.type
                  ? this._assertNoCtrlAlt(e.firstPart, t)
                  : this._assertNoCtrlAlt(e, t)),
                this._keybindings.push({
                  keybinding: e,
                  command: t,
                  commandArgs: null,
                  when: r,
                  weight1: n,
                  weight2: o
                })
            }),
            (e.prototype.getDefaultKeybindings = function() {
              var e = this._keybindings.slice(0)
              return e.sort(s), e
            }),
            e
          )
        })()
        ;(t.KeybindingsRegistry = new a()),
          (t.Extensions = { EditorModes: 'platform.keybindingsRegistry' }),
          r.Registry.add(t.Extensions.EditorModes, t.KeybindingsRegistry)
      }),
      define(d[140], h([
        0,
        1,
        68,
        40,
        24,
        8,
        73,
        31,
        404,
        409,
        191,
        47,
        21,
        11,
        428,
        3,
        6,
        64,
        91,
        397,
        39,
        408,
        15
      ]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c,
        d,
        h,
        p,
        g,
        m,
        v,
        _,
        y,
        b,
        C,
        w,
        S
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var E = (function() {
          function e(e) {
            this._widget = e
          }
          return (
            (e.prototype.getId = function() {
              return 'editor'
            }),
            (e.prototype.getControl = function() {
              return this._widget
            }),
            (e.prototype.getSelection = function() {
              return this._widget.getSelection()
            }),
            (e.prototype.focus = function() {
              this._widget.focus()
            }),
            (e.prototype.isVisible = function() {
              return !0
            }),
            (e.prototype.withTypedEditor = function(e, t) {
              return h.isCommonCodeEditor(this._widget)
                ? e(this._widget)
                : t(this._widget)
            }),
            e
          )
        })()
        t.SimpleEditor = E
        var L = (function() {
          function e(e) {
            ;(this.model = e), (this._onDispose = new p.Emitter())
          }
          return (
            Object.defineProperty(e.prototype, 'onDispose', {
              get: function() {
                return this._onDispose.event
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.load = function() {
              return r.TPromise.as(this)
            }),
            Object.defineProperty(e.prototype, 'textEditorModel', {
              get: function() {
                return this.model
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.dispose = function() {
              this._onDispose.fire()
            }),
            e
          )
        })()
        t.SimpleModel = L
        var x = (function() {
          function e() {
            this.openEditorDelegate = null
          }
          return (
            (e.prototype.setEditor = function(e) {
              this.editor = new E(e)
            }),
            (e.prototype.setOpenEditorDelegate = function(e) {
              this.openEditorDelegate = e
            }),
            (e.prototype.openEditor = function(e, t) {
              var n = this
              return r.TPromise.as(
                this.editor.withTypedEditor(
                  function(t) {
                    return n.doOpenEditor(t, e)
                  },
                  function(t) {
                    return (
                      n.doOpenEditor(t.getOriginalEditor(), e) ||
                      n.doOpenEditor(t.getModifiedEditor(), e)
                    )
                  }
                )
              )
            }),
            (e.prototype.doOpenEditor = function(e, t) {
              if (!this.findModel(e, t)) {
                if (t.resource) {
                  if (this.openEditorDelegate)
                    return this.openEditorDelegate(t.resource.toString()), null
                  var i = t.resource.scheme
                  if (i === n.Schemas.http || i === n.Schemas.https)
                    return window.open(t.resource.toString()), this.editor
                }
                return null
              }
              var o = t.options.selection
              if (o)
                if (
                  'number' == typeof o.endLineNumber &&
                  'number' == typeof o.endColumn
                )
                  e.setSelection(o), e.revealRangeInCenter(o)
                else {
                  var r = {
                    lineNumber: o.startLineNumber,
                    column: o.startColumn
                  }
                  e.setPosition(r), e.revealPositionInCenter(r)
                }
              return this.editor
            }),
            (e.prototype.findModel = function(e, t) {
              var n = e.getModel()
              return n.uri.toString() !== t.resource.toString() ? null : n
            }),
            e
          )
        })()
        t.SimpleEditorService = x
        var N = (function() {
          function e() {}
          return (
            (e.prototype.setEditor = function(e) {
              this.editor = new E(e)
            }),
            (e.prototype.createModelReference = function(e) {
              var t,
                n = this
              return (
                (t = this.editor.withTypedEditor(
                  function(t) {
                    return n.findModel(t, e)
                  },
                  function(t) {
                    return (
                      n.findModel(t.getOriginalEditor(), e) ||
                      n.findModel(t.getModifiedEditor(), e)
                    )
                  }
                )),
                t
                  ? r.TPromise.as(new m.ImmortalReference(new L(t)))
                  : r.TPromise.as(new m.ImmortalReference(null))
              )
            }),
            (e.prototype.registerTextModelContentProvider = function(e, t) {
              return { dispose: function() {} }
            }),
            (e.prototype.findModel = function(e, t) {
              var n = e.getModel()
              return n.uri.toString() !== t.toString() ? null : n
            }),
            e
          )
        })()
        t.SimpleEditorModelResolverService = N
        var M = (function() {
          function e() {}
          return (
            (e.prototype.show = function() {
              return e.NULL_PROGRESS_RUNNER
            }),
            (e.prototype.showWhile = function(e, t) {
              return null
            }),
            e
          )
        })()
        ;(M.NULL_PROGRESS_RUNNER = {
          done: function() {},
          total: function() {},
          worked: function() {}
        }),
          (t.SimpleProgressService = M)
        var T = (function() {
          function e() {}
          return (
            (e.prototype.show = function(t, n) {
              switch (t) {
                case i.default.Error:
                  console.error(n)
                  break
                case i.default.Warning:
                  console.warn(n)
                  break
                default:
                  console.log(n)
              }
              return e.Empty
            }),
            (e.prototype.hideAll = function() {}),
            (e.prototype.confirm = function(e) {
              var t = e.message
              return e.detail && (t = t + '\n\n' + e.detail), window.confirm(t)
            }),
            e
          )
        })()
        ;(T.Empty = function() {}), (t.SimpleMessageService = T)
        var k = (function() {
          function e(e) {
            ;(this._onWillExecuteCommand = new p.Emitter()),
              (this.onWillExecuteCommand = this._onWillExecuteCommand.event),
              (this._instantiationService = e),
              (this._dynamicCommands = Object.create(null))
          }
          return (
            (e.prototype.addCommand = function(e, t) {
              var n = this
              return (
                (this._dynamicCommands[e] = t),
                {
                  dispose: function() {
                    delete n._dynamicCommands[e]
                  }
                }
              )
            }),
            (e.prototype.executeCommand = function(e) {
              for (var t = [], n = 1; n < arguments.length; n++)
                t[n - 1] = arguments[n]
              var i =
                a.CommandsRegistry.getCommand(e) || this._dynamicCommands[e]
              if (!i)
                return r.TPromise.wrapError(
                  new Error("command '" + e + "' not found")
                )
              try {
                this._onWillExecuteCommand.fire({ commandId: e })
                var o = this._instantiationService.invokeFunction.apply(
                  this._instantiationService,
                  [i.handler].concat(t)
                )
                return r.TPromise.as(o)
              } catch (e) {
                return r.TPromise.wrapError(e)
              }
            }),
            e
          )
        })()
        t.StandaloneCommandService = k
        var I = (function(e) {
          function t(t, n, i, o) {
            var r = e.call(this, t, n, i) || this
            return (
              (r._cachedResolver = null),
              (r._dynamicKeybindings = []),
              r.toDispose.push(
                v.addDisposableListener(o, v.EventType.KEY_DOWN, function(e) {
                  var t = new _.StandardKeyboardEvent(e)
                  r._dispatch(t, t.target) && t.preventDefault()
                })
              ),
              r
            )
          }
          return (
            f(t, e),
            (t.prototype.addDynamicKeybinding = function(e, t, n, i) {
              var o = this,
                r = []
              this._dynamicKeybindings.push({
                keybinding: C.createKeybinding(t, S.OS),
                command: e,
                when: i,
                weight1: 1e3,
                weight2: 0
              }),
                r.push({
                  dispose: function() {
                    for (var t = 0; t < o._dynamicKeybindings.length; t++)
                      if (o._dynamicKeybindings[t].command === e)
                        return (
                          o._dynamicKeybindings.splice(t, 1),
                          void o.updateResolver({
                            source: d.KeybindingSource.Default
                          })
                        )
                  }
                })
              var s = this._commandService
              if (!(s instanceof k)) throw new Error('Unknown command service!')
              return (
                r.push(s.addCommand(e, { handler: n })),
                this.updateResolver({ source: d.KeybindingSource.Default }),
                m.combinedDisposable(r)
              )
            }),
            (t.prototype.updateResolver = function(e) {
              ;(this._cachedResolver = null),
                this._onDidUpdateKeybindings.fire(e)
            }),
            (t.prototype._getResolver = function() {
              if (!this._cachedResolver) {
                var e = this._toNormalizedKeybindingItems(
                    y.KeybindingsRegistry.getDefaultKeybindings(),
                    !0
                  ),
                  t = this._toNormalizedKeybindingItems(
                    this._dynamicKeybindings,
                    !1
                  )
                this._cachedResolver = new c.KeybindingResolver(e, t)
              }
              return this._cachedResolver
            }),
            (t.prototype._toNormalizedKeybindingItems = function(e, t) {
              for (var n = [], i = 0, o = 0, r = e.length; o < r; o++) {
                var s = e[o],
                  a = s.when ? s.when.normalize() : null,
                  u = s.keybinding
                if (u)
                  for (
                    var l = this.resolveKeybinding(u), c = 0;
                    c < l.length;
                    c++
                  )
                    n[i++] = new w.ResolvedKeybindingItem(
                      l[c],
                      s.command,
                      s.commandArgs,
                      a,
                      t
                    )
                else
                  n[i++] = new w.ResolvedKeybindingItem(
                    null,
                    s.command,
                    s.commandArgs,
                    a,
                    t
                  )
              }
              return n
            }),
            (t.prototype.resolveKeybinding = function(e) {
              return [new l.USLayoutResolvedKeybinding(e, S.OS)]
            }),
            (t.prototype.resolveKeyboardEvent = function(e) {
              var t = new C.SimpleKeybinding(
                e.ctrlKey,
                e.shiftKey,
                e.altKey,
                e.metaKey,
                e.keyCode
              )
              return new l.USLayoutResolvedKeybinding(t, S.OS)
            }),
            (t.prototype.resolveUserBinding = function(e) {
              return []
            }),
            t
          )
        })(u.AbstractKeybindingService)
        t.StandaloneKeybindingService = I
        var D = (function() {
          function e() {
            ;(this._onDidUpdateConfiguration = new p.Emitter()),
              (this.onDidUpdateConfiguration = this._onDidUpdateConfiguration.event),
              (this._configuration = new s.Configuration(
                new g.DefaultConfigurationModel(),
                new s.ConfigurationModel()
              ))
          }
          return (
            (e.prototype.configuration = function() {
              return this._configuration
            }),
            (e.prototype.reloadConfiguration = function(e) {
              return r.TPromise.as(this.getConfiguration(e))
            }),
            (e.prototype.getConfiguration = function(e, t) {
              return this.configuration().getValue(e, t)
            }),
            (e.prototype.lookup = function(e, t) {
              return this.configuration().lookup(e, t)
            }),
            (e.prototype.keys = function() {
              return this.configuration().keys()
            }),
            (e.prototype.values = function() {
              return this._configuration.values()
            }),
            (e.prototype.getConfigurationData = function() {
              return this.configuration().toData()
            }),
            e
          )
        })()
        t.SimpleConfigurationService = D
        var O = (function() {
          function e(e) {
            var t = this
            ;(this.configurationService = e),
              (this._onDidUpdateConfigurationEmitter = new p.Emitter()),
              this.configurationService.onDidUpdateConfiguration(function() {
                t._onDidUpdateConfigurationEmitter.fire()
              })
          }
          return (
            (e.prototype.getConfiguration = function() {
              return this.configurationService.getConfiguration()
            }),
            e
          )
        })()
        t.SimpleResourceConfigurationService = O
        var R = (function() {
          function e(e) {
            this._commandService = e
          }
          return (
            (e.prototype.createMenu = function(e, t) {
              return new b.Menu(e, r.TPromise.as(!0), this._commandService, t)
            }),
            e
          )
        })()
        t.SimpleMenuService = R
        var P = (function() {
          function e() {
            this.isOptedIn = !1
          }
          return (
            (e.prototype.publicLog = function(e, t) {
              return r.TPromise.as(null)
            }),
            (e.prototype.getTelemetryInfo = function() {
              return null
            }),
            (e.prototype.getExperiments = function() {
              return null
            }),
            e
          )
        })()
        t.StandaloneTelemetryService = P
        var A = (function() {
          function e() {
            ;(this._onDidChangeWorkspaceRoots = new p.Emitter()),
              (this.onDidChangeWorkspaceRoots = this._onDidChangeWorkspaceRoots.event),
              (this.legacyWorkspace = {
                resource: o.default.from({
                  scheme: e.SCHEME,
                  authority: 'model',
                  path: '/'
                })
              }),
              (this.workspace = {
                id: '4064f6ec-cb38-4ad0-af64-ee6467e63c82',
                roots: [this.legacyWorkspace.resource],
                name: this.legacyWorkspace.resource.fsPath
              })
          }
          return (
            (e.prototype.getWorkspace = function() {
              return this.legacyWorkspace
            }),
            (e.prototype.getWorkspace2 = function() {
              return this.workspace
            }),
            (e.prototype.getRoot = function(t) {
              return t && t.scheme === e.SCHEME
                ? this.workspace.roots[0]
                : void 0
            }),
            (e.prototype.hasWorkspace = function() {
              return !0
            }),
            (e.prototype.isInsideWorkspace = function(t) {
              return t && t.scheme === e.SCHEME
            }),
            (e.prototype.toWorkspaceRelativePath = function(e, t) {
              return e.fsPath
            }),
            (e.prototype.toResource = function(e) {
              return o.default.file(e)
            }),
            e
          )
        })()
        t.SimpleWorkspaceContextService = A
      }),
      define(d[72], h([0, 1, 16]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.ID = 'storageService'),
          (t.IStorageService = n.createDecorator(t.ID))
        !(function(e) {
          ;(e[(e.GLOBAL = 0)] = 'GLOBAL'), (e[(e.WORKSPACE = 1)] = 'WORKSPACE')
        })(t.StorageScope || (t.StorageScope = {})),
          (t.NullStorageService = {
            _serviceBrand: void 0,
            store: function() {},
            swap: function() {},
            remove: function() {},
            get: function(e, t, n) {
              return n
            },
            getInteger: function(e, t, n) {
              return n
            },
            getBoolean: function(e, t, n) {
              return n
            }
          })
      }),
      define(d[65], h([0, 1, 11, 3, 15, 30, 164, 122, 227, 228, 72]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var d = (function() {
          function e() {
            ;(this._keys = Object.create(null)),
              (this._values = Object.create(null))
          }
          return (
            (e.prototype.has = function(e) {
              var t = e.getId()
              return !!this._values[t]
            }),
            (e.prototype.get = function(e) {
              var t = e.getId()
              return this._values[t]
            }),
            (e.prototype.put = function(e, t) {
              var n = e.getId()
              ;(this._keys[n] = e), (this._values[n] = t)
            }),
            (e.prototype.remove = function(e) {
              var t = e.getId()
              delete this._keys[t], delete this._values[t]
            }),
            (e.prototype.getKeys = function() {
              var e = this
              return Object.keys(this._keys).map(function(t) {
                return e._keys[t]
              })
            }),
            (e.prototype.getValues = function() {
              var e = this
              return Object.keys(this._keys).map(function(t) {
                return e._values[t]
              })
            }),
            e
          )
        })()
        ;(t.readFontInfo = function(e) {
          return h.INSTANCE.readConfiguration(e)
        }),
          (t.restoreFontInfo = function(e) {
            var t = e.get('editorFontInfo', c.StorageScope.GLOBAL)
            if ('string' == typeof t) {
              var n = null
              try {
                n = JSON.parse(t)
              } catch (e) {
                return
              }
              Array.isArray(n) && h.INSTANCE.restoreFontInfo(n)
            }
          }),
          (t.saveFontInfo = function(e) {
            var t = h.INSTANCE.saveFontInfo()
            e.store('editorFontInfo', JSON.stringify(t), c.StorageScope.GLOBAL)
          })
        var h = (function(e) {
          function t() {
            var t = e.call(this) || this
            return (
              (t._onDidChange = t._register(new n.Emitter())),
              (t.onDidChange = t._onDidChange.event),
              (t._cache = new d()),
              (t._evictUntrustedReadingsTimeout = -1),
              t
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              ;-1 !== this._evictUntrustedReadingsTimeout &&
                (clearTimeout(this._evictUntrustedReadingsTimeout),
                (this._evictUntrustedReadingsTimeout = -1)),
                e.prototype.dispose.call(this)
            }),
            (t.prototype._writeToCache = function(e, t) {
              var n = this
              this._cache.put(e, t),
                t.isTrusted ||
                  -1 !== this._evictUntrustedReadingsTimeout ||
                  (this._evictUntrustedReadingsTimeout = setTimeout(function() {
                    ;(n._evictUntrustedReadingsTimeout = -1),
                      n._evictUntrustedReadings()
                  }, 5e3))
            }),
            (t.prototype._evictUntrustedReadings = function() {
              for (
                var e = this._cache.getValues(), t = !1, n = 0, i = e.length;
                n < i;
                n++
              ) {
                var o = e[n]
                o.isTrusted || ((t = !0), this._cache.remove(o))
              }
              t && this._onDidChange.fire()
            }),
            (t.prototype.saveFontInfo = function() {
              return this._cache.getValues().filter(function(e) {
                return e.isTrusted
              })
            }),
            (t.prototype.restoreFontInfo = function(e) {
              for (var t = 0, n = e.length; t < n; t++) {
                var i = new a.FontInfo(e[t], !1)
                this._writeToCache(i, i)
              }
            }),
            (t.prototype.readConfiguration = function(e) {
              if (!this._cache.has(e)) {
                var n = t._actualReadConfiguration(e)
                ;(n.typicalHalfwidthCharacterWidth <= 2 ||
                  n.typicalFullwidthCharacterWidth <= 2 ||
                  n.spaceWidth <= 2 ||
                  n.maxDigitWidth <= 2) &&
                  (n = new a.FontInfo(
                    {
                      zoomLevel: r.getZoomLevel(),
                      fontFamily: n.fontFamily,
                      fontWeight: n.fontWeight,
                      fontSize: n.fontSize,
                      lineHeight: n.lineHeight,
                      letterSpacing: n.letterSpacing,
                      isMonospace: n.isMonospace,
                      typicalHalfwidthCharacterWidth: Math.max(
                        n.typicalHalfwidthCharacterWidth,
                        5
                      ),
                      typicalFullwidthCharacterWidth: Math.max(
                        n.typicalFullwidthCharacterWidth,
                        5
                      ),
                      spaceWidth: Math.max(n.spaceWidth, 5),
                      maxDigitWidth: Math.max(n.maxDigitWidth, 5)
                    },
                    !1
                  )),
                  this._writeToCache(e, n)
              }
              return this._cache.get(e)
            }),
            (t.createRequest = function(e, t, n, i) {
              var o = new l.CharWidthRequest(e, t)
              return n.push(o), i && i.push(o), o
            }),
            (t._actualReadConfiguration = function(e) {
              var t = [],
                n = [],
                i = this.createRequest('n', 0, t, n),
                o = this.createRequest('ｍ', 0, t, null),
                s = this.createRequest(' ', 0, t, n),
                u = this.createRequest('0', 0, t, n),
                c = this.createRequest('1', 0, t, n),
                d = this.createRequest('2', 0, t, n),
                h = this.createRequest('3', 0, t, n),
                p = this.createRequest('4', 0, t, n),
                f = this.createRequest('5', 0, t, n),
                g = this.createRequest('6', 0, t, n),
                m = this.createRequest('7', 0, t, n),
                v = this.createRequest('8', 0, t, n),
                _ = this.createRequest('9', 0, t, n)
              this.createRequest('→', 0, t, n),
                this.createRequest('·', 0, t, n),
                this.createRequest('|', 0, t, n),
                this.createRequest('/', 0, t, n),
                this.createRequest('-', 0, t, n),
                this.createRequest('_', 0, t, n),
                this.createRequest('i', 0, t, n),
                this.createRequest('l', 0, t, n),
                this.createRequest('m', 0, t, n),
                this.createRequest('|', 1, t, n),
                this.createRequest('_', 1, t, n),
                this.createRequest('i', 1, t, n),
                this.createRequest('l', 1, t, n),
                this.createRequest('m', 1, t, n),
                this.createRequest('n', 1, t, n),
                this.createRequest('|', 2, t, n),
                this.createRequest('_', 2, t, n),
                this.createRequest('i', 2, t, n),
                this.createRequest('l', 2, t, n),
                this.createRequest('m', 2, t, n),
                this.createRequest('n', 2, t, n),
                l.readCharWidths(e, t)
              for (
                var y = Math.max(
                    u.width,
                    c.width,
                    d.width,
                    h.width,
                    p.width,
                    f.width,
                    g.width,
                    m.width,
                    v.width,
                    _.width
                  ),
                  b = !0,
                  C = n[0].width,
                  w = 1,
                  S = n.length;
                w < S;
                w++
              ) {
                var E = C - n[w].width
                if (E < -0.001 || E > 0.001) {
                  b = !1
                  break
                }
              }
              var L = r.getTimeSinceLastZoomLevelChanged() > 2e3
              return new a.FontInfo(
                {
                  zoomLevel: r.getZoomLevel(),
                  fontFamily: e.fontFamily,
                  fontWeight: e.fontWeight,
                  fontSize: e.fontSize,
                  lineHeight: e.lineHeight,
                  letterSpacing: e.letterSpacing,
                  isMonospace: b,
                  typicalHalfwidthCharacterWidth: i.width,
                  typicalFullwidthCharacterWidth: o.width,
                  spaceWidth: s.width,
                  maxDigitWidth: y
                },
                L
              )
            }),
            t
          )
        })(i.Disposable)
        h.INSTANCE = new h()
        var p = (function(e) {
          function t(t, n) {
            void 0 === n && (n = null)
            var i = e.call(this, t) || this
            return (
              (i._elementSizeObserver = i._register(
                new u.ElementSizeObserver(n, function() {
                  return i._onReferenceDomElementSizeChanged()
                })
              )),
              i._register(
                h.INSTANCE.onDidChange(function() {
                  return i._onCSSBasedConfigurationChanged()
                })
              ),
              i._validatedOptions.automaticLayout &&
                i._elementSizeObserver.startObserving(),
              i._register(
                r.onDidChangeZoomLevel(function(e) {
                  return i._recomputeOptions()
                })
              ),
              i._register(
                r.onDidChangeAccessibilitySupport(function() {
                  return i._recomputeOptions()
                })
              ),
              i._recomputeOptions(),
              i
            )
          }
          return (
            f(t, e),
            (t.applyFontInfoSlow = function(e, t) {
              ;(e.style.fontFamily = t.fontFamily),
                (e.style.fontWeight = t.fontWeight),
                (e.style.fontSize = t.fontSize + 'px'),
                (e.style.lineHeight = t.lineHeight + 'px'),
                (e.style.letterSpacing = t.letterSpacing + 'px')
            }),
            (t.applyFontInfo = function(e, t) {
              e.setFontFamily(t.fontFamily),
                e.setFontWeight(t.fontWeight),
                e.setFontSize(t.fontSize),
                e.setLineHeight(t.lineHeight),
                e.setLetterSpacing(t.letterSpacing)
            }),
            (t.prototype._onReferenceDomElementSizeChanged = function() {
              this._recomputeOptions()
            }),
            (t.prototype._onCSSBasedConfigurationChanged = function() {
              this._recomputeOptions()
            }),
            (t.prototype.observeReferenceElement = function(e) {
              this._elementSizeObserver.observe(e)
            }),
            (t.prototype.dispose = function() {
              e.prototype.dispose.call(this)
            }),
            (t.prototype._getExtraEditorClassName = function() {
              var e = ''
              return (
                r.isIE
                  ? (e += 'ie ')
                  : r.isFirefox
                    ? (e += 'ff ')
                    : r.isEdge && (e += 'edge '),
                o.isMacintosh && (e += 'mac '),
                e
              )
            }),
            (t.prototype._getEnvConfiguration = function() {
              return {
                extraEditorClassName: this._getExtraEditorClassName(),
                outerWidth: this._elementSizeObserver.getWidth(),
                outerHeight: this._elementSizeObserver.getHeight(),
                emptySelectionClipboard: r.isWebKit,
                pixelRatio: r.getPixelRatio(),
                zoomLevel: r.getZoomLevel(),
                accessibilitySupport: r.getAccessibilitySupport()
              }
            }),
            (t.prototype.readConfiguration = function(e) {
              return h.INSTANCE.readConfiguration(e)
            }),
            t
          )
        })(s.CommonEditorConfiguration)
        t.Configuration = p
      }),
      define(d[433], h([0, 1, 26, 127, 65, 35]), function(e, t, n, i, o, r) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = (function(e) {
          function t(t) {
            var n = e.call(this, t) || this
            return (
              (n._visibleLines = new i.VisibleLinesCollection(n)),
              (n.domNode = n._visibleLines.domNode),
              (n._dynamicOverlays = []),
              (n._isFocused = !1),
              n.domNode.setClassName('view-overlays'),
              n
            )
          }
          return (
            f(t, e),
            (t.prototype.shouldRender = function() {
              if (e.prototype.shouldRender.call(this)) return !0
              for (var t = 0, n = this._dynamicOverlays.length; t < n; t++)
                if (this._dynamicOverlays[t].shouldRender()) return !0
              return !1
            }),
            (t.prototype.dispose = function() {
              e.prototype.dispose.call(this)
              for (var t = 0, n = this._dynamicOverlays.length; t < n; t++)
                this._dynamicOverlays[t].dispose()
              this._dynamicOverlays = null
            }),
            (t.prototype.getDomNode = function() {
              return this.domNode
            }),
            (t.prototype.createVisibleLine = function() {
              return new a(this._context.configuration, this._dynamicOverlays)
            }),
            (t.prototype.addDynamicOverlay = function(e) {
              this._dynamicOverlays.push(e)
            }),
            (t.prototype.onConfigurationChanged = function(e) {
              this._visibleLines.onConfigurationChanged(e)
              for (
                var t = this._visibleLines.getStartLineNumber(),
                  n = this._visibleLines.getEndLineNumber(),
                  i = t;
                i <= n;
                i++
              )
                this._visibleLines.getVisibleLine(i).onConfigurationChanged(e)
              return !0
            }),
            (t.prototype.onFlushed = function(e) {
              return this._visibleLines.onFlushed(e)
            }),
            (t.prototype.onFocusChanged = function(e) {
              return (this._isFocused = e.isFocused), !0
            }),
            (t.prototype.onLinesChanged = function(e) {
              return this._visibleLines.onLinesChanged(e)
            }),
            (t.prototype.onLinesDeleted = function(e) {
              return this._visibleLines.onLinesDeleted(e)
            }),
            (t.prototype.onLinesInserted = function(e) {
              return this._visibleLines.onLinesInserted(e)
            }),
            (t.prototype.onScrollChanged = function(e) {
              return this._visibleLines.onScrollChanged(e) || !0
            }),
            (t.prototype.onTokensChanged = function(e) {
              return this._visibleLines.onTokensChanged(e)
            }),
            (t.prototype.onZonesChanged = function(e) {
              return this._visibleLines.onZonesChanged(e)
            }),
            (t.prototype.prepareRender = function(e) {
              for (
                var t = this._dynamicOverlays.filter(function(e) {
                    return e.shouldRender()
                  }),
                  n = 0,
                  i = t.length;
                n < i;
                n++
              ) {
                var o = t[n]
                o.prepareRender(e), o.onDidRender()
              }
              return null
            }),
            (t.prototype.render = function(e) {
              this._viewOverlaysRender(e),
                this.domNode.toggleClassName('focused', this._isFocused)
            }),
            (t.prototype._viewOverlaysRender = function(e) {
              this._visibleLines.renderLines(e.viewportData)
            }),
            t
          )
        })(r.ViewPart)
        t.ViewOverlays = s
        var a = (function() {
          function e(e, t) {
            ;(this._configuration = e),
              (this._lineHeight = this._configuration.editor.lineHeight),
              (this._dynamicOverlays = t),
              (this._domNode = null),
              (this._renderedContent = null)
          }
          return (
            (e.prototype.getDomNode = function() {
              return this._domNode ? this._domNode.domNode : null
            }),
            (e.prototype.setDomNode = function(e) {
              this._domNode = n.createFastDomNode(e)
            }),
            (e.prototype.onContentChanged = function() {}),
            (e.prototype.onTokensChanged = function() {}),
            (e.prototype.onConfigurationChanged = function(e) {
              e.lineHeight &&
                (this._lineHeight = this._configuration.editor.lineHeight)
            }),
            (e.prototype.renderLine = function(e, t, n) {
              for (
                var i = '', o = 0, r = this._dynamicOverlays.length;
                o < r;
                o++
              )
                i += this._dynamicOverlays[o].render(n.startLineNumber, e)
              return this._renderedContent === i
                ? null
                : ((this._renderedContent = i),
                  '<div style="position:absolute;top:' +
                    t +
                    'px;width:100%;height:' +
                    this._lineHeight +
                    'px;">' +
                    i +
                    '</div>')
            }),
            (e.prototype.layoutLine = function(e, t) {
              this._domNode &&
                (this._domNode.setTop(t),
                this._domNode.setHeight(this._lineHeight))
            }),
            e
          )
        })()
        t.ViewOverlayLine = a
        var u = (function(e) {
          function t(t) {
            var n = e.call(this, t) || this
            return (
              (n._contentWidth =
                n._context.configuration.editor.layoutInfo.contentWidth),
              n.domNode.setHeight(0),
              n
            )
          }
          return (
            f(t, e),
            (t.prototype.onConfigurationChanged = function(t) {
              return (
                t.layoutInfo &&
                  (this._contentWidth = this._context.configuration.editor.layoutInfo.contentWidth),
                e.prototype.onConfigurationChanged.call(this, t)
              )
            }),
            (t.prototype.onScrollChanged = function(t) {
              return (
                e.prototype.onScrollChanged.call(this, t) ||
                t.scrollWidthChanged
              )
            }),
            (t.prototype._viewOverlaysRender = function(t) {
              e.prototype._viewOverlaysRender.call(this, t),
                this.domNode.setWidth(
                  Math.max(t.scrollWidth, this._contentWidth)
                )
            }),
            t
          )
        })(s)
        t.ContentViewOverlays = u
        var l = (function(e) {
          function t(t) {
            var n = e.call(this, t) || this
            return (
              (n._contentLeft =
                n._context.configuration.editor.layoutInfo.contentLeft),
              n.domNode.setClassName('margin-view-overlays'),
              n.domNode.setWidth(1),
              o.Configuration.applyFontInfo(
                n.domNode,
                n._context.configuration.editor.fontInfo
              ),
              n
            )
          }
          return (
            f(t, e),
            (t.prototype.onConfigurationChanged = function(t) {
              var n = !1
              return (
                t.fontInfo &&
                  (o.Configuration.applyFontInfo(
                    this.domNode,
                    this._context.configuration.editor.fontInfo
                  ),
                  (n = !0)),
                t.layoutInfo &&
                  ((this._contentLeft = this._context.configuration.editor.layoutInfo.contentLeft),
                  (n = !0)),
                e.prototype.onConfigurationChanged.call(this, t) || n
              )
            }),
            (t.prototype.onScrollChanged = function(t) {
              return (
                e.prototype.onScrollChanged.call(this, t) ||
                t.scrollHeightChanged
              )
            }),
            (t.prototype._viewOverlaysRender = function(t) {
              e.prototype._viewOverlaysRender.call(this, t)
              var n = Math.min(t.scrollHeight, 1e6)
              this.domNode.setHeight(n),
                this.domNode.setWidth(this._contentLeft)
            }),
            t
          )
        })(s)
        t.MarginViewOverlays = l
      }),
      define(d[434], h([0, 1, 26, 12, 2, 49, 65, 6]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var u = (function() {
            return function(e, t, n, i) {
              ;(this.top = e),
                (this.left = t),
                (this.width = n),
                (this.textContent = i)
            }
          })(),
          l = (function() {
            function e(e, t) {
              ;(this._context = e),
                (this._isSecondary = t),
                (this._cursorStyle = this._context.configuration.editor.viewInfo.cursorStyle),
                (this._lineHeight = this._context.configuration.editor.lineHeight),
                (this._typicalHalfwidthCharacterWidth = this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth),
                (this._isVisible = !0),
                (this._domNode = n.createFastDomNode(
                  document.createElement('div')
                )),
                this._isSecondary
                  ? this._domNode.setClassName('cursor secondary')
                  : this._domNode.setClassName('cursor'),
                this._domNode.setHeight(this._lineHeight),
                this._domNode.setTop(0),
                this._domNode.setLeft(0),
                s.Configuration.applyFontInfo(
                  this._domNode,
                  this._context.configuration.editor.fontInfo
                ),
                this._domNode.setDisplay('none'),
                this.updatePosition(new i.Position(1, 1)),
                (this._isInEditableRange = !0),
                (this._lastRenderedContent = ''),
                (this._renderData = null)
            }
            return (
              (e.prototype.getDomNode = function() {
                return this._domNode
              }),
              (e.prototype.getIsInEditableRange = function() {
                return this._isInEditableRange
              }),
              (e.prototype.getPosition = function() {
                return this._position
              }),
              (e.prototype.show = function() {
                this._isVisible ||
                  (this._domNode.setVisibility('inherit'),
                  (this._isVisible = !0))
              }),
              (e.prototype.hide = function() {
                this._isVisible &&
                  (this._domNode.setVisibility('hidden'),
                  (this._isVisible = !1))
              }),
              (e.prototype.onConfigurationChanged = function(e) {
                return (
                  e.lineHeight &&
                    (this._lineHeight = this._context.configuration.editor.lineHeight),
                  e.viewInfo &&
                    (this._cursorStyle = this._context.configuration.editor.viewInfo.cursorStyle),
                  e.fontInfo &&
                    (s.Configuration.applyFontInfo(
                      this._domNode,
                      this._context.configuration.editor.fontInfo
                    ),
                    (this._typicalHalfwidthCharacterWidth = this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth)),
                  !0
                )
              }),
              (e.prototype.onCursorPositionChanged = function(e, t) {
                return this.updatePosition(e), (this._isInEditableRange = t), !0
              }),
              (e.prototype._prepareRender = function(e) {
                if (
                  this._cursorStyle === r.TextEditorCursorStyle.Line ||
                  this._cursorStyle === r.TextEditorCursorStyle.LineThin
                ) {
                  var t = e.visibleRangeForPosition(this._position)
                  if (!t) return null
                  var n
                  n =
                    this._cursorStyle === r.TextEditorCursorStyle.Line
                      ? a.computeScreenAwareSize(2)
                      : a.computeScreenAwareSize(1)
                  var i =
                    e.getVerticalOffsetForLineNumber(
                      this._position.lineNumber
                    ) - e.bigNumbersDelta
                  return new u(i, t.left, n, '')
                }
                var s = e.linesVisibleRangesForRange(
                  new o.Range(
                    this._position.lineNumber,
                    this._position.column,
                    this._position.lineNumber,
                    this._position.column + 1
                  ),
                  !1
                )
                if (!s || 0 === s.length || 0 === s[0].ranges.length)
                  return null
                var l = s[0].ranges[0],
                  c =
                    l.width < 1
                      ? this._typicalHalfwidthCharacterWidth
                      : l.width,
                  d = ''
                this._cursorStyle === r.TextEditorCursorStyle.Block &&
                  (d = this._context.model
                    .getLineContent(this._position.lineNumber)
                    .charAt(this._position.column - 1))
                var h =
                  e.getVerticalOffsetForLineNumber(this._position.lineNumber) -
                  e.bigNumbersDelta
                return new u(h, l.left, c, d)
              }),
              (e.prototype.prepareRender = function(e) {
                this._renderData = this._prepareRender(e)
              }),
              (e.prototype.render = function(e) {
                return this._renderData
                  ? (this._lastRenderedContent !==
                      this._renderData.textContent &&
                      ((this._lastRenderedContent = this._renderData.textContent),
                      (this._domNode.domNode.textContent = this._lastRenderedContent)),
                    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._lineHeight),
                    this._domNode.setHeight(this._lineHeight),
                    {
                      domNode: this._domNode.domNode,
                      position: this._position,
                      contentLeft: this._renderData.left,
                      height: this._lineHeight,
                      width: 2
                    })
                  : (this._domNode.setDisplay('none'), null)
              }),
              (e.prototype.updatePosition = function(e) {
                this._position = e
              }),
              e
            )
          })()
        t.ViewCursor = l
      }),
      define(d[62], h([0, 1, 16]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.ITelemetryService = n.createDecorator('telemetryService'))
      }),
      define(d[13], h([
        0,
        1,
        10,
        24,
        31,
        91,
        42,
        62,
        12,
        53,
        77,
        59,
        19,
        41
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p) {
        'use strict'
        function g(e) {
          return e.get(p.ICodeEditorService).getFocusedCodeEditor()
        }
        function m(e) {
          var t = e.get(d.IEditorService),
            n = t.getActiveEditor && t.getActiveEditor()
          return p.getCodeEditor(n)
        }
        function v(e) {
          return w.registerEditorCommand(e), e
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var y = (function() {
          function e(e) {
            ;(this.id = e.id),
              (this.precondition = e.precondition),
              (this._kbOpts = e.kbOpts),
              (this._description = e.description)
          }
          return (
            (e.prototype.toCommandAndKeybindingRule = function(e) {
              var t = this,
                n = this._kbOpts || { primary: 0 },
                i = n.kbExpr
              this.precondition &&
                (i = i
                  ? h.ContextKeyExpr.and(i, this.precondition)
                  : this.precondition)
              var o = 'number' == typeof n.weight ? n.weight : e
              return {
                id: this.id,
                handler: function(e, n) {
                  return t.runCommand(e, n)
                },
                weight: o,
                when: i,
                primary: n.primary,
                secondary: n.secondary,
                win: n.win,
                linux: n.linux,
                mac: n.mac,
                description: this._description
              }
            }),
            e
          )
        })()
        t.Command = y
        var b = (function(e) {
          function t() {
            return (null !== e && e.apply(this, arguments)) || this
          }
          return (
            f(t, e),
            (t.bindToContribution = function(e) {
              return (function(t) {
                function n(e) {
                  var n = t.call(this, e) || this
                  return (n._callback = e.handler), n
                }
                return (
                  f(n, t),
                  (n.prototype.runEditorCommand = function(t, n, i) {
                    e(n) && this._callback(e(n))
                  }),
                  n
                )
              })(t)
            }),
            (t.prototype.runCommand = function(e, t) {
              var n = this,
                i = g(e)
              if ((i || (i = m(e)), i))
                return i.invokeWithinContext(function(e) {
                  if (
                    e
                      .get(h.IContextKeyService)
                      .contextMatchesRules(n.precondition)
                  )
                    return n.runEditorCommand(e, i, t)
                })
            }),
            t
          )
        })(y)
        t.EditorCommand = b
        var C = (function(e) {
          function t(t) {
            var n = e.call(this, t) || this
            return (
              (n.label = t.label),
              (n.alias = t.alias),
              (n.menuOpts = t.menuOpts),
              n
            )
          }
          return (
            f(t, e),
            (t.prototype.toMenuItem = function() {
              return this.menuOpts
                ? {
                    command: { id: this.id, title: this.label },
                    when: this.precondition,
                    group: this.menuOpts.group,
                    order: this.menuOpts.order
                  }
                : null
            }),
            (t.prototype.runEditorCommand = function(e, t, n) {
              return this.reportTelemetry(e, t), this.run(e, t, n || {})
            }),
            (t.prototype.reportTelemetry = function(e, t) {
              e.get(a.ITelemetryService).publicLog(
                'editorActionInvoked',
                _({ name: this.label, id: this.id }, t.getTelemetryData())
              )
            }),
            t
          )
        })(b)
        ;(t.EditorAction = C),
          (t.editorAction = function(e) {
            w.registerEditorAction(new e())
          }),
          (t.editorCommand = function(e) {
            v(new e())
          }),
          (t.registerEditorCommand = v),
          (t.commonEditorContribution = function(e) {
            E.INSTANCE.registerEditorContribution(e)
          })
        var w
        !(function(e) {
          function t(e, t) {
            o.CommandsRegistry.registerCommand(e, function(e, n) {
              return t(e, n || {})
            })
          }
          ;(e.registerEditorAction = function(e) {
            E.INSTANCE.registerEditorAction(e)
          }),
            (e.getEditorActions = function() {
              return E.INSTANCE.getEditorActions()
            }),
            (e.getEditorCommand = function(e) {
              return E.INSTANCE.getEditorCommand(e)
            }),
            (e.getEditorContributions = function() {
              return E.INSTANCE.getEditorContributions()
            }),
            (e.commandWeight = function(e) {
              return (
                void 0 === e && (e = 0),
                r.KeybindingsRegistry.WEIGHT.editorContrib(e)
              )
            }),
            (e.registerEditorCommand = function(e) {
              E.INSTANCE.registerEditorCommand(e)
            }),
            (e.registerLanguageCommand = t),
            (e.registerDefaultLanguageCommand = function(e, o) {
              t(e, function(e, t) {
                var r = t.resource,
                  s = t.position
                if (!(r instanceof i.default))
                  throw n.illegalArgument('resource')
                if (!u.Position.isIPosition(s))
                  throw n.illegalArgument('position')
                var a = e.get(l.IModelService).getModel(r)
                if (!a)
                  throw n.illegalArgument('Can not find open model for ' + r)
                var c = u.Position.lift(s)
                return o(a, c, t)
              })
            })
        })((w = t.CommonEditorRegistry || (t.CommonEditorRegistry = {})))
        var S = { EditorCommonContributions: 'editor.commonContributions' },
          E = (function() {
            function e() {
              ;(this.editorContributions = []),
                (this.editorActions = []),
                (this.editorCommands = Object.create(null))
            }
            return (
              (e.prototype.registerEditorContribution = function(e) {
                this.editorContributions.push(e)
              }),
              (e.prototype.registerEditorAction = function(e) {
                var t = e.toMenuItem()
                t && c.MenuRegistry.appendMenuItem(c.MenuId.EditorContext, t),
                  r.KeybindingsRegistry.registerCommandAndKeybindingRule(
                    e.toCommandAndKeybindingRule(
                      r.KeybindingsRegistry.WEIGHT.editorContrib()
                    )
                  ),
                  this.editorActions.push(e)
              }),
              (e.prototype.getEditorContributions = function() {
                return this.editorContributions.slice(0)
              }),
              (e.prototype.getEditorActions = function() {
                return this.editorActions.slice(0)
              }),
              (e.prototype.registerEditorCommand = function(e) {
                r.KeybindingsRegistry.registerCommandAndKeybindingRule(
                  e.toCommandAndKeybindingRule(
                    r.KeybindingsRegistry.WEIGHT.editorContrib()
                  )
                ),
                  (this.editorCommands[e.id] = e)
              }),
              (e.prototype.getEditorCommand = function(e) {
                return this.editorCommands[e] || null
              }),
              e
            )
          })()
        ;(E.INSTANCE = new E()),
          s.Registry.add(S.EditorCommonContributions, E.INSTANCE)
      }),
      define(d[437], h([
        0,
        1,
        10,
        11,
        3,
        8,
        84,
        19,
        311,
        37,
        12,
        2,
        22,
        21,
        320,
        530,
        396,
        52,
        20,
        13
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g, m, v, _, y, b) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var C = 0,
          w = (function(e) {
            function t(t, n, o, r) {
              var u = e.call(this) || this
              return (
                (u._onDidDispose = u._register(new i.Emitter())),
                (u.onDidDispose = u._onDidDispose.event),
                (u._onDidChangeModelContent = u._register(new i.Emitter())),
                (u.onDidChangeModelContent = u._onDidChangeModelContent.event),
                (u._onDidChangeModelLanguage = u._register(new i.Emitter())),
                (u.onDidChangeModelLanguage =
                  u._onDidChangeModelLanguage.event),
                (u._onDidChangeModelOptions = u._register(new i.Emitter())),
                (u.onDidChangeModelOptions = u._onDidChangeModelOptions.event),
                (u._onDidChangeModelDecorations = u._register(new i.Emitter())),
                (u.onDidChangeModelDecorations =
                  u._onDidChangeModelDecorations.event),
                (u._onDidChangeConfiguration = u._register(new i.Emitter())),
                (u.onDidChangeConfiguration =
                  u._onDidChangeConfiguration.event),
                (u._onDidChangeModel = u._register(new i.Emitter())),
                (u.onDidChangeModel = u._onDidChangeModel.event),
                (u._onDidChangeCursorPosition = u._register(new i.Emitter())),
                (u.onDidChangeCursorPosition =
                  u._onDidChangeCursorPosition.event),
                (u._onDidChangeCursorSelection = u._register(new i.Emitter())),
                (u.onDidChangeCursorSelection =
                  u._onDidChangeCursorSelection.event),
                (u._onDidLayoutChange = u._register(new i.Emitter())),
                (u.onDidLayoutChange = u._onDidLayoutChange.event),
                (u._onDidFocusEditorText = u._register(new i.Emitter())),
                (u.onDidFocusEditorText = u._onDidFocusEditorText.event),
                (u._onDidBlurEditorText = u._register(new i.Emitter())),
                (u.onDidBlurEditorText = u._onDidBlurEditorText.event),
                (u._onDidFocusEditor = u._register(new i.Emitter())),
                (u.onDidFocusEditor = u._onDidFocusEditor.event),
                (u._onDidBlurEditor = u._register(new i.Emitter())),
                (u.onDidBlurEditor = u._onDidBlurEditor.event),
                (u._onWillType = u._register(new i.Emitter())),
                (u.onWillType = u._onWillType.event),
                (u._onDidType = u._register(new i.Emitter())),
                (u.onDidType = u._onDidType.event),
                (u._onDidPaste = u._register(new i.Emitter())),
                (u.onDidPaste = u._onDidPaste.event),
                (u.domElement = t),
                (u.id = ++C),
                (u._decorationTypeKeysToIds = {}),
                (u._decorationTypeSubtypes = {}),
                (n = n || {}),
                (u._configuration = u._register(u._createConfiguration(n))),
                u._register(
                  u._configuration.onDidChange(function(e) {
                    u._onDidChangeConfiguration.fire(e),
                      e.layoutInfo &&
                        u._onDidLayoutChange.fire(
                          u._configuration.editor.layoutInfo
                        )
                  })
                ),
                (u._contextKeyService = u._register(
                  r.createScoped(u.domElement)
                )),
                u._register(new S(u, u._contextKeyService)),
                u._register(new v.EditorModeContext(u, u._contextKeyService)),
                (u._instantiationService = o.createChild(
                  new s.ServiceCollection([
                    a.IContextKeyService,
                    u._contextKeyService
                  ])
                )),
                u._attachModel(null),
                (u._contributions = {}),
                (u._actions = {}),
                u
              )
            }
            return (
              f(t, e),
              (t.prototype.getId = function() {
                return this.getEditorType() + ':' + this.id
              }),
              (t.prototype.getEditorType = function() {
                return p.EditorType.ICodeEditor
              }),
              (t.prototype.destroy = function() {
                this.dispose()
              }),
              (t.prototype.dispose = function() {
                for (
                  var t = Object.keys(this._contributions), n = 0, i = t.length;
                  n < i;
                  n++
                ) {
                  var o = t[n]
                  this._contributions[o].dispose()
                }
                ;(this._contributions = {}),
                  (this._actions = {}),
                  this._postDetachModelCleanup(this._detachModel()),
                  this._onDidDispose.fire(),
                  e.prototype.dispose.call(this)
              }),
              (t.prototype.invokeWithinContext = function(e) {
                return this._instantiationService.invokeFunction(e)
              }),
              (t.prototype.updateOptions = function(e) {
                this._configuration.updateOptions(e)
              }),
              (t.prototype.getConfiguration = function() {
                return this._configuration.editor
              }),
              (t.prototype.getRawConfiguration = function() {
                return this._configuration.getRawOptions()
              }),
              (t.prototype.getValue = function(e) {
                if ((void 0 === e && (e = null), this.model)) {
                  var t = !(!e || !e.preserveBOM),
                    n = p.EndOfLinePreference.TextDefined
                  return (
                    e && e.lineEnding && '\n' === e.lineEnding
                      ? (n = p.EndOfLinePreference.LF)
                      : e &&
                        e.lineEnding &&
                        '\r\n' === e.lineEnding &&
                        (n = p.EndOfLinePreference.CRLF),
                    this.model.getValue(n, t)
                  )
                }
                return ''
              }),
              (t.prototype.setValue = function(e) {
                this.model && this.model.setValue(e)
              }),
              (t.prototype.getModel = function() {
                return this.model
              }),
              (t.prototype.setModel = function(e) {
                if ((void 0 === e && (e = null), this.model !== e)) {
                  var t = this._detachModel()
                  this._attachModel(e)
                  var n = {
                    oldModelUrl: t ? t.uri : null,
                    newModelUrl: e ? e.uri : null
                  }
                  this._onDidChangeModel.fire(n),
                    this._postDetachModelCleanup(t)
                }
              }),
              (t.prototype.getCenteredRangeInViewport = function() {
                return this.hasView
                  ? this.viewModel.getCenteredRangeInViewport()
                  : null
              }),
              (t.prototype.getVisibleColumnFromPosition = function(e) {
                if (!this.model) return e.column
                var t = this.model.validatePosition(e),
                  n = this.model.getOptions().tabSize
                return (
                  l.CursorColumns.visibleColumnFromColumn(
                    this.model.getLineContent(t.lineNumber),
                    t.column,
                    n
                  ) + 1
                )
              }),
              (t.prototype.getPosition = function() {
                return this.cursor ? this.cursor.getPosition().clone() : null
              }),
              (t.prototype.setPosition = function(e, t, n, i) {
                if (
                  (void 0 === t && (t = !1),
                  void 0 === n && (n = !1),
                  void 0 === i && (i = !1),
                  this.cursor)
                ) {
                  if (!c.Position.isIPosition(e))
                    throw new Error('Invalid arguments')
                  this.cursor.setSelections('api', [
                    {
                      selectionStartLineNumber: e.lineNumber,
                      selectionStartColumn: e.column,
                      positionLineNumber: e.lineNumber,
                      positionColumn: e.column
                    }
                  ]),
                    t && this.revealPosition(e, n, i)
                }
              }),
              (t.prototype._sendRevealRange = function(e, t, n) {
                if (this.model && this.cursor) {
                  if (!d.Range.isIRange(e)) throw new Error('Invalid arguments')
                  var i = this.model.validateRange(e),
                    o = this.viewModel.coordinatesConverter.convertModelRangeToViewRange(
                      i
                    )
                  this.cursor.emitCursorRevealRange(o, t, n)
                }
              }),
              (t.prototype.revealLine = function(e) {
                this._revealLine(e, 0)
              }),
              (t.prototype.revealLineInCenter = function(e) {
                this._revealLine(e, 1)
              }),
              (t.prototype.revealLineInCenterIfOutsideViewport = function(e) {
                this._revealLine(e, 2)
              }),
              (t.prototype._revealLine = function(e, t) {
                if ('number' != typeof e) throw new Error('Invalid arguments')
                this._sendRevealRange(new d.Range(e, 1, e, 1), t, !1)
              }),
              (t.prototype.revealPosition = function(e, t, n) {
                void 0 === t && (t = !1),
                  void 0 === n && (n = !1),
                  this._revealPosition(e, t ? 1 : 0, n)
              }),
              (t.prototype.revealPositionInCenter = function(e) {
                this._revealPosition(e, 1, !0)
              }),
              (t.prototype.revealPositionInCenterIfOutsideViewport = function(
                e
              ) {
                this._revealPosition(e, 2, !0)
              }),
              (t.prototype._revealPosition = function(e, t, n) {
                if (!c.Position.isIPosition(e))
                  throw new Error('Invalid arguments')
                this._sendRevealRange(
                  new d.Range(e.lineNumber, e.column, e.lineNumber, e.column),
                  t,
                  n
                )
              }),
              (t.prototype.getSelection = function() {
                return this.cursor ? this.cursor.getSelection().clone() : null
              }),
              (t.prototype.getSelections = function() {
                if (!this.cursor) return null
                for (
                  var e = this.cursor.getSelections(),
                    t = [],
                    n = 0,
                    i = e.length;
                  n < i;
                  n++
                )
                  t[n] = e[n].clone()
                return t
              }),
              (t.prototype.setSelection = function(e, t, n, i) {
                void 0 === t && (t = !1),
                  void 0 === n && (n = !1),
                  void 0 === i && (i = !1)
                var o = h.Selection.isISelection(e),
                  r = d.Range.isIRange(e)
                if (!o && !r) throw new Error('Invalid arguments')
                if (o) this._setSelectionImpl(e, t, n, i)
                else if (r) {
                  var s = {
                    selectionStartLineNumber: e.startLineNumber,
                    selectionStartColumn: e.startColumn,
                    positionLineNumber: e.endLineNumber,
                    positionColumn: e.endColumn
                  }
                  this._setSelectionImpl(s, t, n, i)
                }
              }),
              (t.prototype._setSelectionImpl = function(e, t, n, i) {
                if (this.cursor) {
                  var o = new h.Selection(
                    e.selectionStartLineNumber,
                    e.selectionStartColumn,
                    e.positionLineNumber,
                    e.positionColumn
                  )
                  this.cursor.setSelections('api', [o]),
                    t && this.revealRange(o, n, i)
                }
              }),
              (t.prototype.revealLines = function(e, t) {
                this._revealLines(e, t, 0)
              }),
              (t.prototype.revealLinesInCenter = function(e, t) {
                this._revealLines(e, t, 1)
              }),
              (t.prototype.revealLinesInCenterIfOutsideViewport = function(
                e,
                t
              ) {
                this._revealLines(e, t, 2)
              }),
              (t.prototype._revealLines = function(e, t, n) {
                if ('number' != typeof e || 'number' != typeof t)
                  throw new Error('Invalid arguments')
                this._sendRevealRange(new d.Range(e, 1, t, 1), n, !1)
              }),
              (t.prototype.revealRange = function(e, t, n) {
                void 0 === t && (t = !1),
                  void 0 === n && (n = !0),
                  this._revealRange(e, t ? 1 : 0, n)
              }),
              (t.prototype.revealRangeInCenter = function(e) {
                this._revealRange(e, 1, !0)
              }),
              (t.prototype.revealRangeInCenterIfOutsideViewport = function(e) {
                this._revealRange(e, 2, !0)
              }),
              (t.prototype.revealRangeAtTop = function(e) {
                this._revealRange(e, 3, !0)
              }),
              (t.prototype._revealRange = function(e, t, n) {
                if (!d.Range.isIRange(e)) throw new Error('Invalid arguments')
                this._sendRevealRange(d.Range.lift(e), t, n)
              }),
              (t.prototype.setSelections = function(e) {
                if (this.cursor) {
                  if (!e || 0 === e.length) throw new Error('Invalid arguments')
                  for (var t = 0, n = e.length; t < n; t++)
                    if (!h.Selection.isISelection(e[t]))
                      throw new Error('Invalid arguments')
                  this.cursor.setSelections('api', e)
                }
              }),
              (t.prototype.getScrollWidth = function() {
                return this.hasView
                  ? this.viewModel.viewLayout.getScrollWidth()
                  : -1
              }),
              (t.prototype.getScrollLeft = function() {
                return this.hasView
                  ? this.viewModel.viewLayout.getScrollLeft()
                  : -1
              }),
              (t.prototype.getScrollHeight = function() {
                return this.hasView
                  ? this.viewModel.viewLayout.getScrollHeight()
                  : -1
              }),
              (t.prototype.getScrollTop = function() {
                return this.hasView
                  ? this.viewModel.viewLayout.getScrollTop()
                  : -1
              }),
              (t.prototype.setScrollLeft = function(e) {
                if (this.hasView) {
                  if ('number' != typeof e) throw new Error('Invalid arguments')
                  this.viewModel.viewLayout.setScrollPosition({ scrollLeft: e })
                }
              }),
              (t.prototype.setScrollTop = function(e) {
                if (this.hasView) {
                  if ('number' != typeof e) throw new Error('Invalid arguments')
                  this.viewModel.viewLayout.setScrollPosition({ scrollTop: e })
                }
              }),
              (t.prototype.setScrollPosition = function(e) {
                this.hasView && this.viewModel.viewLayout.setScrollPosition(e)
              }),
              (t.prototype.saveViewState = function() {
                if (!this.cursor || !this.hasView) return null
                for (
                  var e = {},
                    t = Object.keys(this._contributions),
                    n = 0,
                    i = t.length;
                  n < i;
                  n++
                ) {
                  var o = t[n],
                    r = this._contributions[o]
                  'function' == typeof r.saveViewState &&
                    (e[o] = r.saveViewState())
                }
                return {
                  cursorState: this.cursor.saveState(),
                  viewState: this.viewModel.viewLayout.saveState(),
                  contributionsState: e
                }
              }),
              (t.prototype.restoreViewState = function(e) {
                if (
                  this.cursor &&
                  this.hasView &&
                  e &&
                  e.cursorState &&
                  e.viewState
                ) {
                  var t = e,
                    n = t.cursorState
                  Array.isArray(n)
                    ? this.cursor.restoreState(n)
                    : this.cursor.restoreState([n]),
                    this.viewModel.viewLayout.restoreState(t.viewState)
                  for (
                    var i = e.contributionsState || {},
                      o = Object.keys(this._contributions),
                      r = 0,
                      s = o.length;
                    r < s;
                    r++
                  ) {
                    var a = o[r],
                      u = this._contributions[a]
                    'function' == typeof u.restoreViewState &&
                      u.restoreViewState(i[a])
                  }
                }
              }),
              (t.prototype.onVisible = function() {}),
              (t.prototype.onHide = function() {}),
              (t.prototype.getContribution = function(e) {
                return this._contributions[e] || null
              }),
              (t.prototype.getActions = function() {
                for (
                  var e = [],
                    t = Object.keys(this._actions),
                    n = 0,
                    i = t.length;
                  n < i;
                  n++
                ) {
                  var o = t[n]
                  e.push(this._actions[o])
                }
                return e
              }),
              (t.prototype.getSupportedActions = function() {
                var e = this.getActions()
                return (e = e.filter(function(e) {
                  return e.isSupported()
                }))
              }),
              (t.prototype.getAction = function(e) {
                return this._actions[e] || null
              }),
              (t.prototype.trigger = function(e, t, i) {
                if (((i = i || {}), t === p.Handler.Type)) {
                  if (
                    !this.cursor ||
                    'string' != typeof i.text ||
                    0 === i.text.length
                  )
                    return
                  return (
                    'keyboard' === e && this._onWillType.fire(i.text),
                    this.cursor.trigger(e, t, i),
                    void ('keyboard' === e && this._onDidType.fire(i.text))
                  )
                }
                if (t !== p.Handler.Paste) {
                  var o = this.getAction(t)
                  if (o) r.TPromise.as(o.run()).done(null, n.onUnexpectedError)
                  else if (this.cursor) {
                    var s = b.CommonEditorRegistry.getEditorCommand(t)
                    if (s)
                      return (
                        (i = i || {}),
                        (i.source = e),
                        void r.TPromise.as(
                          s.runEditorCommand(null, this, i)
                        ).done(null, n.onUnexpectedError)
                      )
                    this.cursor.trigger(e, t, i)
                  }
                } else {
                  if (
                    !this.cursor ||
                    'string' != typeof i.text ||
                    0 === i.text.length
                  )
                    return
                  var a = this.cursor.getSelection().getStartPosition()
                  this.cursor.trigger(e, t, i)
                  var u = this.cursor.getSelection().getStartPosition()
                  'keyboard' === e &&
                    this._onDidPaste.fire(
                      new d.Range(
                        a.lineNumber,
                        a.column,
                        u.lineNumber,
                        u.column
                      )
                    )
                }
              }),
              (t.prototype._getCursors = function() {
                return this.cursor
              }),
              (t.prototype._getCursorConfiguration = function() {
                return this.cursor.context.config
              }),
              (t.prototype.pushUndoStop = function() {
                return (
                  !!this.model &&
                  (!this._configuration.editor.readOnly &&
                    (this.model.pushStackElement(), !0))
                )
              }),
              (t.prototype.executeEdits = function(e, t, n) {
                var i = this
                return (
                  !!this.cursor &&
                  (!this._configuration.editor.readOnly &&
                    (this.model.pushEditOperations(
                      this.cursor.getSelections(),
                      t,
                      function() {
                        return n || i.cursor.getSelections()
                      }
                    ),
                    n && this.cursor.setSelections(e, n),
                    !0))
                )
              }),
              (t.prototype.executeCommand = function(e, t) {
                this.cursor &&
                  this.cursor.trigger(e, p.Handler.ExecuteCommand, t)
              }),
              (t.prototype.executeCommands = function(e, t) {
                this.cursor &&
                  this.cursor.trigger(e, p.Handler.ExecuteCommands, t)
              }),
              (t.prototype.changeDecorations = function(e) {
                return this.model
                  ? this.model.changeDecorations(e, this.id)
                  : null
              }),
              (t.prototype.getLineDecorations = function(e) {
                return this.model
                  ? this.model.getLineDecorations(
                      e,
                      this.id,
                      this._configuration.editor.readOnly
                    )
                  : null
              }),
              (t.prototype.deltaDecorations = function(e, t) {
                return this.model
                  ? 0 === e.length && 0 === t.length
                    ? e
                    : this.model.deltaDecorations(e, t, this.id)
                  : []
              }),
              (t.prototype.setDecorations = function(e, t) {
                var n = {},
                  i = this._decorationTypeSubtypes[e] || {}
                this._decorationTypeSubtypes[e] = n
                for (var o = [], r = 0, s = t; r < s.length; r++) {
                  var a = s[r],
                    u = e
                  a.renderOptions &&
                    ((u = e + '-' + (c = m.hash(a.renderOptions).toString(16))),
                    i[c] ||
                      n[c] ||
                      this._registerDecorationType(u, a.renderOptions, e),
                    (n[c] = !0))
                  var l = this._resolveDecorationOptions(u, !!a.hoverMessage)
                  a.hoverMessage && (l.hoverMessage = a.hoverMessage),
                    o.push({ range: a.range, options: l })
                }
                for (var c in i) n[c] || this._removeDecorationType(e + '-' + c)
                var d = this._decorationTypeKeysToIds[e] || []
                this._decorationTypeKeysToIds[e] = this.deltaDecorations(d, o)
              }),
              (t.prototype.removeDecorations = function(e) {
                var t = this._decorationTypeKeysToIds[e]
                t && this.deltaDecorations(t, []),
                  this._decorationTypeKeysToIds.hasOwnProperty(e) &&
                    delete this._decorationTypeKeysToIds[e],
                  this._decorationTypeSubtypes.hasOwnProperty(e) &&
                    delete this._decorationTypeSubtypes[e]
              }),
              (t.prototype.getLayoutInfo = function() {
                return this._configuration.editor.layoutInfo
              }),
              (t.prototype._attachModel = function(e) {
                var t = this
                ;(this.model = e || null),
                  (this.listenersToRemove = []),
                  (this.viewModel = null),
                  (this.cursor = null),
                  this.model
                    ? (this.domElement.setAttribute(
                        'data-mode-id',
                        this.model.getLanguageIdentifier().language
                      ),
                      this._configuration.setIsDominatedByLongLines(
                        this.model.isDominatedByLongLines()
                      ),
                      this._configuration.setMaxLineNumber(
                        this.model.getLineCount()
                      ),
                      this.model.onBeforeAttached(),
                      (this.viewModel = new g.ViewModel(
                        this.id,
                        this._configuration,
                        this.model
                      )),
                      this.listenersToRemove.push(
                        this.model.addBulkListener(function(e) {
                          for (var n = 0, i = e.length; n < i; n++) {
                            var o = e[n].type,
                              r = e[n].data
                            switch (o) {
                              case _.TextModelEventType.ModelDecorationsChanged:
                                t._onDidChangeModelDecorations.fire(r)
                                break
                              case _.TextModelEventType.ModelLanguageChanged:
                                t.domElement.setAttribute(
                                  'data-mode-id',
                                  t.model.getLanguageIdentifier().language
                                ),
                                  t._onDidChangeModelLanguage.fire(r)
                                break
                              case _.TextModelEventType.ModelContentChanged:
                                t._onDidChangeModelContent.fire(r)
                                break
                              case _.TextModelEventType.ModelOptionsChanged:
                                t._onDidChangeModelOptions.fire(r)
                                break
                              case _.TextModelEventType.ModelDispose:
                                t.setModel(null)
                            }
                          }
                        })
                      ),
                      (this.cursor = new u.Cursor(
                        this._configuration,
                        this.model,
                        this.viewModel
                      )),
                      this._createView(),
                      this.listenersToRemove.push(
                        this.cursor.onDidChange(function(e) {
                          for (
                            var n = [], i = 0, o = e.selections.length;
                            i < o;
                            i++
                          )
                            n[i] = e.selections[i].getPosition()
                          var r = {
                            position: n[0],
                            secondaryPositions: n.slice(1),
                            reason: e.reason,
                            source: e.source
                          }
                          t._onDidChangeCursorPosition.fire(r)
                          var s = {
                            selection: e.selections[0],
                            secondarySelections: e.selections.slice(1),
                            source: e.source,
                            reason: e.reason
                          }
                          t._onDidChangeCursorSelection.fire(s)
                        })
                      ))
                    : (this.hasView = !1)
              }),
              (t.prototype._postDetachModelCleanup = function(e) {
                if (e) {
                  if (
                    ((this._decorationTypeKeysToIds = {}),
                    this._decorationTypeSubtypes)
                  ) {
                    for (var t in this._decorationTypeSubtypes) {
                      var n = this._decorationTypeSubtypes[t]
                      for (var i in n) this._removeDecorationType(t + '-' + i)
                    }
                    this._decorationTypeSubtypes = {}
                  }
                  e.removeAllDecorationsWithOwnerId(this.id)
                }
              }),
              (t.prototype._detachModel = function() {
                this.model && this.model.onBeforeDetached(),
                  (this.hasView = !1),
                  (this.listenersToRemove = o.dispose(this.listenersToRemove)),
                  this.cursor && (this.cursor.dispose(), (this.cursor = null)),
                  this.viewModel &&
                    (this.viewModel.dispose(), (this.viewModel = null))
                var e = this.model
                return (
                  (this.model = null),
                  this.domElement.removeAttribute('data-mode-id'),
                  e
                )
              }),
              (t.prototype.getTelemetryData = function() {
                return null
              }),
              t
            )
          })(o.Disposable)
        t.CommonCodeEditor = w
        var S = (function(e) {
          function t(t, n) {
            var i = e.call(this) || this
            return (
              (i._editor = t),
              (i._editorId = n.createKey('editorId', t.getId())),
              (i._editorFocus = y.EditorContextKeys.focus.bindTo(n)),
              (i._editorTextFocus = y.EditorContextKeys.textFocus.bindTo(n)),
              (i._editorTabMovesFocus = y.EditorContextKeys.tabMovesFocus.bindTo(
                n
              )),
              (i._editorReadonly = y.EditorContextKeys.readOnly.bindTo(n)),
              (i._hasMultipleSelections = y.EditorContextKeys.hasMultipleSelections.bindTo(
                n
              )),
              (i._hasNonEmptySelection = y.EditorContextKeys.hasNonEmptySelection.bindTo(
                n
              )),
              i._register(
                i._editor.onDidChangeConfiguration(function() {
                  return i._updateFromConfig()
                })
              ),
              i._register(
                i._editor.onDidChangeCursorSelection(function() {
                  return i._updateFromSelection()
                })
              ),
              i._register(
                i._editor.onDidFocusEditor(function() {
                  return i._updateFromFocus()
                })
              ),
              i._register(
                i._editor.onDidBlurEditor(function() {
                  return i._updateFromFocus()
                })
              ),
              i._register(
                i._editor.onDidFocusEditorText(function() {
                  return i._updateFromFocus()
                })
              ),
              i._register(
                i._editor.onDidBlurEditorText(function() {
                  return i._updateFromFocus()
                })
              ),
              i._updateFromConfig(),
              i._updateFromSelection(),
              i._updateFromFocus(),
              i
            )
          }
          return (
            f(t, e),
            (t.prototype._updateFromConfig = function() {
              var e = this._editor.getConfiguration()
              this._editorTabMovesFocus.set(e.tabFocusMode),
                this._editorReadonly.set(e.readOnly)
            }),
            (t.prototype._updateFromSelection = function() {
              var e = this._editor.getSelections()
              e
                ? (this._hasMultipleSelections.set(e.length > 1),
                  this._hasNonEmptySelection.set(
                    e.some(function(e) {
                      return !e.isEmpty()
                    })
                  ))
                : (this._hasMultipleSelections.reset(),
                  this._hasNonEmptySelection.reset())
            }),
            (t.prototype._updateFromFocus = function() {
              this._editorFocus.set(this._editor.hasWidgetFocus()),
                this._editorTextFocus.set(this._editor.isFocused())
            }),
            t
          )
        })(o.Disposable)
      }),
      define(d[137], h([
        0,
        1,
        12,
        2,
        21,
        37,
        54,
        175,
        13,
        301,
        20,
        91,
        41,
        19,
        29,
        59,
        123,
        181
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g, m, v, _) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var y = o.Handler,
          b = d.KeybindingsRegistry.WEIGHT.editorCore(),
          C = (function(e) {
            function t() {
              return (null !== e && e.apply(this, arguments)) || this
            }
            return (
              f(t, e),
              (t.prototype.runEditorCommand = function(e, t, n) {
                this.runCoreEditorCommand(t._getCursors(), n || {})
              }),
              t
            )
          })(u.EditorCommand)
        t.CoreEditorCommand = C
        var w
        !(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 (!g.isObject(e)) return !1
                  var t = e
                  return (
                    !!g.isString(t.to) &&
                    (!(!g.isUndefined(t.by) && !g.isString(t.by)) &&
                      (!(!g.isUndefined(t.value) && !g.isNumber(t.value)) &&
                        !(
                          !g.isUndefined(t.revealCursor) &&
                          !g.isBoolean(t.revealCursor)
                        )))
                  )
                }
              }
            ]
          }),
            (e.RawDirection = { Up: 'up', Down: 'down' }),
            (e.RawUnit = {
              Line: 'line',
              WrappedLine: 'wrappedLine',
              Page: 'page',
              HalfPage: 'halfPage'
            }),
            (e.parse = function(t) {
              var n
              switch (t.to) {
                case e.RawDirection.Up:
                  n = 1
                  break
                case e.RawDirection.Down:
                  n = 2
                  break
                default:
                  return null
              }
              var i
              switch (t.by) {
                case e.RawUnit.Line:
                  i = 1
                  break
                case e.RawUnit.WrappedLine:
                  i = 2
                  break
                case e.RawUnit.Page:
                  i = 3
                  break
                case e.RawUnit.HalfPage:
                  i = 4
                  break
                default:
                  i = 2
              }
              return {
                direction: n,
                unit: i,
                value: Math.floor(t.value || 1),
                revealCursor: !!t.revealCursor,
                select: !!t.select
              }
            })
          !(function(e) {
            ;(e[(e.Up = 1)] = 'Up'), (e[(e.Down = 2)] = 'Down')
          })(e.Direction || (e.Direction = {}))
          !(function(e) {
            ;(e[(e.Line = 1)] = 'Line'),
              (e[(e.WrappedLine = 2)] = 'WrappedLine'),
              (e[(e.Page = 3)] = 'Page'),
              (e[(e.HalfPage = 4)] = 'HalfPage')
          })(e.Unit || (e.Unit = {}))
        })((w = t.EditorScroll_ || (t.EditorScroll_ = {})))
        var S
        !(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 (!g.isObject(e)) return !1
                  var t = e
                  return (
                    !!g.isNumber(t.lineNumber) &&
                    !(!g.isUndefined(t.at) && !g.isString(t.at))
                  )
                }
              }
            ]
          }),
            (e.RawAtArgument = {
              Top: 'top',
              Center: 'center',
              Bottom: 'bottom'
            })
        })((S = t.RevealLine_ || (t.RevealLine_ = {})))
        var E
        !(function(e) {
          var t = (function(e) {
            function t(t) {
              var n = e.call(this, t) || this
              return (n._inSelectionMode = t.inSelectionMode), n
            }
            return (
              f(t, e),
              (t.prototype.runCoreEditorCommand = function(e, t) {
                e.context.model.pushStackElement(),
                  e.setStates(t.source, s.CursorChangeReason.Explicit, [
                    a.CursorMoveCommands.moveTo(
                      e.context,
                      e.getPrimaryCursor(),
                      this._inSelectionMode,
                      t.position,
                      t.viewPosition
                    )
                  ]),
                  e.reveal(!0, 0)
              }),
              t
            )
          })(C)
          ;(e.MoveTo = u.registerEditorCommand(
            new t({ id: '_moveTo', inSelectionMode: !1, precondition: null })
          )),
            (e.MoveToSelect = u.registerEditorCommand(
              new t({
                id: '_moveToSelect',
                inSelectionMode: !0,
                precondition: null
              })
            ))
          var o = (function(e) {
            function t() {
              return (null !== e && e.apply(this, arguments)) || this
            }
            return (
              f(t, e),
              (t.prototype.runCoreEditorCommand = function(e, t) {
                e.context.model.pushStackElement()
                var n = this._getColumnSelectResult(
                  e.context,
                  e.getPrimaryCursor(),
                  e.getColumnSelectData(),
                  t
                )
                e.setStates(
                  t.source,
                  s.CursorChangeReason.Explicit,
                  n.viewStates.map(function(e) {
                    return r.CursorState.fromViewState(e)
                  })
                ),
                  e.setColumnSelectData({
                    toViewLineNumber: n.toLineNumber,
                    toViewVisualColumn: n.toVisualColumn
                  }),
                  e.reveal(!0, n.reversed ? 1 : 2)
              }),
              t
            )
          })(C)
          ;(e.ColumnSelect = u.registerEditorCommand(
            new ((function(e) {
              function t() {
                return (
                  e.call(this, { id: 'columnSelect', precondition: null }) ||
                  this
                )
              }
              return (
                f(t, e),
                (t.prototype._getColumnSelectResult = function(e, t, i, o) {
                  var r,
                    s = e.model.validatePosition(o.position)
                  return (
                    (r = o.viewPosition
                      ? e.validateViewPosition(
                          new n.Position(
                            o.viewPosition.lineNumber,
                            o.viewPosition.column
                          ),
                          s
                        )
                      : e.convertModelPositionToViewPosition(s)),
                    l.ColumnSelection.columnSelect(
                      e.config,
                      e.viewModel,
                      t.viewState.selection,
                      r.lineNumber,
                      o.mouseColumn - 1
                    )
                  )
                }),
                t
              )
            })(o))()
          )),
            (e.CursorColumnSelectLeft = u.registerEditorCommand(
              new ((function(e) {
                function t() {
                  return (
                    e.call(this, {
                      id: 'cursorColumnSelectLeft',
                      precondition: null,
                      kbOpts: {
                        weight: b,
                        kbExpr: c.EditorContextKeys.textFocus,
                        primary: 3599,
                        linux: { primary: 0 }
                      }
                    }) || this
                  )
                }
                return (
                  f(t, e),
                  (t.prototype._getColumnSelectResult = function(e, t, n, i) {
                    return l.ColumnSelection.columnSelectLeft(
                      e.config,
                      e.viewModel,
                      t.viewState,
                      n.toViewLineNumber,
                      n.toViewVisualColumn
                    )
                  }),
                  t
                )
              })(o))()
            )),
            (e.CursorColumnSelectRight = u.registerEditorCommand(
              new ((function(e) {
                function t() {
                  return (
                    e.call(this, {
                      id: 'cursorColumnSelectRight',
                      precondition: null,
                      kbOpts: {
                        weight: b,
                        kbExpr: c.EditorContextKeys.textFocus,
                        primary: 3601,
                        linux: { primary: 0 }
                      }
                    }) || this
                  )
                }
                return (
                  f(t, e),
                  (t.prototype._getColumnSelectResult = function(e, t, n, i) {
                    return l.ColumnSelection.columnSelectRight(
                      e.config,
                      e.viewModel,
                      t.viewState,
                      n.toViewLineNumber,
                      n.toViewVisualColumn
                    )
                  }),
                  t
                )
              })(o))()
            ))
          var d = (function(e) {
            function t(t) {
              var n = e.call(this, t) || this
              return (n._isPaged = t.isPaged), n
            }
            return (
              f(t, e),
              (t.prototype._getColumnSelectResult = function(e, t, n, i) {
                return l.ColumnSelection.columnSelectUp(
                  e.config,
                  e.viewModel,
                  t.viewState,
                  this._isPaged,
                  n.toViewLineNumber,
                  n.toViewVisualColumn
                )
              }),
              t
            )
          })(o)
          ;(e.CursorColumnSelectUp = u.registerEditorCommand(
            new d({
              isPaged: !1,
              id: 'cursorColumnSelectUp',
              precondition: null,
              kbOpts: {
                weight: b,
                kbExpr: c.EditorContextKeys.textFocus,
                primary: 3600,
                linux: { primary: 0 }
              }
            })
          )),
            (e.CursorColumnSelectPageUp = u.registerEditorCommand(
              new d({
                isPaged: !0,
                id: 'cursorColumnSelectPageUp',
                precondition: null,
                kbOpts: {
                  weight: b,
                  kbExpr: c.EditorContextKeys.textFocus,
                  primary: 3595,
                  linux: { primary: 0 }
                }
              })
            ))
          var h = (function(e) {
            function t(t) {
              var n = e.call(this, t) || this
              return (n._isPaged = t.isPaged), n
            }
            return (
              f(t, e),
              (t.prototype._getColumnSelectResult = function(e, t, n, i) {
                return l.ColumnSelection.columnSelectDown(
                  e.config,
                  e.viewModel,
                  t.viewState,
                  this._isPaged,
                  n.toViewLineNumber,
                  n.toViewVisualColumn
                )
              }),
              t
            )
          })(o)
          ;(e.CursorColumnSelectDown = u.registerEditorCommand(
            new h({
              isPaged: !1,
              id: 'cursorColumnSelectDown',
              precondition: null,
              kbOpts: {
                weight: b,
                kbExpr: c.EditorContextKeys.textFocus,
                primary: 3602,
                linux: { primary: 0 }
              }
            })
          )),
            (e.CursorColumnSelectPageDown = u.registerEditorCommand(
              new h({
                isPaged: !0,
                id: 'cursorColumnSelectPageDown',
                precondition: null,
                kbOpts: {
                  weight: b,
                  kbExpr: c.EditorContextKeys.textFocus,
                  primary: 3596,
                  linux: { primary: 0 }
                }
              })
            ))
          var p = (function(e) {
            function t() {
              return (
                e.call(this, {
                  id: 'cursorMove',
                  precondition: null,
                  description: a.CursorMove.description
                }) || this
              )
            }
            return (
              f(t, e),
              (t.prototype.runCoreEditorCommand = function(e, t) {
                var n = a.CursorMove.parse(t)
                n && this._runCursorMove(e, t.source, n)
              }),
              (t.prototype._runCursorMove = function(e, t, n) {
                e.context.model.pushStackElement(),
                  e.setStates(
                    t,
                    s.CursorChangeReason.Explicit,
                    r.CursorState.ensureInEditableRange(
                      e.context,
                      a.CursorMoveCommands.move(e.context, e.getAll(), n)
                    )
                  ),
                  e.reveal(!0, 0)
              }),
              t
            )
          })(C)
          ;(e.CursorMoveImpl = p),
            (e.CursorMove = u.registerEditorCommand(new p()))
          var g
          !(function(e) {
            e[(e.PAGE_SIZE_MARKER = -1)] = 'PAGE_SIZE_MARKER'
          })(g || (g = {}))
          var m = (function(t) {
            function n(e) {
              var n = t.call(this, e) || this
              return (n._staticArgs = e.args), n
            }
            return (
              f(n, t),
              (n.prototype.runCoreEditorCommand = function(t, n) {
                var i = this._staticArgs
                ;-1 === this._staticArgs.value &&
                  (i = {
                    direction: this._staticArgs.direction,
                    unit: this._staticArgs.unit,
                    select: this._staticArgs.select,
                    value: t.context.config.pageSize
                  }),
                  e.CursorMove._runCursorMove(t, n.source, i)
              }),
              n
            )
          })(C)
          ;(e.CursorLeft = u.registerEditorCommand(
            new m({
              args: { direction: 0, unit: 0, select: !1, value: 1 },
              id: 'cursorLeft',
              precondition: null,
              kbOpts: {
                weight: b,
                kbExpr: c.EditorContextKeys.textFocus,
                primary: 15,
                mac: { primary: 15, secondary: [288] }
              }
            })
          )),
            (e.CursorLeftSelect = u.registerEditorCommand(
              new m({
                args: { direction: 0, unit: 0, select: !0, value: 1 },
                id: 'cursorLeftSelect',
                precondition: null,
                kbOpts: {
                  weight: b,
                  kbExpr: c.EditorContextKeys.textFocus,
                  primary: 1039
                }
              })
            )),
            (e.CursorRight = u.registerEditorCommand(
              new m({
                args: { direction: 1, unit: 0, select: !1, value: 1 },
                id: 'cursorRight',
                precondition: null,
                kbOpts: {
                  weight: b,
                  kbExpr: c.EditorContextKeys.textFocus,
                  primary: 17,
                  mac: { primary: 17, secondary: [292] }
                }
              })
            )),
            (e.CursorRightSelect = u.registerEditorCommand(
              new m({
                args: { direction: 1, unit: 0, select: !0, value: 1 },
                id: 'cursorRightSelect',
                precondition: null,
                kbOpts: {
                  weight: b,
                  kbExpr: c.EditorContextKeys.textFocus,
                  primary: 1041
                }
              })
            )),
            (e.CursorUp = u.registerEditorCommand(
              new m({
                args: { direction: 2, unit: 2, select: !1, value: 1 },
                id: 'cursorUp',
                precondition: null,
                kbOpts: {
                  weight: b,
                  kbExpr: c.EditorContextKeys.textFocus,
                  primary: 16,
                  mac: { primary: 16, secondary: [302] }
                }
              })
            )),
            (e.CursorUpSelect = u.registerEditorCommand(
              new m({
                args: { direction: 2, unit: 2, select: !0, value: 1 },
                id: 'cursorUpSelect',
                precondition: null,
                kbOpts: {
                  weight: b,
                  kbExpr: c.EditorContextKeys.textFocus,
                  primary: 1040,
                  secondary: [3088],
                  mac: { primary: 1040 },
                  linux: { primary: 1040 }
                }
              })
            )),
            (e.CursorPageUp = u.registerEditorCommand(
              new m({
                args: { direction: 2, unit: 2, select: !1, value: -1 },
                id: 'cursorPageUp',
                precondition: null,
                kbOpts: {
                  weight: b,
                  kbExpr: c.EditorContextKeys.textFocus,
                  primary: 11
                }
              })
            )),
            (e.CursorPageUpSelect = u.registerEditorCommand(
              new m({
                args: { direction: 2, unit: 2, select: !0, value: -1 },
                id: 'cursorPageUpSelect',
                precondition: null,
                kbOpts: {
                  weight: b,
                  kbExpr: c.EditorContextKeys.textFocus,
                  primary: 1035
                }
              })
            )),
            (e.CursorDown = u.registerEditorCommand(
              new m({
                args: { direction: 3, unit: 2, select: !1, value: 1 },
                id: 'cursorDown',
                precondition: null,
                kbOpts: {
                  weight: b,
                  kbExpr: c.EditorContextKeys.textFocus,
                  primary: 18,
                  mac: { primary: 18, secondary: [300] }
                }
              })
            )),
            (e.CursorDownSelect = u.registerEditorCommand(
              new m({
                args: { direction: 3, unit: 2, select: !0, value: 1 },
                id: 'cursorDownSelect',
                precondition: null,
                kbOpts: {
                  weight: b,
                  kbExpr: c.EditorContextKeys.textFocus,
                  primary: 1042,
                  secondary: [3090],
                  mac: { primary: 1042 },
                  linux: { primary: 1042 }
                }
              })
            )),
            (e.CursorPageDown = u.registerEditorCommand(
              new m({
                args: { direction: 3, unit: 2, select: !1, value: -1 },
                id: 'cursorPageDown',
                precondition: null,
                kbOpts: {
                  weight: b,
                  kbExpr: c.EditorContextKeys.textFocus,
                  primary: 12
                }
              })
            )),
            (e.CursorPageDownSelect = u.registerEditorCommand(
              new m({
                args: { direction: 3, unit: 2, select: !0, value: -1 },
                id: 'cursorPageDownSelect',
                precondition: null,
                kbOpts: {
                  weight: b,
                  kbExpr: c.EditorContextKeys.textFocus,
                  primary: 1036
                }
              })
            )),
            (e.CreateCursor = u.registerEditorCommand(
              new ((function(e) {
                function t() {
                  return (
                    e.call(this, { id: 'createCursor', precondition: null }) ||
                    this
                  )
                }
                return (
                  f(t, e),
                  (t.prototype.runCoreEditorCommand = function(e, t) {
                    var n = e.context
                    if (!n.config.readOnly && !n.model.hasEditableRange()) {
                      var i
                      i = t.wholeLine
                        ? a.CursorMoveCommands.line(
                            n,
                            e.getPrimaryCursor(),
                            !1,
                            t.position,
                            t.viewPosition
                          )
                        : a.CursorMoveCommands.moveTo(
                            n,
                            e.getPrimaryCursor(),
                            !1,
                            t.position,
                            t.viewPosition
                          )
                      var o = e.getAll()
                      if (o.length > 1)
                        for (
                          var r = i.modelState ? i.modelState.position : null,
                            u = i.viewState ? i.viewState.position : null,
                            l = 0,
                            c = o.length;
                          l < c;
                          l++
                        ) {
                          var d = o[l]
                          if (
                            (!r ||
                              d.modelState.selection.containsPosition(r)) &&
                            (!u || d.viewState.selection.containsPosition(u))
                          )
                            return (
                              o.splice(l, 1),
                              e.context.model.pushStackElement(),
                              void e.setStates(
                                t.source,
                                s.CursorChangeReason.Explicit,
                                o
                              )
                            )
                        }
                      o.push(i),
                        e.context.model.pushStackElement(),
                        e.setStates(t.source, s.CursorChangeReason.Explicit, o)
                    }
                  }),
                  t
                )
              })(C))()
            )),
            (e.LastCursorMoveToSelect = u.registerEditorCommand(
              new ((function(e) {
                function t() {
                  return (
                    e.call(this, {
                      id: '_lastCursorMoveToSelect',
                      precondition: null
                    }) || this
                  )
                }
                return (
                  f(t, e),
                  (t.prototype.runCoreEditorCommand = function(e, t) {
                    var n = e.context
                    if (!n.config.readOnly && !n.model.hasEditableRange()) {
                      var i = e.getLastAddedCursorIndex(),
                        o = e.getAll().slice(0)
                      ;(o[i] = a.CursorMoveCommands.moveTo(
                        n,
                        o[i],
                        !0,
                        t.position,
                        t.viewPosition
                      )),
                        e.context.model.pushStackElement(),
                        e.setStates(t.source, s.CursorChangeReason.Explicit, o)
                    }
                  }),
                  t
                )
              })(C))()
            ))
          var v = (function(e) {
            function t(t) {
              var n = e.call(this, t) || this
              return (n._inSelectionMode = t.inSelectionMode), n
            }
            return (
              f(t, e),
              (t.prototype.runCoreEditorCommand = function(e, t) {
                e.context.model.pushStackElement(),
                  e.setStates(
                    t.source,
                    s.CursorChangeReason.Explicit,
                    r.CursorState.ensureInEditableRange(
                      e.context,
                      a.CursorMoveCommands.moveToBeginningOfLine(
                        e.context,
                        e.getAll(),
                        this._inSelectionMode
                      )
                    )
                  ),
                  e.reveal(!0, 0)
              }),
              t
            )
          })(C)
          ;(e.CursorHome = u.registerEditorCommand(
            new v({
              inSelectionMode: !1,
              id: 'cursorHome',
              precondition: null,
              kbOpts: {
                weight: b,
                kbExpr: c.EditorContextKeys.textFocus,
                primary: 14,
                mac: { primary: 14, secondary: [2063] }
              }
            })
          )),
            (e.CursorHomeSelect = u.registerEditorCommand(
              new v({
                inSelectionMode: !0,
                id: 'cursorHomeSelect',
                precondition: null,
                kbOpts: {
                  weight: b,
                  kbExpr: c.EditorContextKeys.textFocus,
                  primary: 1038,
                  mac: { primary: 1038, secondary: [3087] }
                }
              })
            )),
            (e.CursorLineStart = u.registerEditorCommand(
              new ((function(e) {
                function t() {
                  return (
                    e.call(this, {
                      id: 'cursorLineStart',
                      precondition: null,
                      kbOpts: {
                        weight: b,
                        kbExpr: c.EditorContextKeys.textFocus,
                        primary: 0,
                        mac: { primary: 287 }
                      }
                    }) || this
                  )
                }
                return (
                  f(t, e),
                  (t.prototype.runCoreEditorCommand = function(e, t) {
                    e.context.model.pushStackElement(),
                      e.setStates(
                        t.source,
                        s.CursorChangeReason.Explicit,
                        r.CursorState.ensureInEditableRange(
                          e.context,
                          this._exec(e.context, e.getAll())
                        )
                      ),
                      e.reveal(!0, 0)
                  }),
                  (t.prototype._exec = function(e, t) {
                    for (var n = [], i = 0, o = t.length; i < o; i++) {
                      var s = t[i],
                        a = s.modelState.position.lineNumber
                      n[i] = r.CursorState.fromModelState(
                        s.modelState.move(!1, a, 1, 0)
                      )
                    }
                    return n
                  }),
                  t
                )
              })(C))()
            ))
          var _ = (function(e) {
            function t(t) {
              var n = e.call(this, t) || this
              return (n._inSelectionMode = t.inSelectionMode), n
            }
            return (
              f(t, e),
              (t.prototype.runCoreEditorCommand = function(e, t) {
                e.context.model.pushStackElement(),
                  e.setStates(
                    t.source,
                    s.CursorChangeReason.Explicit,
                    r.CursorState.ensureInEditableRange(
                      e.context,
                      a.CursorMoveCommands.moveToEndOfLine(
                        e.context,
                        e.getAll(),
                        this._inSelectionMode
                      )
                    )
                  ),
                  e.reveal(!0, 0)
              }),
              t
            )
          })(C)
          ;(e.CursorEnd = u.registerEditorCommand(
            new _({
              inSelectionMode: !1,
              id: 'cursorEnd',
              precondition: null,
              kbOpts: {
                weight: b,
                kbExpr: c.EditorContextKeys.textFocus,
                primary: 13,
                mac: { primary: 13, secondary: [2065] }
              }
            })
          )),
            (e.CursorEndSelect = u.registerEditorCommand(
              new _({
                inSelectionMode: !0,
                id: 'cursorEndSelect',
                precondition: null,
                kbOpts: {
                  weight: b,
                  kbExpr: c.EditorContextKeys.textFocus,
                  primary: 1037,
                  mac: { primary: 1037, secondary: [3089] }
                }
              })
            )),
            (e.CursorLineEnd = u.registerEditorCommand(
              new ((function(e) {
                function t() {
                  return (
                    e.call(this, {
                      id: 'cursorLineEnd',
                      precondition: null,
                      kbOpts: {
                        weight: b,
                        kbExpr: c.EditorContextKeys.textFocus,
                        primary: 0,
                        mac: { primary: 291 }
                      }
                    }) || this
                  )
                }
                return (
                  f(t, e),
                  (t.prototype.runCoreEditorCommand = function(e, t) {
                    e.context.model.pushStackElement(),
                      e.setStates(
                        t.source,
                        s.CursorChangeReason.Explicit,
                        r.CursorState.ensureInEditableRange(
                          e.context,
                          this._exec(e.context, e.getAll())
                        )
                      ),
                      e.reveal(!0, 0)
                  }),
                  (t.prototype._exec = function(e, t) {
                    for (var n = [], i = 0, o = t.length; i < o; i++) {
                      var s = t[i],
                        a = s.modelState.position.lineNumber,
                        u = e.model.getLineMaxColumn(a)
                      n[i] = r.CursorState.fromModelState(
                        s.modelState.move(!1, a, u, 0)
                      )
                    }
                    return n
                  }),
                  t
                )
              })(C))()
            ))
          var y = (function(e) {
            function t(t) {
              var n = e.call(this, t) || this
              return (n._inSelectionMode = t.inSelectionMode), n
            }
            return (
              f(t, e),
              (t.prototype.runCoreEditorCommand = function(e, t) {
                e.context.model.pushStackElement(),
                  e.setStates(
                    t.source,
                    s.CursorChangeReason.Explicit,
                    r.CursorState.ensureInEditableRange(
                      e.context,
                      a.CursorMoveCommands.moveToBeginningOfBuffer(
                        e.context,
                        e.getAll(),
                        this._inSelectionMode
                      )
                    )
                  ),
                  e.reveal(!0, 0)
              }),
              t
            )
          })(C)
          ;(e.CursorTop = u.registerEditorCommand(
            new y({
              inSelectionMode: !1,
              id: 'cursorTop',
              precondition: null,
              kbOpts: {
                weight: b,
                kbExpr: c.EditorContextKeys.textFocus,
                primary: 2062,
                mac: { primary: 2064 }
              }
            })
          )),
            (e.CursorTopSelect = u.registerEditorCommand(
              new y({
                inSelectionMode: !0,
                id: 'cursorTopSelect',
                precondition: null,
                kbOpts: {
                  weight: b,
                  kbExpr: c.EditorContextKeys.textFocus,
                  primary: 3086,
                  mac: { primary: 3088 }
                }
              })
            ))
          var E = (function(e) {
            function t(t) {
              var n = e.call(this, t) || this
              return (n._inSelectionMode = t.inSelectionMode), n
            }
            return (
              f(t, e),
              (t.prototype.runCoreEditorCommand = function(e, t) {
                e.context.model.pushStackElement(),
                  e.setStates(
                    t.source,
                    s.CursorChangeReason.Explicit,
                    r.CursorState.ensureInEditableRange(
                      e.context,
                      a.CursorMoveCommands.moveToEndOfBuffer(
                        e.context,
                        e.getAll(),
                        this._inSelectionMode
                      )
                    )
                  ),
                  e.reveal(!0, 0)
              }),
              t
            )
          })(C)
          ;(e.CursorBottom = u.registerEditorCommand(
            new E({
              inSelectionMode: !1,
              id: 'cursorBottom',
              precondition: null,
              kbOpts: {
                weight: b,
                kbExpr: c.EditorContextKeys.textFocus,
                primary: 2061,
                mac: { primary: 2066 }
              }
            })
          )),
            (e.CursorBottomSelect = u.registerEditorCommand(
              new E({
                inSelectionMode: !0,
                id: 'cursorBottomSelect',
                precondition: null,
                kbOpts: {
                  weight: b,
                  kbExpr: c.EditorContextKeys.textFocus,
                  primary: 3085,
                  mac: { primary: 3090 }
                }
              })
            ))
          var L = (function(e) {
            function t() {
              return (
                e.call(this, {
                  id: 'editorScroll',
                  precondition: null,
                  description: w.description
                }) || this
              )
            }
            return (
              f(t, e),
              (t.prototype.runCoreEditorCommand = function(e, t) {
                var n = w.parse(t)
                n && this._runEditorScroll(e, t.source, n)
              }),
              (t.prototype._runEditorScroll = function(e, t, n) {
                var i = this._computeDesiredScrollTop(e.context, n)
                if (n.revealCursor) {
                  var o = e.context.getCompletelyVisibleViewRangeAtScrollTop(i)
                  e.setStates(t, s.CursorChangeReason.Explicit, [
                    a.CursorMoveCommands.findPositionInViewportIfOutside(
                      e.context,
                      e.getPrimaryCursor(),
                      o,
                      n.select
                    )
                  ])
                }
                e.scrollTo(i)
              }),
              (t.prototype._computeDesiredScrollTop = function(e, t) {
                if (1 === t.unit) {
                  var i = e.getCompletelyVisibleModelRange(),
                    o = void 0
                  o =
                    1 === t.direction
                      ? Math.max(1, i.startLineNumber - t.value)
                      : Math.min(
                          e.model.getLineCount(),
                          i.startLineNumber + t.value
                        )
                  var r = e.convertModelPositionToViewPosition(
                    new n.Position(o, 1)
                  )
                  return e.getVerticalOffsetForViewLine(r.lineNumber)
                }
                var s
                s =
                  3 === t.unit
                    ? e.config.pageSize * t.value
                    : 4 === t.unit
                      ? Math.round(e.config.pageSize / 2) * t.value
                      : t.value
                var a = (1 === t.direction ? -1 : 1) * s
                return e.getScrollTop() + a * e.config.lineHeight
              }),
              t
            )
          })(C)
          ;(e.EditorScrollImpl = L),
            (e.EditorScroll = u.registerEditorCommand(new L())),
            (e.ScrollLineUp = u.registerEditorCommand(
              new ((function(t) {
                function n() {
                  return (
                    t.call(this, {
                      id: 'scrollLineUp',
                      precondition: null,
                      kbOpts: {
                        weight: b,
                        kbExpr: c.EditorContextKeys.textFocus,
                        primary: 2064,
                        mac: { primary: 267 }
                      }
                    }) || this
                  )
                }
                return (
                  f(n, t),
                  (n.prototype.runCoreEditorCommand = function(t, n) {
                    e.EditorScroll._runEditorScroll(t, n.source, {
                      direction: 1,
                      unit: 2,
                      value: 1,
                      revealCursor: !1,
                      select: !1
                    })
                  }),
                  n
                )
              })(C))()
            )),
            (e.ScrollPageUp = u.registerEditorCommand(
              new ((function(t) {
                function n() {
                  return (
                    t.call(this, {
                      id: 'scrollPageUp',
                      precondition: null,
                      kbOpts: {
                        weight: b,
                        kbExpr: c.EditorContextKeys.textFocus,
                        primary: 2059,
                        win: { primary: 523 },
                        linux: { primary: 523 }
                      }
                    }) || this
                  )
                }
                return (
                  f(n, t),
                  (n.prototype.runCoreEditorCommand = function(t, n) {
                    e.EditorScroll._runEditorScroll(t, n.source, {
                      direction: 1,
                      unit: 3,
                      value: 1,
                      revealCursor: !1,
                      select: !1
                    })
                  }),
                  n
                )
              })(C))()
            )),
            (e.ScrollLineDown = u.registerEditorCommand(
              new ((function(t) {
                function n() {
                  return (
                    t.call(this, {
                      id: 'scrollLineDown',
                      precondition: null,
                      kbOpts: {
                        weight: b,
                        kbExpr: c.EditorContextKeys.textFocus,
                        primary: 2066,
                        mac: { primary: 268 }
                      }
                    }) || this
                  )
                }
                return (
                  f(n, t),
                  (n.prototype.runCoreEditorCommand = function(t, n) {
                    e.EditorScroll._runEditorScroll(t, n.source, {
                      direction: 2,
                      unit: 2,
                      value: 1,
                      revealCursor: !1,
                      select: !1
                    })
                  }),
                  n
                )
              })(C))()
            )),
            (e.ScrollPageDown = u.registerEditorCommand(
              new ((function(t) {
                function n() {
                  return (
                    t.call(this, {
                      id: 'scrollPageDown',
                      precondition: null,
                      kbOpts: {
                        weight: b,
                        kbExpr: c.EditorContextKeys.textFocus,
                        primary: 2060,
                        win: { primary: 524 },
                        linux: { primary: 524 }
                      }
                    }) || this
                  )
                }
                return (
                  f(n, t),
                  (n.prototype.runCoreEditorCommand = function(t, n) {
                    e.EditorScroll._runEditorScroll(t, n.source, {
                      direction: 2,
                      unit: 3,
                      value: 1,
                      revealCursor: !1,
                      select: !1
                    })
                  }),
                  n
                )
              })(C))()
            ))
          var x = (function(e) {
            function t(t) {
              var n = e.call(this, t) || this
              return (n._inSelectionMode = t.inSelectionMode), n
            }
            return (
              f(t, e),
              (t.prototype.runCoreEditorCommand = function(e, t) {
                e.context.model.pushStackElement(),
                  e.setStates(t.source, s.CursorChangeReason.Explicit, [
                    a.CursorMoveCommands.word(
                      e.context,
                      e.getPrimaryCursor(),
                      this._inSelectionMode,
                      t.position
                    )
                  ]),
                  e.reveal(!0, 0)
              }),
              t
            )
          })(C)
          ;(e.WordSelect = u.registerEditorCommand(
            new x({
              inSelectionMode: !1,
              id: '_wordSelect',
              precondition: null
            })
          )),
            (e.WordSelectDrag = u.registerEditorCommand(
              new x({
                inSelectionMode: !0,
                id: '_wordSelectDrag',
                precondition: null
              })
            )),
            (e.LastCursorWordSelect = u.registerEditorCommand(
              new ((function(e) {
                function t() {
                  return (
                    e.call(this, {
                      id: 'lastCursorWordSelect',
                      precondition: null
                    }) || this
                  )
                }
                return (
                  f(t, e),
                  (t.prototype.runCoreEditorCommand = function(e, t) {
                    var n = e.context
                    if (!n.config.readOnly && !n.model.hasEditableRange()) {
                      var i = e.getLastAddedCursorIndex(),
                        o = e.getAll().slice(0)
                      ;(o[i] = a.CursorMoveCommands.word(
                        n,
                        o[i],
                        !0,
                        t.position
                      )),
                        n.model.pushStackElement(),
                        e.setStates(t.source, s.CursorChangeReason.Explicit, o)
                    }
                  }),
                  t
                )
              })(C))()
            ))
          var N = (function(e) {
            function t(t) {
              var n = e.call(this, t) || this
              return (n._inSelectionMode = t.inSelectionMode), n
            }
            return (
              f(t, e),
              (t.prototype.runCoreEditorCommand = function(e, t) {
                e.context.model.pushStackElement(),
                  e.setStates(t.source, s.CursorChangeReason.Explicit, [
                    a.CursorMoveCommands.line(
                      e.context,
                      e.getPrimaryCursor(),
                      this._inSelectionMode,
                      t.position,
                      t.viewPosition
                    )
                  ]),
                  e.reveal(!1, 0)
              }),
              t
            )
          })(C)
          ;(e.LineSelect = u.registerEditorCommand(
            new N({
              inSelectionMode: !1,
              id: '_lineSelect',
              precondition: null
            })
          )),
            (e.LineSelectDrag = u.registerEditorCommand(
              new N({
                inSelectionMode: !0,
                id: '_lineSelectDrag',
                precondition: null
              })
            ))
          var M = (function(e) {
            function t(t) {
              var n = e.call(this, t) || this
              return (n._inSelectionMode = t.inSelectionMode), n
            }
            return (
              f(t, e),
              (t.prototype.runCoreEditorCommand = function(e, t) {
                var n = e.context
                if (!n.config.readOnly && !n.model.hasEditableRange()) {
                  var i = e.getLastAddedCursorIndex(),
                    o = e.getAll().slice(0)
                  ;(o[i] = a.CursorMoveCommands.line(
                    e.context,
                    o[i],
                    this._inSelectionMode,
                    t.position,
                    t.viewPosition
                  )),
                    e.context.model.pushStackElement(),
                    e.setStates(t.source, s.CursorChangeReason.Explicit, o)
                }
              }),
              t
            )
          })(C)
          ;(e.LastCursorLineSelect = u.registerEditorCommand(
            new M({
              inSelectionMode: !1,
              id: 'lastCursorLineSelect',
              precondition: null
            })
          )),
            (e.LastCursorLineSelectDrag = u.registerEditorCommand(
              new M({
                inSelectionMode: !0,
                id: 'lastCursorLineSelectDrag',
                precondition: null
              })
            )),
            (e.ExpandLineSelection = u.registerEditorCommand(
              new ((function(e) {
                function t() {
                  return (
                    e.call(this, {
                      id: 'expandLineSelection',
                      precondition: null,
                      kbOpts: {
                        weight: b,
                        kbExpr: c.EditorContextKeys.textFocus,
                        primary: 2087
                      }
                    }) || this
                  )
                }
                return (
                  f(t, e),
                  (t.prototype.runCoreEditorCommand = function(e, t) {
                    e.context.model.pushStackElement(),
                      e.setStates(
                        t.source,
                        s.CursorChangeReason.Explicit,
                        r.CursorState.ensureInEditableRange(
                          e.context,
                          a.CursorMoveCommands.expandLineSelection(
                            e.context,
                            e.getAll()
                          )
                        )
                      ),
                      e.reveal(!0, 0)
                  }),
                  t
                )
              })(C))()
            )),
            (e.CancelSelection = u.registerEditorCommand(
              new ((function(e) {
                function t() {
                  return (
                    e.call(this, {
                      id: 'cancelSelection',
                      precondition: c.EditorContextKeys.hasNonEmptySelection,
                      kbOpts: {
                        weight: b,
                        kbExpr: c.EditorContextKeys.textFocus,
                        primary: 9,
                        secondary: [1033]
                      }
                    }) || this
                  )
                }
                return (
                  f(t, e),
                  (t.prototype.runCoreEditorCommand = function(e, t) {
                    e.context.model.pushStackElement(),
                      e.setStates(t.source, s.CursorChangeReason.Explicit, [
                        a.CursorMoveCommands.cancelSelection(
                          e.context,
                          e.getPrimaryCursor()
                        )
                      ]),
                      e.reveal(!0, 0)
                  }),
                  t
                )
              })(C))()
            )),
            (e.RemoveSecondaryCursors = u.registerEditorCommand(
              new ((function(e) {
                function t() {
                  return (
                    e.call(this, {
                      id: 'removeSecondaryCursors',
                      precondition: c.EditorContextKeys.hasMultipleSelections,
                      kbOpts: {
                        weight: b + 1,
                        kbExpr: c.EditorContextKeys.textFocus,
                        primary: 9,
                        secondary: [1033]
                      }
                    }) || this
                  )
                }
                return (
                  f(t, e),
                  (t.prototype.runCoreEditorCommand = function(e, t) {
                    e.context.model.pushStackElement(),
                      e.setStates(t.source, s.CursorChangeReason.Explicit, [
                        e.getPrimaryCursor()
                      ]),
                      e.reveal(!0, 0)
                  }),
                  t
                )
              })(C))()
            )),
            (e.RevealLine = u.registerEditorCommand(
              new ((function(e) {
                function t() {
                  return (
                    e.call(this, {
                      id: 'revealLine',
                      precondition: null,
                      description: S.description
                    }) || this
                  )
                }
                return (
                  f(t, e),
                  (t.prototype.runCoreEditorCommand = function(e, t) {
                    var n = t,
                      o = n.lineNumber + 1
                    o < 1 && (o = 1)
                    var r = e.context.model.getLineCount()
                    o > r && (o = r)
                    var s = new i.Range(
                        o,
                        1,
                        o,
                        e.context.model.getLineMaxColumn(o)
                      ),
                      a = 0
                    if (n.at)
                      switch (n.at) {
                        case S.RawAtArgument.Top:
                          a = 3
                          break
                        case S.RawAtArgument.Center:
                          a = 1
                          break
                        case S.RawAtArgument.Bottom:
                          a = 4
                      }
                    var u = e.context.convertModelRangeToViewRange(s)
                    e.revealRange(!1, u, a)
                  }),
                  t
                )
              })(C))()
            )),
            (e.SelectAll = u.registerEditorCommand(
              new ((function(e) {
                function t() {
                  return (
                    e.call(this, { id: 'selectAll', precondition: null }) ||
                    this
                  )
                }
                return (
                  f(t, e),
                  (t.prototype.runCoreEditorCommand = function(e, t) {
                    e.context.model.pushStackElement(),
                      e.setStates(t.source, s.CursorChangeReason.Explicit, [
                        a.CursorMoveCommands.selectAll(
                          e.context,
                          e.getPrimaryCursor()
                        )
                      ])
                  }),
                  t
                )
              })(C))()
            ))
        })((E = t.CoreNavigationCommands || (t.CoreNavigationCommands = {})))
        !(function(e) {
          ;(e.LineBreakInsert = u.registerEditorCommand(
            new ((function(e) {
              function t() {
                return (
                  e.call(this, {
                    id: 'lineBreakInsert',
                    precondition: c.EditorContextKeys.writable,
                    kbOpts: {
                      weight: b,
                      kbExpr: c.EditorContextKeys.textFocus,
                      primary: null,
                      mac: { primary: 301 }
                    }
                  }) || this
                )
              }
              return (
                f(t, e),
                (t.prototype.runEditorCommand = function(e, t, n) {
                  t.pushUndoStop(),
                    t.executeCommands(
                      this.id,
                      v.TypeOperations.lineBreakInsert(
                        t._getCursorConfiguration(),
                        t.getModel(),
                        t.getSelections()
                      )
                    )
                }),
                t
              )
            })(u.EditorCommand))()
          )),
            (e.Outdent = u.registerEditorCommand(
              new ((function(e) {
                function t() {
                  return (
                    e.call(this, {
                      id: 'outdent',
                      precondition: c.EditorContextKeys.writable,
                      kbOpts: {
                        weight: b,
                        kbExpr: p.ContextKeyExpr.and(
                          c.EditorContextKeys.textFocus,
                          c.EditorContextKeys.tabDoesNotMoveFocus
                        ),
                        primary: 1026
                      }
                    }) || this
                  )
                }
                return (
                  f(t, e),
                  (t.prototype.runEditorCommand = function(e, t, n) {
                    t.pushUndoStop(),
                      t.executeCommands(
                        this.id,
                        v.TypeOperations.outdent(
                          t._getCursorConfiguration(),
                          t.getModel(),
                          t.getSelections()
                        )
                      ),
                      t.pushUndoStop()
                  }),
                  t
                )
              })(u.EditorCommand))()
            )),
            (e.Tab = u.registerEditorCommand(
              new ((function(e) {
                function t() {
                  return (
                    e.call(this, {
                      id: 'tab',
                      precondition: c.EditorContextKeys.writable,
                      kbOpts: {
                        weight: b,
                        kbExpr: p.ContextKeyExpr.and(
                          c.EditorContextKeys.textFocus,
                          c.EditorContextKeys.tabDoesNotMoveFocus
                        ),
                        primary: 2
                      }
                    }) || this
                  )
                }
                return (
                  f(t, e),
                  (t.prototype.runEditorCommand = function(e, t, n) {
                    t.pushUndoStop(),
                      t.executeCommands(
                        this.id,
                        v.TypeOperations.tab(
                          t._getCursorConfiguration(),
                          t.getModel(),
                          t.getSelections()
                        )
                      ),
                      t.pushUndoStop()
                  }),
                  t
                )
              })(u.EditorCommand))()
            )),
            (e.DeleteLeft = u.registerEditorCommand(
              new ((function(e) {
                function t() {
                  return (
                    e.call(this, {
                      id: 'deleteLeft',
                      precondition: c.EditorContextKeys.writable,
                      kbOpts: {
                        weight: b,
                        kbExpr: c.EditorContextKeys.textFocus,
                        primary: 1,
                        secondary: [1025],
                        mac: { primary: 1, secondary: [1025, 294, 257] }
                      }
                    }) || this
                  )
                }
                return (
                  f(t, e),
                  (t.prototype.runEditorCommand = function(e, t, n) {
                    var i = _.DeleteOperations.deleteLeft(
                        t._getCursorConfiguration(),
                        t.getModel(),
                        t.getSelections()
                      ),
                      o = i[0],
                      r = i[1]
                    o && t.pushUndoStop(), t.executeCommands(this.id, r)
                  }),
                  t
                )
              })(u.EditorCommand))()
            )),
            (e.DeleteRight = u.registerEditorCommand(
              new ((function(e) {
                function t() {
                  return (
                    e.call(this, {
                      id: 'deleteRight',
                      precondition: c.EditorContextKeys.writable,
                      kbOpts: {
                        weight: b,
                        kbExpr: c.EditorContextKeys.textFocus,
                        primary: 20,
                        mac: { primary: 20, secondary: [290, 276] }
                      }
                    }) || this
                  )
                }
                return (
                  f(t, e),
                  (t.prototype.runEditorCommand = function(e, t, n) {
                    var i = _.DeleteOperations.deleteRight(
                        t._getCursorConfiguration(),
                        t.getModel(),
                        t.getSelections()
                      ),
                      o = i[0],
                      r = i[1]
                    o && t.pushUndoStop(), t.executeCommands(this.id, r)
                  }),
                  t
                )
              })(u.EditorCommand))()
            ))
        })(t.CoreEditingCommands || (t.CoreEditingCommands = {}))
        var L
        !(function(e) {
          function t(e) {
            return e.get(h.ICodeEditorService).getFocusedCodeEditor()
          }
          function n(e) {
            var t = e.get(m.IEditorService),
              n = t.getActiveEditor && t.getActiveEditor()
            return h.getCodeEditor(n)
          }
          function i(e) {
            d.KeybindingsRegistry.registerCommandAndKeybindingRule(
              e.toCommandAndKeybindingRule(b)
            )
          }
          function o(e) {
            i(new s('default:' + e, e)), i(new s(e, e))
          }
          var r = (function(e) {
            function i(t) {
              var n = e.call(this, t) || this
              return (
                (n._editorHandler = t.editorHandler),
                (n._inputHandler = t.inputHandler),
                n
              )
            }
            return (
              f(i, e),
              (i.prototype.runCommand = function(e, i) {
                var o = t(e)
                if (o && o.isFocused()) return this._runEditorHandler(o, i)
                var r = document.activeElement
                if (
                  !(
                    r &&
                    ['input', 'textarea'].indexOf(r.tagName.toLowerCase()) >= 0
                  )
                ) {
                  var s = n(e)
                  return s ? (s.focus(), this._runEditorHandler(s, i)) : void 0
                }
                document.execCommand(this._inputHandler)
              }),
              (i.prototype._runEditorHandler = function(e, t) {
                var n = this._editorHandler
                'string' == typeof n
                  ? e.trigger('keyboard', n, t)
                  : (((t = t || {}).source = 'keyboard'),
                    n.runEditorCommand(null, e, t))
              }),
              i
            )
          })(u.Command)
          i(
            new r({
              editorHandler: E.SelectAll,
              inputHandler: 'selectAll',
              id: 'editor.action.selectAll',
              precondition: null,
              kbOpts: { weight: b, kbExpr: null, primary: 2079 }
            })
          ),
            i(
              new r({
                editorHandler: y.Undo,
                inputHandler: 'undo',
                id: y.Undo,
                precondition: c.EditorContextKeys.writable,
                kbOpts: {
                  weight: b,
                  kbExpr: c.EditorContextKeys.textFocus,
                  primary: 2104
                }
              })
            ),
            i(
              new r({
                editorHandler: y.Redo,
                inputHandler: 'redo',
                id: y.Redo,
                precondition: c.EditorContextKeys.writable,
                kbOpts: {
                  weight: b,
                  kbExpr: c.EditorContextKeys.textFocus,
                  primary: 2103,
                  secondary: [3128],
                  mac: { primary: 3128 }
                }
              })
            )
          var s = (function(e) {
            function n(t, n) {
              var i = e.call(this, { id: t, precondition: null }) || this
              return (i._handlerId = n), i
            }
            return (
              f(n, e),
              (n.prototype.runCommand = function(e, n) {
                var i = t(e)
                i && i.trigger('keyboard', this._handlerId, n)
              }),
              n
            )
          })(u.Command)
          o(y.Type),
            o(y.ReplacePreviousChar),
            o(y.CompositionStart),
            o(y.CompositionEnd),
            o(y.Paste),
            o(y.Cut)
        })(L || (L = {}))
      }),
      define(d[439], h([0, 1, 12, 21, 137]), function(e, t, n, i, o) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = (function() {
          function e(e, t, n, i, o) {
            ;(this.configuration = e),
              (this.viewModel = t),
              (this._execCoreEditorCommandFunc = n),
              (this.outgoingEvents = i),
              (this.commandService = o)
          }
          return (
            (e.prototype._execMouseCommand = function(e, t) {
              ;(t.source = 'mouse'), this._execCoreEditorCommandFunc(e, t)
            }),
            (e.prototype.paste = function(e, t, n) {
              this.commandService.executeCommand(i.Handler.Paste, {
                text: t,
                pasteOnNewLine: n
              })
            }),
            (e.prototype.type = function(e, t) {
              this.commandService.executeCommand(i.Handler.Type, { text: t })
            }),
            (e.prototype.replacePreviousChar = function(e, t, n) {
              this.commandService.executeCommand(
                i.Handler.ReplacePreviousChar,
                { text: t, replaceCharCnt: n }
              )
            }),
            (e.prototype.compositionStart = function(e) {
              this.commandService.executeCommand(i.Handler.CompositionStart, {})
            }),
            (e.prototype.compositionEnd = function(e) {
              this.commandService.executeCommand(i.Handler.CompositionEnd, {})
            }),
            (e.prototype.cut = function(e) {
              this.commandService.executeCommand(i.Handler.Cut, {})
            }),
            (e.prototype._validateViewColumn = function(e) {
              var t = this.viewModel.getLineMinColumn(e.lineNumber)
              return e.column < t ? new n.Position(e.lineNumber, t) : e
            }),
            (e.prototype._hasMulticursorModifier = function(e) {
              switch (this.configuration.editor.multiCursorModifier) {
                case 'altKey':
                  return e.altKey
                case 'ctrlKey':
                  return e.ctrlKey
                case 'metaKey':
                  return e.metaKey
              }
              return !1
            }),
            (e.prototype._hasNonMulticursorModifier = function(e) {
              switch (this.configuration.editor.multiCursorModifier) {
                case 'altKey':
                  return e.ctrlKey || e.metaKey
                case 'ctrlKey':
                  return e.altKey || e.metaKey
                case 'metaKey':
                  return e.ctrlKey || e.altKey
              }
              return !1
            }),
            (e.prototype.dispatchMouse = function(e) {
              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)
                            : e.inSelectionMode
                              ? this.lastCursorMoveToSelect(e.position)
                              : this.createCursor(e.position, !1))
                        : e.inSelectionMode
                          ? this.moveToSelect(e.position)
                          : this.moveTo(e.position)
            }),
            (e.prototype._usualArgs = function(e) {
              return (
                (e = this._validateViewColumn(e)),
                {
                  position: this.convertViewToModelPosition(e),
                  viewPosition: e
                }
              )
            }),
            (e.prototype.moveTo = function(e) {
              this._execMouseCommand(
                o.CoreNavigationCommands.MoveTo,
                this._usualArgs(e)
              )
            }),
            (e.prototype.moveToSelect = function(e) {
              this._execMouseCommand(
                o.CoreNavigationCommands.MoveToSelect,
                this._usualArgs(e)
              )
            }),
            (e.prototype.columnSelect = function(e, t) {
              ;(e = this._validateViewColumn(e)),
                this._execMouseCommand(o.CoreNavigationCommands.ColumnSelect, {
                  position: this.convertViewToModelPosition(e),
                  viewPosition: e,
                  mouseColumn: t
                })
            }),
            (e.prototype.createCursor = function(e, t) {
              ;(e = this._validateViewColumn(e)),
                this._execMouseCommand(o.CoreNavigationCommands.CreateCursor, {
                  position: this.convertViewToModelPosition(e),
                  viewPosition: e,
                  wholeLine: t
                })
            }),
            (e.prototype.lastCursorMoveToSelect = function(e) {
              this._execMouseCommand(
                o.CoreNavigationCommands.LastCursorMoveToSelect,
                this._usualArgs(e)
              )
            }),
            (e.prototype.wordSelect = function(e) {
              this._execMouseCommand(
                o.CoreNavigationCommands.WordSelect,
                this._usualArgs(e)
              )
            }),
            (e.prototype.wordSelectDrag = function(e) {
              this._execMouseCommand(
                o.CoreNavigationCommands.WordSelectDrag,
                this._usualArgs(e)
              )
            }),
            (e.prototype.lastCursorWordSelect = function(e) {
              this._execMouseCommand(
                o.CoreNavigationCommands.LastCursorWordSelect,
                this._usualArgs(e)
              )
            }),
            (e.prototype.lineSelect = function(e) {
              this._execMouseCommand(
                o.CoreNavigationCommands.LineSelect,
                this._usualArgs(e)
              )
            }),
            (e.prototype.lineSelectDrag = function(e) {
              this._execMouseCommand(
                o.CoreNavigationCommands.LineSelectDrag,
                this._usualArgs(e)
              )
            }),
            (e.prototype.lastCursorLineSelect = function(e) {
              this._execMouseCommand(
                o.CoreNavigationCommands.LastCursorLineSelect,
                this._usualArgs(e)
              )
            }),
            (e.prototype.lastCursorLineSelectDrag = function(e) {
              this._execMouseCommand(
                o.CoreNavigationCommands.LastCursorLineSelectDrag,
                this._usualArgs(e)
              )
            }),
            (e.prototype.selectAll = function() {
              this._execMouseCommand(o.CoreNavigationCommands.SelectAll, {})
            }),
            (e.prototype.convertViewToModelPosition = function(e) {
              return this.viewModel.coordinatesConverter.convertViewPositionToModelPosition(
                e
              )
            }),
            (e.prototype.emitKeyDown = function(e) {
              this.outgoingEvents.emitKeyDown(e)
            }),
            (e.prototype.emitKeyUp = function(e) {
              this.outgoingEvents.emitKeyUp(e)
            }),
            (e.prototype.emitContextMenu = function(e) {
              this.outgoingEvents.emitContextMenu(e)
            }),
            (e.prototype.emitMouseMove = function(e) {
              this.outgoingEvents.emitMouseMove(e)
            }),
            (e.prototype.emitMouseLeave = function(e) {
              this.outgoingEvents.emitMouseLeave(e)
            }),
            (e.prototype.emitMouseUp = function(e) {
              this.outgoingEvents.emitMouseUp(e)
            }),
            (e.prototype.emitMouseDown = function(e) {
              this.outgoingEvents.emitMouseDown(e)
            }),
            (e.prototype.emitMouseDrag = function(e) {
              this.outgoingEvents.emitMouseDrag(e)
            }),
            (e.prototype.emitMouseDrop = function(e) {
              this.outgoingEvents.emitMouseDrop(e)
            }),
            e
          )
        })()
        t.ViewController = r
      }),
      define(d[440], h([0, 1, 332, 20, 13, 240]), function(e, t, n, i, o, r) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = (function(e) {
            function t(t, n) {
              var i = e.call(this, n) || this
              return (i.left = t), i
            }
            return (
              f(t, e),
              (t.prototype.run = function(e, t) {
                for (
                  var n = [], i = t.getSelections(), o = 0;
                  o < i.length;
                  o++
                )
                  n.push(new r.MoveCaretCommand(i[o], this.left))
                t.pushUndoStop(),
                  t.executeCommands(this.id, n),
                  t.pushUndoStop()
              }),
              t
            )
          })(o.EditorAction),
          a = (function(e) {
            function t() {
              return (
                e.call(this, !0, {
                  id: 'editor.action.moveCarretLeftAction',
                  label: n.localize(0, null),
                  alias: 'Move Caret Left',
                  precondition: i.EditorContextKeys.writable
                }) || this
              )
            }
            return f(t, e), t
          })(s)
        a = v([o.editorAction], a)
        var u = (function(e) {
          function t() {
            return (
              e.call(this, !1, {
                id: 'editor.action.moveCarretRightAction',
                label: n.localize(1, null),
                alias: 'Move Caret Right',
                precondition: i.EditorContextKeys.writable
              }) || this
            )
          }
          return f(t, e), t
        })(s)
        u = v([o.editorAction], u)
      }),
      define(d[441], h([0, 1, 333, 2, 20, 13, 74]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.transposeLetters',
                label: n.localize(0, null),
                alias: 'Transpose Letters',
                precondition: o.EditorContextKeys.writable,
                kbOpts: {
                  kbExpr: o.EditorContextKeys.textFocus,
                  primary: 0,
                  mac: { primary: 306 }
                }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              for (
                var n = t.getModel(), o = [], r = t.getSelections(), a = 0;
                a < r.length;
                a++
              ) {
                var u = r[a]
                if (u.isEmpty()) {
                  var l = u.startLineNumber,
                    c = u.startColumn
                  if (1 !== c && c !== n.getLineMaxColumn(l)) {
                    var d = n.getLineContent(l),
                      h = d.charAt(c - 2),
                      p = d.charAt(c - 1),
                      f = new i.Range(l, c - 1, l, c + 1)
                    o.push(new s.ReplaceCommand(f, p + h))
                  }
                }
              }
              o.length > 0 &&
                (t.pushUndoStop(),
                t.executeCommands(this.id, o),
                t.pushUndoStop())
            }),
            t
          )
        })(r.EditorAction)
        a = v([r.editorAction], a)
      }),
      define(d[442], h([0, 1, 334, 30, 15, 41, 13, 179, 20, 299]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u
      ) {
        'use strict'
        function l(e) {
          return e ? s.editorAction : function() {}
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var c = '9_cutcopypaste',
          d = o.isNative || document.queryCommandSupported('cut'),
          h = o.isNative || document.queryCommandSupported('copy'),
          p = h && !i.isEdgeOrIE,
          g =
            o.isNative ||
            (!i.isChrome && document.queryCommandSupported('paste')),
          m = (function(e) {
            function t(t, n) {
              var i = e.call(this, n) || this
              return (i.browserCommand = t), i
            }
            return (
              f(t, e),
              (t.prototype.runCommand = function(e, t) {
                var n = e.get(r.ICodeEditorService).getFocusedCodeEditor()
                n && n.isFocused()
                  ? n.trigger('keyboard', this.id, t)
                  : document.execCommand(this.browserCommand)
              }),
              (t.prototype.run = function(e, t) {
                t.focus(), document.execCommand(this.browserCommand)
              }),
              t
            )
          })(s.EditorAction),
          _ = (function(e) {
            function t() {
              var t = {
                kbExpr: u.EditorContextKeys.textFocus,
                primary: 2102,
                win: { primary: 2102, secondary: [1044] }
              }
              return (
                o.isNative || (t = null),
                e.call(this, 'cut', {
                  id: 'editor.action.clipboardCutAction',
                  label: n.localize(0, null),
                  alias: 'Cut',
                  precondition: u.EditorContextKeys.writable,
                  kbOpts: t,
                  menuOpts: { group: c, order: 1 }
                }) || this
              )
            }
            return (
              f(t, e),
              (t.prototype.run = function(t, n) {
                ;(!n.getConfiguration().emptySelectionClipboard &&
                  n.getSelection().isEmpty()) ||
                  e.prototype.run.call(this, t, n)
              }),
              t
            )
          })(m)
        _ = v([l(d)], _)
        var y = (function(e) {
          function t() {
            var t = {
              kbExpr: u.EditorContextKeys.textFocus,
              primary: 2081,
              win: { primary: 2081, secondary: [2067] }
            }
            return (
              o.isNative || (t = null),
              e.call(this, 'copy', {
                id: 'editor.action.clipboardCopyAction',
                label: n.localize(1, null),
                alias: 'Copy',
                precondition: null,
                kbOpts: t,
                menuOpts: { group: c, order: 2 }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(t, n) {
              ;(!n.getConfiguration().emptySelectionClipboard &&
                n.getSelection().isEmpty()) ||
                e.prototype.run.call(this, t, n)
            }),
            t
          )
        })(m)
        y = v([l(h)], y)
        var b = (function(e) {
          function t() {
            var t = {
              kbExpr: u.EditorContextKeys.textFocus,
              primary: 2100,
              win: { primary: 2100, secondary: [1043] }
            }
            return (
              o.isNative || (t = null),
              e.call(this, 'paste', {
                id: 'editor.action.clipboardPasteAction',
                label: n.localize(2, null),
                alias: 'Paste',
                precondition: u.EditorContextKeys.writable,
                kbOpts: t,
                menuOpts: { group: c, order: 3 }
              }) || this
            )
          }
          return f(t, e), t
        })(m)
        b = v([l(g)], b)
        var C = (function(e) {
          function t() {
            return (
              e.call(this, 'copy', {
                id: 'editor.action.clipboardCopyWithSyntaxHighlightingAction',
                label: n.localize(3, null),
                alias: 'Copy With Syntax Highlighting',
                precondition: null,
                kbOpts: { kbExpr: u.EditorContextKeys.textFocus, primary: null }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(t, n) {
              ;(!n.getConfiguration().emptySelectionClipboard &&
                n.getSelection().isEmpty()) ||
                ((a.CopyOptions.forceCopyWithSyntaxHighlighting = !0),
                e.prototype.run.call(this, t, n),
                (a.CopyOptions.forceCopyWithSyntaxHighlighting = !1))
            }),
            t
          )
        })(m)
        C = v([l(p)], C)
      }),
      define(d[443], h([0, 1, 10, 27, 24, 8, 13, 17, 53, 18]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l
      ) {
        'use strict'
        function c(e) {
          var t = [],
            o = a.CodeLensProviderRegistry.ordered(e),
            s = o.map(function(i) {
              return l
                .asWinJsPromise(function(t) {
                  return i.provideCodeLenses(e, t)
                })
                .then(function(e) {
                  if (Array.isArray(e))
                    for (var n = 0, o = e; n < o.length; n++) {
                      var r = o[n]
                      t.push({ symbol: r, provider: i })
                    }
                }, n.onUnexpectedExternalError)
            })
          return r.TPromise.join(s).then(function() {
            return i.mergeSort(t, function(e, t) {
              return e.symbol.range.startLineNumber <
                t.symbol.range.startLineNumber
                ? -1
                : e.symbol.range.startLineNumber >
                  t.symbol.range.startLineNumber
                  ? 1
                  : o.indexOf(e.provider) < o.indexOf(t.provider)
                    ? -1
                    : o.indexOf(e.provider) > o.indexOf(t.provider)
                      ? 1
                      : e.symbol.range.startColumn < t.symbol.range.startColumn
                        ? -1
                        : e.symbol.range.startColumn >
                          t.symbol.range.startColumn
                          ? 1
                          : 0
            })
          })
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.getCodeLensData = c),
          s.CommonEditorRegistry.registerLanguageCommand(
            '_executeCodeLensProvider',
            function(e, t) {
              var i = t.resource
              if (!(i instanceof o.default)) throw n.illegalArgument()
              var r = e.get(u.IModelService).getModel(i)
              if (!r) throw n.illegalArgument()
              return c(r).then(function(e) {
                return e.map(function(e) {
                  return e.symbol
                })
              })
            }
          )
      }),
      define(d[444], h([0, 1, 335, 39, 20, 13, 151, 242]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var u = (function(e) {
            function t(t, n) {
              var i = e.call(this, n) || this
              return (i._type = t), i
            }
            return (
              f(t, e),
              (t.prototype.run = function(e, t) {
                var n = t.getModel()
                if (n) {
                  for (
                    var i = [],
                      o = t.getSelections(),
                      r = n.getOptions(),
                      s = 0;
                    s < o.length;
                    s++
                  )
                    i.push(
                      new a.LineCommentCommand(o[s], r.tabSize, this._type)
                    )
                  t.pushUndoStop(),
                    t.executeCommands(this.id, i),
                    t.pushUndoStop()
                }
              }),
              t
            )
          })(r.EditorAction),
          l = (function(e) {
            function t() {
              return (
                e.call(this, 0, {
                  id: 'editor.action.commentLine',
                  label: n.localize(0, null),
                  alias: 'Toggle Line Comment',
                  precondition: o.EditorContextKeys.writable,
                  kbOpts: {
                    kbExpr: o.EditorContextKeys.textFocus,
                    primary: 2133
                  }
                }) || this
              )
            }
            return f(t, e), t
          })(u)
        l = v([r.editorAction], l)
        var c = (function(e) {
          function t() {
            return (
              e.call(this, 1, {
                id: 'editor.action.addCommentLine',
                label: n.localize(1, null),
                alias: 'Add Line Comment',
                precondition: o.EditorContextKeys.writable,
                kbOpts: {
                  kbExpr: o.EditorContextKeys.textFocus,
                  primary: i.KeyChord(2089, 2081)
                }
              }) || this
            )
          }
          return f(t, e), t
        })(u)
        c = v([r.editorAction], c)
        var d = (function(e) {
          function t() {
            return (
              e.call(this, 2, {
                id: 'editor.action.removeCommentLine',
                label: n.localize(2, null),
                alias: 'Remove Line Comment',
                precondition: o.EditorContextKeys.writable,
                kbOpts: {
                  kbExpr: o.EditorContextKeys.textFocus,
                  primary: i.KeyChord(2089, 2099)
                }
              }) || this
            )
          }
          return f(t, e), t
        })(u)
        d = v([r.editorAction], d)
        var h = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.blockComment',
                label: n.localize(3, null),
                alias: 'Toggle Block Comment',
                precondition: o.EditorContextKeys.writable,
                kbOpts: {
                  kbExpr: o.EditorContextKeys.textFocus,
                  primary: 1567,
                  linux: { primary: 3103 }
                }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              for (var n = [], i = t.getSelections(), o = 0; o < i.length; o++)
                n.push(new s.BlockCommentCommand(i[o]))
              t.pushUndoStop(), t.executeCommands(this.id, n), t.pushUndoStop()
            }),
            t
          )
        })(r.EditorAction)
        h = v([r.editorAction], h)
      }),
      define(d[445], h([
        0,
        1,
        336,
        3,
        8,
        6,
        69,
        71,
        47,
        19,
        77,
        20,
        13,
        25,
        32
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var m = (b = (function() {
          function e(e, t, n, i, o, r) {
            var s = this
            ;(this._contextMenuService = t),
              (this._contextViewService = n),
              (this._contextKeyService = i),
              (this._keybindingService = o),
              (this._menuService = r),
              (this._toDispose = []),
              (this._contextMenuIsBeingShownCount = 0),
              (this._editor = e),
              this._toDispose.push(
                this._editor.onContextMenu(function(e) {
                  return s._onContextMenu(e)
                })
              ),
              this._toDispose.push(
                this._editor.onDidScrollChange(function(e) {
                  s._contextMenuIsBeingShownCount > 0 &&
                    s._contextViewService.hideContextView()
                })
              ),
              this._toDispose.push(
                this._editor.onKeyDown(function(e) {
                  58 === e.keyCode &&
                    (e.preventDefault(),
                    e.stopPropagation(),
                    s.showContextMenu())
                })
              )
          }
          return (
            (e.get = function(e) {
              return e.getContribution(b.ID)
            }),
            (e.prototype._onContextMenu = function(e) {
              if (!this._editor.getConfiguration().contribInfo.contextmenu)
                return (
                  this._editor.focus(),
                  void (
                    e.target.position &&
                    !this._editor
                      .getSelection()
                      .containsPosition(e.target.position) &&
                    this._editor.setPosition(e.target.position)
                  )
                )
              if (
                e.target.type !== p.MouseTargetType.OVERLAY_WIDGET &&
                (e.event.preventDefault(),
                e.target.type === p.MouseTargetType.CONTENT_TEXT ||
                  e.target.type === p.MouseTargetType.CONTENT_EMPTY ||
                  e.target.type === p.MouseTargetType.TEXTAREA)
              ) {
                this._editor.focus(),
                  e.target.position &&
                    !this._editor
                      .getSelection()
                      .containsPosition(e.target.position) &&
                    this._editor.setPosition(e.target.position)
                var t
                e.target.type !== p.MouseTargetType.TEXTAREA &&
                  (t = { x: e.event.posx, y: e.event.posy + 1 }),
                  this.showContextMenu(t)
              }
            }),
            (e.prototype.showContextMenu = function(e) {
              if (this._editor.getConfiguration().contribInfo.contextmenu)
                if (this._contextMenuService) {
                  var t = this._getMenuActions()
                  t.length > 0 && this._doShowContextMenu(t, e)
                } else this._editor.focus()
            }),
            (e.prototype._getMenuActions = function() {
              var e = [],
                t = this._menuService.createMenu(
                  c.MenuId.EditorContext,
                  this._contextKeyService
                ),
                n = t.getActions({ arg: this._editor.getModel().uri })
              t.dispose()
              for (var i = 0, o = n; i < o.length; i++) {
                var r = o[i][1]
                e.push.apply(e, r), e.push(new s.Separator())
              }
              return e.pop(), e
            }),
            (e.prototype._doShowContextMenu = function(e, t) {
              var n = this
              void 0 === t && (t = null)
              var i = this._editor.getConfiguration().contribInfo.hover
              this._editor.updateOptions({ hover: !1 })
              var a = t
              if (!a) {
                this._editor.revealPosition(this._editor.getPosition()),
                  this._editor.render()
                var u = this._editor.getScrolledVisiblePosition(
                    this._editor.getPosition()
                  ),
                  l = r.getDomNodePagePosition(this._editor.getDomNode()),
                  c = l.left + u.left,
                  d = l.top + u.top + u.height
                a = { x: c, y: d }
              }
              this._contextMenuIsBeingShownCount++,
                this._contextMenuService.showContextMenu({
                  getAnchor: function() {
                    return a
                  },
                  getActions: function() {
                    return o.TPromise.as(e)
                  },
                  getActionItem: function(e) {
                    var t = n._keybindingFor(e)
                    if (t)
                      return new s.ActionItem(e, e, {
                        label: !0,
                        keybinding: t.getLabel(),
                        isMenu: !0
                      })
                    var i = e
                    return 'function' == typeof i.getActionItem
                      ? i.getActionItem()
                      : new s.ActionItem(e, e, {
                          icon: !0,
                          label: !0,
                          isMenu: !0
                        })
                  },
                  getKeyBinding: function(e) {
                    return n._keybindingFor(e)
                  },
                  onHide: function(e) {
                    n._contextMenuIsBeingShownCount--,
                      n._editor.focus(),
                      n._editor.updateOptions({ hover: i })
                  }
                })
            }),
            (e.prototype._keybindingFor = function(e) {
              return this._keybindingService.lookupKeybinding(e.id)
            }),
            (e.prototype.getId = function() {
              return b.ID
            }),
            (e.prototype.dispose = function() {
              this._contextMenuIsBeingShownCount > 0 &&
                this._contextViewService.hideContextView(),
                (this._toDispose = i.dispose(this._toDispose))
            }),
            e
          )
        })())
        ;(m.ID = 'editor.contrib.contextmenu'),
          (m = b = v(
            [
              g.editorContribution,
              y(1, a.IContextMenuService),
              y(2, a.IContextViewService),
              y(3, l.IContextKeyService),
              y(4, u.IKeybindingService),
              y(5, c.IMenuService)
            ],
            m
          )),
          (t.ContextMenuController = m)
        var _ = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.showContextMenu',
                label: n.localize(0, null),
                alias: 'Show Editor Context Menu',
                precondition: null,
                kbOpts: { kbExpr: d.EditorContextKeys.textFocus, primary: 1092 }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              m.get(t).showContextMenu()
            }),
            t
          )
        })(h.EditorAction)
        _ = v([h.editorAction], _)
        var b
      }),
      define(d[446], h([0, 1, 13, 3, 20, 32]), function(e, t, n, i, o, r) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = (function() {
            function e(e) {
              this.selections = e
            }
            return (
              (e.prototype.equals = function(e) {
                var t = this.selections.length
                if (t !== e.selections.length) return !1
                for (var n = 0; n < t; n++)
                  if (!this.selections[n].equalsSelection(e.selections[n]))
                    return !1
                return !0
              }),
              e
            )
          })(),
          a = (l = (function(e) {
            function t(t) {
              var n = e.call(this) || this
              return (
                (n._editor = t),
                (n._isCursorUndo = !1),
                (n._undoStack = []),
                (n._prevState = n._readState()),
                n._register(
                  t.onDidChangeModel(function(e) {
                    ;(n._undoStack = []), (n._prevState = null)
                  })
                ),
                n._register(
                  t.onDidChangeModelContent(function(e) {
                    ;(n._undoStack = []), (n._prevState = null)
                  })
                ),
                n._register(
                  t.onDidChangeCursorSelection(function(e) {
                    !n._isCursorUndo &&
                      n._prevState &&
                      (n._undoStack.push(n._prevState),
                      n._undoStack.length > 50 &&
                        (n._undoStack = n._undoStack.splice(
                          0,
                          n._undoStack.length - 50
                        ))),
                      (n._prevState = n._readState())
                  })
                ),
                n
              )
            }
            return (
              f(t, e),
              (t.get = function(e) {
                return e.getContribution(l.ID)
              }),
              (t.prototype._readState = function() {
                return this._editor.getModel()
                  ? new s(this._editor.getSelections())
                  : null
              }),
              (t.prototype.getId = function() {
                return l.ID
              }),
              (t.prototype.cursorUndo = function() {
                for (
                  var e = new s(this._editor.getSelections());
                  this._undoStack.length > 0;

                ) {
                  var t = this._undoStack.pop()
                  if (!t.equals(e))
                    return (
                      (this._isCursorUndo = !0),
                      this._editor.setSelections(t.selections),
                      void (this._isCursorUndo = !1)
                    )
                }
              }),
              t
            )
          })(i.Disposable))
        ;(a.ID = 'editor.contrib.cursorUndoController'),
          (a = l = v([r.editorContribution], a)),
          (t.CursorUndoController = a)
        var u = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'cursorUndo',
                precondition: null,
                kbOpts: { kbExpr: o.EditorContextKeys.textFocus, primary: 2099 }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.runEditorCommand = function(e, t, n) {
              a.get(t).cursorUndo()
            }),
            t
          )
        })(n.EditorCommand)
        ;(u = v([n.editorCommand], u)), (t.CursorUndo = u)
        var l
      }),
      define(d[145], h([
        0,
        1,
        338,
        523,
        39,
        3,
        19,
        2,
        22,
        9,
        21,
        13,
        128,
        244,
        17,
        18,
        54,
        20,
        72,
        33
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g, m, _, b, C, w) {
        'use strict'
        function S(e, t) {
          var n = E.get(e)
          if (!n) return null
          var i,
            o,
            r = n.getState(),
            s = r.wholeWord,
            a = r.matchCase
          if (!e.isFocused() && r.isRevealed && r.searchString.length > 0)
            i = r.searchString
          else {
            var l = e.getSelection()
            if (l.startLineNumber !== l.endLineNumber && !t.allowMultiline)
              return null
            if (l.isEmpty()) {
              var c = e.getModel().getWordAtPosition(l.getStartPosition())
              if (!c) return null
              ;(i = c.word),
                (o = new u.Selection(
                  l.startLineNumber,
                  c.startColumn,
                  l.startLineNumber,
                  c.endColumn
                ))
            } else
              i = e
                .getModel()
                .getValueInRange(l)
                .replace(/\r\n/g, '\n')
            t.changeFindSearchString && n.setSearchString(i)
          }
          return (
            t.highlightFindOptions && n.highlightFindOptions(),
            { searchText: i, matchCase: a, wholeWord: s, currentMatch: o }
          )
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        !(function(e) {
          ;(e[(e.NoFocusChange = 0)] = 'NoFocusChange'),
            (e[(e.FocusFindInput = 1)] = 'FocusFindInput'),
            (e[(e.FocusReplaceInput = 2)] = 'FocusReplaceInput')
        })(t.FindStartFocusAction || (t.FindStartFocusAction = {})),
          (t.CONTEXT_FIND_WIDGET_VISIBLE = new s.RawContextKey(
            'findWidgetVisible',
            !1
          )),
          (t.CONTEXT_FIND_WIDGET_NOT_VISIBLE = t.CONTEXT_FIND_WIDGET_VISIBLE.toNegated()),
          (t.CONTEXT_FIND_INPUT_FOCUSSED = new s.RawContextKey(
            'findInputFocussed',
            !1
          ))
        var E = (function(e) {
          function n(n, o, r) {
            var s = e.call(this) || this
            return (
              (s._editor = n),
              (s._findWidgetVisible = t.CONTEXT_FIND_WIDGET_VISIBLE.bindTo(o)),
              (s._storageService = r),
              (s._updateHistoryDelayer = new m.Delayer(500)),
              (s._currentHistoryNavigator = new i.HistoryNavigator()),
              (s._state = s._register(new p.FindReplaceState())),
              s.loadQueryState(),
              s._register(
                s._state.addChangeListener(function(e) {
                  return s._onStateChanged(e)
                })
              ),
              (s._model = null),
              s._register(
                s._editor.onDidChangeModel(function() {
                  var e = s._editor.getModel() && s._state.isRevealed
                  s.disposeModel(),
                    s._state.change(
                      {
                        searchScope: null,
                        matchCase: s._storageService.getBoolean(
                          'editor.matchCase',
                          C.StorageScope.WORKSPACE,
                          !1
                        ),
                        wholeWord: s._storageService.getBoolean(
                          'editor.wholeWord',
                          C.StorageScope.WORKSPACE,
                          !1
                        ),
                        isRegex: s._storageService.getBoolean(
                          'editor.isRegex',
                          C.StorageScope.WORKSPACE,
                          !1
                        )
                      },
                      !1
                    ),
                    e &&
                      s._start({
                        forceRevealReplace: !1,
                        seedSearchStringFromSelection: !1,
                        shouldFocus: 0,
                        shouldAnimate: !1
                      })
                })
              ),
              s
            )
          }
          return (
            f(n, e),
            (n.get = function(e) {
              return e.getContribution(n.ID)
            }),
            (n.prototype.dispose = function() {
              this.disposeModel(), e.prototype.dispose.call(this)
            }),
            (n.prototype.disposeModel = function() {
              this._model && (this._model.dispose(), (this._model = null))
            }),
            (n.prototype.getId = function() {
              return n.ID
            }),
            (n.prototype._onStateChanged = function(e) {
              this.saveQueryState(e),
                e.updateHistory &&
                  e.searchString &&
                  this._delayedUpdateHistory(),
                e.isRevealed &&
                  (this._state.isRevealed
                    ? this._findWidgetVisible.set(!0)
                    : (this._findWidgetVisible.reset(), this.disposeModel()))
            }),
            (n.prototype.saveQueryState = function(e) {
              e.isRegex &&
                void 0 !== this._state.isRegex &&
                this._storageService.store(
                  'editor.isRegex',
                  this._state.isRegex,
                  C.StorageScope.WORKSPACE
                ),
                e.wholeWord &&
                  void 0 !== this._state.wholeWord &&
                  this._storageService.store(
                    'editor.wholeWord',
                    this._state.wholeWord,
                    C.StorageScope.WORKSPACE
                  ),
                e.matchCase &&
                  void 0 !== this._state.matchCase &&
                  this._storageService.store(
                    'editor.matchCase',
                    this._state.matchCase,
                    C.StorageScope.WORKSPACE
                  )
            }),
            (n.prototype.loadQueryState = function() {
              this._state.change(
                {
                  matchCase: this._storageService.getBoolean(
                    'editor.matchCase',
                    C.StorageScope.WORKSPACE,
                    this._state.matchCase
                  ),
                  wholeWord: this._storageService.getBoolean(
                    'editor.wholeWord',
                    C.StorageScope.WORKSPACE,
                    this._state.wholeWord
                  ),
                  isRegex: this._storageService.getBoolean(
                    'editor.isRegex',
                    C.StorageScope.WORKSPACE,
                    this._state.isRegex
                  )
                },
                !1
              )
            }),
            (n.prototype._delayedUpdateHistory = function() {
              this._updateHistoryDelayer.trigger(this._updateHistory.bind(this))
            }),
            (n.prototype._updateHistory = function() {
              this._state.searchString &&
                this._currentHistoryNavigator.add(this._state.searchString)
            }),
            (n.prototype.getState = function() {
              return this._state
            }),
            (n.prototype.getHistory = function() {
              return this._currentHistoryNavigator
            }),
            (n.prototype.closeFindWidget = function() {
              this._state.change({ isRevealed: !1, searchScope: null }, !1),
                this._editor.focus()
            }),
            (n.prototype.toggleCaseSensitive = function() {
              this._state.change({ matchCase: !this._state.matchCase }, !1)
            }),
            (n.prototype.toggleWholeWords = function() {
              this._state.change({ wholeWord: !this._state.wholeWord }, !1)
            }),
            (n.prototype.toggleRegex = function() {
              this._state.change({ isRegex: !this._state.isRegex }, !1)
            }),
            (n.prototype.toggleSearchScope = function() {
              if (this._state.searchScope)
                this._state.change({ searchScope: null }, !0)
              else {
                var e = this._editor.getSelection()
                1 === e.endColumn &&
                  e.endLineNumber > e.startLineNumber &&
                  (e = e.setEndPosition(e.endLineNumber - 1, 1)),
                  e.isEmpty() || this._state.change({ searchScope: e }, !0)
              }
            }),
            (n.prototype.setSearchString = function(e) {
              this._state.change({ searchString: e }, !1)
            }),
            (n.prototype.highlightFindOptions = function() {}),
            (n.prototype.getSelectionSearchString = function() {
              var e = this._editor.getSelection()
              if (e.startLineNumber === e.endLineNumber) {
                if (!e.isEmpty())
                  return this._editor.getModel().getValueInRange(e)
                var t = this._editor
                  .getModel()
                  .getWordAtPosition(e.getStartPosition())
                if (t) return t.word
              }
              return null
            }),
            (n.prototype._start = function(e) {
              if ((this.disposeModel(), this._editor.getModel())) {
                var t = { isRevealed: !0 }
                if (
                  e.seedSearchStringFromSelection &&
                  this._editor.getConfiguration().contribInfo.find
                    .seedSearchStringFromSelection
                ) {
                  var n = this.getSelectionSearchString()
                  n &&
                    (this._state.isRegex
                      ? (t.searchString = l.escapeRegExpCharacters(n))
                      : (t.searchString = n))
                }
                e.forceRevealReplace
                  ? (t.isReplaceRevealed = !0)
                  : this._findWidgetVisible.get() || (t.isReplaceRevealed = !1),
                  this._state.change(t, !1),
                  this._model ||
                    (this._model = new h.FindModelBoundToEditorModel(
                      this._editor,
                      this._state
                    ))
              }
            }),
            (n.prototype.start = function(e) {
              this._start(e)
            }),
            (n.prototype.moveToNextMatch = function() {
              return !!this._model && (this._model.moveToNextMatch(), !0)
            }),
            (n.prototype.moveToPrevMatch = function() {
              return !!this._model && (this._model.moveToPrevMatch(), !0)
            }),
            (n.prototype.replace = function() {
              return !!this._model && (this._model.replace(), !0)
            }),
            (n.prototype.replaceAll = function() {
              return !!this._model && (this._model.replaceAll(), !0)
            }),
            (n.prototype.selectAllMatches = function() {
              return (
                !!this._model &&
                (this._model.selectAllMatches(), this._editor.focus(), !0)
              )
            }),
            (n.prototype.showPreviousFindTerm = function() {
              var e = this._currentHistoryNavigator.previous()
              return e && this._state.change({ searchString: e }, !1, !1), !0
            }),
            (n.prototype.showNextFindTerm = function() {
              var e = this._currentHistoryNavigator.next()
              return e && this._state.change({ searchString: e }, !1, !1), !0
            }),
            n
          )
        })(r.Disposable)
        ;(E.ID = 'editor.contrib.findController'),
          (E = v([y(1, s.IContextKeyService), y(2, C.IStorageService)], E)),
          (t.CommonFindController = E)
        var L = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: h.FIND_IDS.StartFindAction,
                label: n.localize(0, null),
                alias: 'Find',
                precondition: null,
                kbOpts: {
                  kbExpr: null,
                  primary: 2084,
                  mac: { primary: 2084, secondary: [2083] }
                }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = E.get(t)
              n &&
                n.start({
                  forceRevealReplace: !1,
                  seedSearchStringFromSelection: !0,
                  shouldFocus: 1,
                  shouldAnimate: !0
                })
            }),
            t
          )
        })(d.EditorAction)
        ;(L = v([d.editorAction], L)), (t.StartFindAction = L)
        var x = (function(e) {
          function t() {
            return (null !== e && e.apply(this, arguments)) || this
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = E.get(t)
              n &&
                !this._run(n) &&
                (n.start({
                  forceRevealReplace: !1,
                  seedSearchStringFromSelection:
                    0 === n.getState().searchString.length,
                  shouldFocus: 0,
                  shouldAnimate: !0
                }),
                this._run(n))
            }),
            t
          )
        })(d.EditorAction)
        t.MatchFindAction = x
        var N = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: h.FIND_IDS.NextMatchFindAction,
                label: n.localize(1, null),
                alias: 'Find Next',
                precondition: null,
                kbOpts: {
                  kbExpr: b.EditorContextKeys.focus,
                  primary: 61,
                  mac: { primary: 2085, secondary: [61] }
                }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype._run = function(e) {
              return e.moveToNextMatch()
            }),
            t
          )
        })(x)
        ;(N = v([d.editorAction], N)), (t.NextMatchFindAction = N)
        var M = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: h.FIND_IDS.PreviousMatchFindAction,
                label: n.localize(2, null),
                alias: 'Find Previous',
                precondition: null,
                kbOpts: {
                  kbExpr: b.EditorContextKeys.focus,
                  primary: 1085,
                  mac: { primary: 3109, secondary: [1085] }
                }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype._run = function(e) {
              return e.moveToPrevMatch()
            }),
            t
          )
        })(x)
        ;(M = v([d.editorAction], M)), (t.PreviousMatchFindAction = M)
        var T = (function(e) {
          function t() {
            return (null !== e && e.apply(this, arguments)) || this
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = E.get(t)
              if (n) {
                var i = n.getSelectionSearchString()
                i && n.setSearchString(i),
                  this._run(n) ||
                    (n.start({
                      forceRevealReplace: !1,
                      seedSearchStringFromSelection: !1,
                      shouldFocus: 0,
                      shouldAnimate: !0
                    }),
                    this._run(n))
              }
            }),
            t
          )
        })(d.EditorAction)
        t.SelectionMatchFindAction = T
        var k = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: h.FIND_IDS.NextSelectionMatchFindAction,
                label: n.localize(3, null),
                alias: 'Find Next Selection',
                precondition: null,
                kbOpts: { kbExpr: b.EditorContextKeys.focus, primary: 2109 }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype._run = function(e) {
              return e.moveToNextMatch()
            }),
            t
          )
        })(T)
        ;(k = v([d.editorAction], k)), (t.NextSelectionMatchFindAction = k)
        var I = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: h.FIND_IDS.PreviousSelectionMatchFindAction,
                label: n.localize(4, null),
                alias: 'Find Previous Selection',
                precondition: null,
                kbOpts: { kbExpr: b.EditorContextKeys.focus, primary: 3133 }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype._run = function(e) {
              return e.moveToPrevMatch()
            }),
            t
          )
        })(T)
        ;(I = v([d.editorAction], I)), (t.PreviousSelectionMatchFindAction = I)
        var D = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: h.FIND_IDS.StartFindReplaceAction,
                label: n.localize(5, null),
                alias: 'Replace',
                precondition: null,
                kbOpts: { kbExpr: null, primary: 2086, mac: { primary: 2596 } }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              if (!t.getConfiguration().readOnly) {
                var n = E.get(t),
                  i = t.getSelection(),
                  o = !i.isEmpty() && i.startLineNumber === i.endLineNumber,
                  r = n.getState().searchString || o ? 2 : 1
                n &&
                  n.start({
                    forceRevealReplace: !0,
                    seedSearchStringFromSelection: o,
                    shouldFocus: r,
                    shouldAnimate: !0
                  })
              }
            }),
            t
          )
        })(d.EditorAction)
        ;(D = v([d.editorAction], D)), (t.StartFindReplaceAction = D)
        var O = (function(e) {
          function t() {
            return (null !== e && e.apply(this, arguments)) || this
          }
          return (
            f(t, e),
            (t.prototype._getNextMatch = function(e) {
              var t = S(e, {
                changeFindSearchString: !0,
                allowMultiline: !0,
                highlightFindOptions: !0
              })
              if (!t) return null
              if (t.currentMatch) return t.currentMatch
              var n = e.getSelections(),
                i = n[n.length - 1],
                o = e
                  .getModel()
                  .findNextMatch(
                    t.searchText,
                    i.getEndPosition(),
                    !1,
                    t.matchCase,
                    t.wholeWord ? e.getConfiguration().wordSeparators : null,
                    !1
                  )
              return o
                ? new u.Selection(
                    o.range.startLineNumber,
                    o.range.startColumn,
                    o.range.endLineNumber,
                    o.range.endColumn
                  )
                : null
            }),
            t
          )
        })(d.EditorAction)
        t.SelectNextFindMatchAction = O
        var R = (function(e) {
          function t() {
            return (null !== e && e.apply(this, arguments)) || this
          }
          return (
            f(t, e),
            (t.prototype._getPreviousMatch = function(e) {
              var t = S(e, {
                changeFindSearchString: !0,
                allowMultiline: !0,
                highlightFindOptions: !0
              })
              if (!t) return null
              if (t.currentMatch) return t.currentMatch
              var n = e.getSelections(),
                i = n[n.length - 1],
                o = e
                  .getModel()
                  .findPreviousMatch(
                    t.searchText,
                    i.getStartPosition(),
                    !1,
                    t.matchCase,
                    t.wholeWord ? e.getConfiguration().wordSeparators : null,
                    !1
                  )
              return o
                ? new u.Selection(
                    o.range.startLineNumber,
                    o.range.startColumn,
                    o.range.endLineNumber,
                    o.range.endColumn
                  )
                : null
            }),
            t
          )
        })(d.EditorAction)
        t.SelectPreviousFindMatchAction = R
        var P = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: h.FIND_IDS.AddSelectionToNextFindMatchAction,
                label: n.localize(6, null),
                alias: 'Add Selection To Next Find Match',
                precondition: null,
                kbOpts: { kbExpr: b.EditorContextKeys.focus, primary: 2082 }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = t.getSelections()
              if (n.length > 1) {
                var i = t.getModel(),
                  o = E.get(t)
                if (!o) return
                var r = o.getState().matchCase,
                  s = !0,
                  a = i.getValueInRange(n[0])
                r || (a = a.toLowerCase())
                for (var l = 1, c = n.length; l < c; l++) {
                  if ((p = n[l]).isEmpty()) {
                    s = !1
                    break
                  }
                  var d = i.getValueInRange(p)
                  if ((r || (d = d.toLowerCase()), a !== d)) {
                    s = !1
                    break
                  }
                }
                if (!s) {
                  for (var h = [], l = 0, c = n.length; l < c; l++) {
                    var p = n[l]
                    if (p.isEmpty()) {
                      var f = t
                        .getModel()
                        .getWordAtPosition(p.getStartPosition())
                      if (f) {
                        h[l] = new u.Selection(
                          p.startLineNumber,
                          f.startColumn,
                          p.startLineNumber,
                          f.endColumn
                        )
                        continue
                      }
                    }
                    h[l] = p
                  }
                  return void t.setSelections(h)
                }
              }
              var g = this._getNextMatch(t)
              g &&
                (t.setSelections(n.concat(g)),
                t.revealRangeInCenterIfOutsideViewport(g))
            }),
            t
          )
        })(O)
        ;(P = v([d.editorAction], P)), (t.AddSelectionToNextFindMatchAction = P)
        var A = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: h.FIND_IDS.AddSelectionToPreviousFindMatchAction,
                label: n.localize(7, null),
                alias: 'Add Selection To Previous Find Match',
                precondition: null
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = this._getPreviousMatch(t)
              if (n) {
                var i = t.getSelections()
                t.setSelections(i.concat(n)),
                  t.revealRangeInCenterIfOutsideViewport(n)
              }
            }),
            t
          )
        })(R)
        ;(A = v([d.editorAction], A)),
          (t.AddSelectionToPreviousFindMatchAction = A)
        var F = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: h.FIND_IDS.MoveSelectionToNextFindMatchAction,
                label: n.localize(8, null),
                alias: 'Move Last Selection To Next Find Match',
                precondition: null,
                kbOpts: {
                  kbExpr: b.EditorContextKeys.focus,
                  primary: o.KeyChord(2089, 2082)
                }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = this._getNextMatch(t)
              if (n) {
                var i = t.getSelections()
                t.setSelections(i.slice(0, i.length - 1).concat(n)),
                  t.revealRangeInCenterIfOutsideViewport(n)
              }
            }),
            t
          )
        })(O)
        ;(F = v([d.editorAction], F)),
          (t.MoveSelectionToNextFindMatchAction = F)
        var W = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: h.FIND_IDS.MoveSelectionToPreviousFindMatchAction,
                label: n.localize(9, null),
                alias: 'Move Last Selection To Previous Find Match',
                precondition: null
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = this._getPreviousMatch(t)
              if (n) {
                var i = t.getSelections()
                t.setSelections(i.slice(0, i.length - 1).concat(n)),
                  t.revealRangeInCenterIfOutsideViewport(n)
              }
            }),
            t
          )
        })(R)
        ;(W = v([d.editorAction], W)),
          (t.MoveSelectionToPreviousFindMatchAction = W)
        var B = (function(e) {
          function t() {
            return (null !== e && e.apply(this, arguments)) || this
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = E.get(t)
              if (!n) return null
              var i = null,
                o = n.getState()
              if (o.isRevealed && o.isRegex && o.searchString.length > 0)
                i = t
                  .getModel()
                  .findMatches(
                    o.searchString,
                    !0,
                    o.isRegex,
                    o.matchCase,
                    o.wholeWord ? t.getConfiguration().wordSeparators : null,
                    !1
                  )
                  .map(function(e) {
                    return e.range
                  })
              else {
                var r = S(t, {
                  changeFindSearchString: !0,
                  allowMultiline: !0,
                  highlightFindOptions: !0
                })
                if (!r) return
                i = t
                  .getModel()
                  .findMatches(
                    r.searchText,
                    !0,
                    !1,
                    r.matchCase,
                    r.wholeWord ? t.getConfiguration().wordSeparators : null,
                    !1
                  )
                  .map(function(e) {
                    return e.range
                  })
              }
              if (i.length > 0) {
                for (
                  var s = t.getSelection(), a = 0, l = i.length;
                  a < l;
                  a++
                ) {
                  var c = i[a]
                  if (c.intersectRanges(s)) {
                    i.splice(a, 1), i.unshift(c)
                    break
                  }
                }
                t.setSelections(
                  i.map(function(e) {
                    return new u.Selection(
                      e.startLineNumber,
                      e.startColumn,
                      e.endLineNumber,
                      e.endColumn
                    )
                  })
                )
              }
            }),
            t
          )
        })(d.EditorAction)
        t.AbstractSelectHighlightsAction = B
        var V = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.selectHighlights',
                label: n.localize(10, null),
                alias: 'Select All Occurrences of Find Match',
                precondition: null,
                kbOpts: { kbExpr: b.EditorContextKeys.focus, primary: 3114 }
              }) || this
            )
          }
          return f(t, e), t
        })(B)
        ;(V = v([d.editorAction], V)), (t.SelectHighlightsAction = V)
        var H = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.changeAll',
                label: n.localize(11, null),
                alias: 'Change All Occurrences',
                precondition: b.EditorContextKeys.writable,
                kbOpts: {
                  kbExpr: b.EditorContextKeys.textFocus,
                  primary: 2108
                },
                menuOpts: { group: '1_modification', order: 1.2 }
              }) || this
            )
          }
          return f(t, e), t
        })(B)
        ;(H = v([d.editorAction], H)), (t.CompatChangeAll = H)
        var z = (function() {
            function e(e, t, n, i) {
              ;(this.searchText = t),
                (this.matchCase = n),
                (this.wordSeparators = i)
            }
            return (
              (e.softEquals = function(e, t) {
                return (
                  (!e && !t) ||
                  (!(!e || !t) &&
                    (e.searchText === t.searchText &&
                      e.matchCase === t.matchCase &&
                      e.wordSeparators === t.wordSeparators))
                )
              }),
              e
            )
          })(),
          K = (j = (function(e) {
            function t(t) {
              var n = e.call(this) || this
              return (
                (n.editor = t),
                (n._isEnabled = t.getConfiguration().contribInfo.selectionHighlight),
                (n.decorations = []),
                (n.updateSoon = n._register(
                  new m.RunOnceScheduler(function() {
                    return n._update()
                  }, 300)
                )),
                (n.state = null),
                n._register(
                  t.onDidChangeConfiguration(function(e) {
                    n._isEnabled = t.getConfiguration().contribInfo.selectionHighlight
                  })
                ),
                n._register(
                  t.onDidChangeCursorSelection(function(e) {
                    n._isEnabled &&
                      (e.selection.isEmpty()
                        ? e.reason === _.CursorChangeReason.Explicit
                          ? (!n.state ||
                              (n.state.lastWordUnderCursor &&
                                n.state.lastWordUnderCursor.containsPosition(
                                  e.selection.getStartPosition()
                                )) ||
                              n._setState(null),
                            n.updateSoon.schedule())
                          : n._setState(null)
                        : n._update())
                  })
                ),
                n._register(
                  t.onDidChangeModel(function(e) {
                    n._setState(null)
                  })
                ),
                n._register(
                  E.get(t)
                    .getState()
                    .addChangeListener(function(e) {
                      n._update()
                    })
                ),
                n
              )
            }
            return (
              f(t, e),
              (t.prototype.getId = function() {
                return j.ID
              }),
              (t.prototype._update = function() {
                this._setState(j._createState(this._isEnabled, this.editor))
              }),
              (t._createState = function(e, t) {
                var n = t.getModel()
                if (!n) return null
                var i = t.getConfiguration(),
                  o = null
                if (!e) return null
                var r = S(t, {
                  changeFindSearchString: !1,
                  allowMultiline: !1,
                  highlightFindOptions: !1
                })
                if (!r) return null
                var s = g.DocumentHighlightProviderRegistry.has(n)
                if (r.currentMatch) {
                  if (s) return null
                  if (!i.contribInfo.occurrencesHighlight) return null
                  o = r.currentMatch
                }
                if (/^[ \t]+$/.test(r.searchText)) return null
                if (r.searchText.length > 200) return null
                var a = E.get(t)
                if (!a) return null
                var u = a.getState().matchCase,
                  l = t.getSelections(),
                  c = n.getValueInRange(l[0])
                u || (c = c.toLowerCase())
                for (var d = 1; d < l.length; d++) {
                  var h = n.getValueInRange(l[d])
                  if ((u || (h = h.toLowerCase()), c !== h)) return null
                }
                return new z(
                  o,
                  r.searchText,
                  r.matchCase,
                  r.wholeWord ? t.getConfiguration().wordSeparators : null
                )
              }),
              (t.prototype._setState = function(e) {
                if (z.softEquals(this.state, e)) this.state = e
                else if (((this.state = e), this.state)) {
                  var t = this.editor.getModel(),
                    n = g.DocumentHighlightProviderRegistry.has(t),
                    i = t
                      .findMatches(
                        this.state.searchText,
                        !0,
                        !1,
                        this.state.matchCase,
                        this.state.wordSeparators,
                        !1
                      )
                      .map(function(e) {
                        return e.range
                      })
                  i.sort(a.Range.compareRangesUsingStarts)
                  var o = this.editor.getSelections()
                  o.sort(a.Range.compareRangesUsingStarts)
                  for (
                    var r = [], s = 0, u = 0, l = i.length, c = o.length;
                    s < l;

                  ) {
                    var d = i[s]
                    if (u >= c) r.push(d), s++
                    else {
                      var h = a.Range.compareRangesUsingStarts(d, o[u])
                      h < 0 ? (r.push(d), s++) : h > 0 ? u++ : (s++, u++)
                    }
                  }
                  var p = r.map(function(e) {
                    return {
                      range: e,
                      options: n
                        ? j._SELECTION_HIGHLIGHT
                        : j._SELECTION_HIGHLIGHT_OVERVIEW
                    }
                  })
                  this.decorations = this.editor.deltaDecorations(
                    this.decorations,
                    p
                  )
                } else
                  this.decorations.length > 0 &&
                    (this.decorations = this.editor.deltaDecorations(
                      this.decorations,
                      []
                    ))
              }),
              (t.prototype.dispose = function() {
                this._setState(null), e.prototype.dispose.call(this)
              }),
              t
            )
          })(r.Disposable))
        ;(K.ID = 'editor.contrib.selectionHighlighter'),
          (K._SELECTION_HIGHLIGHT_OVERVIEW = w.ModelDecorationOptions.register({
            stickiness: c.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
            className: 'selectionHighlight',
            overviewRuler: {
              color: '#A0A0A0',
              darkColor: '#A0A0A0',
              position: c.OverviewRulerLane.Center
            }
          })),
          (K._SELECTION_HIGHLIGHT = w.ModelDecorationOptions.register({
            stickiness: c.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
            className: 'selectionHighlight'
          })),
          (K = j = v([d.commonEditorContribution], K)),
          (t.SelectionHighlighter = K)
        var U = d.EditorCommand.bindToContribution(E.get)
        d.CommonEditorRegistry.registerEditorCommand(
          new U({
            id: h.FIND_IDS.CloseFindWidgetCommand,
            precondition: t.CONTEXT_FIND_WIDGET_VISIBLE,
            handler: function(e) {
              return e.closeFindWidget()
            },
            kbOpts: {
              weight: d.CommonEditorRegistry.commandWeight(5),
              kbExpr: b.EditorContextKeys.focus,
              primary: 9,
              secondary: [1033]
            }
          })
        ),
          d.CommonEditorRegistry.registerEditorCommand(
            new U({
              id: h.FIND_IDS.ToggleCaseSensitiveCommand,
              precondition: null,
              handler: function(e) {
                return e.toggleCaseSensitive()
              },
              kbOpts: {
                weight: d.CommonEditorRegistry.commandWeight(5),
                kbExpr: b.EditorContextKeys.focus,
                primary: h.ToggleCaseSensitiveKeybinding.primary,
                mac: h.ToggleCaseSensitiveKeybinding.mac,
                win: h.ToggleCaseSensitiveKeybinding.win,
                linux: h.ToggleCaseSensitiveKeybinding.linux
              }
            })
          ),
          d.CommonEditorRegistry.registerEditorCommand(
            new U({
              id: h.FIND_IDS.ToggleWholeWordCommand,
              precondition: null,
              handler: function(e) {
                return e.toggleWholeWords()
              },
              kbOpts: {
                weight: d.CommonEditorRegistry.commandWeight(5),
                kbExpr: b.EditorContextKeys.focus,
                primary: h.ToggleWholeWordKeybinding.primary,
                mac: h.ToggleWholeWordKeybinding.mac,
                win: h.ToggleWholeWordKeybinding.win,
                linux: h.ToggleWholeWordKeybinding.linux
              }
            })
          ),
          d.CommonEditorRegistry.registerEditorCommand(
            new U({
              id: h.FIND_IDS.ToggleRegexCommand,
              precondition: null,
              handler: function(e) {
                return e.toggleRegex()
              },
              kbOpts: {
                weight: d.CommonEditorRegistry.commandWeight(5),
                kbExpr: b.EditorContextKeys.focus,
                primary: h.ToggleRegexKeybinding.primary,
                mac: h.ToggleRegexKeybinding.mac,
                win: h.ToggleRegexKeybinding.win,
                linux: h.ToggleRegexKeybinding.linux
              }
            })
          ),
          d.CommonEditorRegistry.registerEditorCommand(
            new U({
              id: h.FIND_IDS.ToggleSearchScopeCommand,
              precondition: null,
              handler: function(e) {
                return e.toggleSearchScope()
              },
              kbOpts: {
                weight: d.CommonEditorRegistry.commandWeight(5),
                kbExpr: b.EditorContextKeys.focus,
                primary: h.ToggleSearchScopeKeybinding.primary,
                mac: h.ToggleSearchScopeKeybinding.mac,
                win: h.ToggleSearchScopeKeybinding.win,
                linux: h.ToggleSearchScopeKeybinding.linux
              }
            })
          ),
          d.CommonEditorRegistry.registerEditorCommand(
            new U({
              id: h.FIND_IDS.ReplaceOneAction,
              precondition: t.CONTEXT_FIND_WIDGET_VISIBLE,
              handler: function(e) {
                return e.replace()
              },
              kbOpts: {
                weight: d.CommonEditorRegistry.commandWeight(5),
                kbExpr: b.EditorContextKeys.focus,
                primary: 3094
              }
            })
          ),
          d.CommonEditorRegistry.registerEditorCommand(
            new U({
              id: h.FIND_IDS.ReplaceAllAction,
              precondition: t.CONTEXT_FIND_WIDGET_VISIBLE,
              handler: function(e) {
                return e.replaceAll()
              },
              kbOpts: {
                weight: d.CommonEditorRegistry.commandWeight(5),
                kbExpr: b.EditorContextKeys.focus,
                primary: 2563
              }
            })
          ),
          d.CommonEditorRegistry.registerEditorCommand(
            new U({
              id: h.FIND_IDS.SelectAllMatchesAction,
              precondition: t.CONTEXT_FIND_WIDGET_VISIBLE,
              handler: function(e) {
                return e.selectAllMatches()
              },
              kbOpts: {
                weight: d.CommonEditorRegistry.commandWeight(5),
                kbExpr: b.EditorContextKeys.focus,
                primary: 515
              }
            })
          ),
          d.CommonEditorRegistry.registerEditorCommand(
            new U({
              id: h.FIND_IDS.ShowPreviousFindTermAction,
              precondition: t.CONTEXT_FIND_WIDGET_VISIBLE,
              handler: function(e) {
                return e.showPreviousFindTerm()
              },
              kbOpts: {
                weight: d.CommonEditorRegistry.commandWeight(5),
                kbExpr: s.ContextKeyExpr.and(
                  t.CONTEXT_FIND_INPUT_FOCUSSED,
                  b.EditorContextKeys.focus
                ),
                primary: h.ShowPreviousFindTermKeybinding.primary,
                mac: h.ShowPreviousFindTermKeybinding.mac,
                win: h.ShowPreviousFindTermKeybinding.win,
                linux: h.ShowPreviousFindTermKeybinding.linux
              }
            })
          ),
          d.CommonEditorRegistry.registerEditorCommand(
            new U({
              id: h.FIND_IDS.ShowNextFindTermAction,
              precondition: t.CONTEXT_FIND_WIDGET_VISIBLE,
              handler: function(e) {
                return e.showNextFindTerm()
              },
              kbOpts: {
                weight: d.CommonEditorRegistry.commandWeight(5),
                kbExpr: s.ContextKeyExpr.and(
                  t.CONTEXT_FIND_INPUT_FOCUSSED,
                  b.EditorContextKeys.focus
                ),
                primary: h.ShowNextFindTermKeybinding.primary,
                mac: h.ShowNextFindTermKeybinding.mac,
                win: h.ShowNextFindTermKeybinding.win,
                linux: h.ShowNextFindTermKeybinding.linux
              }
            })
          )
        var j
      }),
      define(d[448], h([
        0,
        1,
        339,
        29,
        6,
        18,
        39,
        3,
        2,
        13,
        25,
        32,
        323,
        248,
        247,
        20,
        291
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g, m) {
        'use strict'
        function _(e) {
          if (!i.isUndefined(e)) {
            if (!i.isObject(e)) return !1
            var t = e
            if (!i.isUndefined(t.levels) && !i.isNumber(t.levels)) return !1
            if (!i.isUndefined(t.direction) && !i.isString(t.direction))
              return !1
          }
          return !0
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var y = (T = (function() {
          function e(e) {
            var t = this
            ;(this.editor = e),
              (this._isEnabled = this.editor.getConfiguration().contribInfo.folding),
              (this._showFoldingControls = this.editor.getConfiguration().contribInfo.showFoldingControls),
              (this.globalToDispose = []),
              (this.localToDispose = []),
              (this.decorations = []),
              (this.computeToken = 0),
              this.globalToDispose.push(
                this.editor.onDidChangeModel(function() {
                  return t.onModelChanged()
                })
              ),
              this.globalToDispose.push(
                this.editor.onDidChangeConfiguration(function(e) {
                  var n = t._isEnabled
                  ;(t._isEnabled = t.editor.getConfiguration().contribInfo.folding),
                    n !== t._isEnabled && t.onModelChanged()
                  var i = t._showFoldingControls
                  ;(t._showFoldingControls = t.editor.getConfiguration().contribInfo.showFoldingControls),
                    i !== t._showFoldingControls && t.updateHideFoldIconClass()
                })
              ),
              this.onModelChanged()
          }
          return (
            (e.get = function(e) {
              return e.getContribution(g.ID)
            }),
            (e.prototype.getId = function() {
              return g.ID
            }),
            (e.prototype.dispose = function() {
              this.cleanState(),
                (this.globalToDispose = a.dispose(this.globalToDispose))
            }),
            (e.prototype.updateHideFoldIconClass = function() {
              var e = this.editor.getDomNode()
              e &&
                o.toggleClass(
                  e,
                  'alwaysShowFoldIcons',
                  'always' === this._showFoldingControls
                )
            }),
            (e.prototype.saveViewState = function() {
              var e = this.editor.getModel()
              if (!e) return {}
              var t = []
              return (
                this.decorations.forEach(function(n) {
                  if (n.isCollapsed) {
                    var i = n.getDecorationRange(e)
                    i &&
                      t.push({
                        startLineNumber: i.startLineNumber,
                        endLineNumber: i.endLineNumber,
                        indent: n.indent,
                        isCollapsed: !0
                      })
                  }
                }),
                { collapsedRegions: t, lineCount: e.getLineCount() }
              )
            }),
            (e.prototype.restoreViewState = function(e) {
              var t = this.editor.getModel()
              t &&
                this._isEnabled &&
                e &&
                Array.isArray(e.collapsedRegions) &&
                0 !== e.collapsedRegions.length &&
                e.lineCount === t.getLineCount() &&
                (this.cleanState(),
                this.applyRegions(e.collapsedRegions),
                this.onModelChanged())
            }),
            (e.prototype.cleanState = function() {
              this.localToDispose = a.dispose(this.localToDispose)
            }),
            (e.prototype.applyRegions = function(e) {
              var t = this,
                n = this.editor.getModel()
              if (n) {
                var i = !1
                ;(e = p
                  .limitByIndent(e, T.MAX_FOLDING_REGIONS)
                  .sort(function(e, t) {
                    return e.startLineNumber - t.startLineNumber
                  })),
                  this.editor.changeDecorations(function(o) {
                    for (
                      var r = [], s = 0, a = 0;
                      a < t.decorations.length && s < e.length;

                    ) {
                      var u = (c = t.decorations[a]).getDecorationRange(n)
                      if (u) {
                        for (
                          ;
                          s < e.length &&
                          u.startLineNumber > e[s].startLineNumber;

                        ) {
                          d = e[s]
                          ;(i = i || d.isCollapsed),
                            r.push(new h.CollapsibleRegion(d, n, o)),
                            s++
                        }
                        if (s < e.length) {
                          var l = e[s]
                          u.startLineNumber < l.startLineNumber
                            ? ((i = i || c.isCollapsed), c.dispose(o), a++)
                            : u.startLineNumber === l.startLineNumber &&
                              (!c.isCollapsed ||
                                (c.startLineNumber === l.startLineNumber &&
                                  c.endLineNumber === l.endLineNumber) ||
                                (i = !0),
                              (l.isCollapsed = c.isCollapsed),
                              c.update(l, n, o),
                              r.push(c),
                              a++,
                              s++)
                        }
                      } else (i = i || c.isCollapsed), c.dispose(o), a++
                    }
                    for (; a < t.decorations.length; ) {
                      var c = t.decorations[a]
                      ;(i = i || c.isCollapsed), c.dispose(o), a++
                    }
                    for (; s < e.length; ) {
                      var d = e[s]
                      ;(i = i || d.isCollapsed),
                        r.push(new h.CollapsibleRegion(d, n, o)),
                        s++
                    }
                    t.decorations = r
                  }),
                  i && this.updateHiddenAreas()
              }
            }),
            (e.prototype.onModelChanged = function() {
              var e = this
              this.cleanState(), this.updateHideFoldIconClass()
              var t = this.editor.getModel()
              this._isEnabled &&
                t &&
                (this.computeAndApplyCollapsibleRegions(),
                (this.contentChangedScheduler = new r.RunOnceScheduler(
                  function() {
                    return e.computeAndApplyCollapsibleRegions()
                  },
                  200
                )),
                (this.cursorChangedScheduler = new r.RunOnceScheduler(
                  function() {
                    return e.revealCursor()
                  },
                  200
                )),
                this.localToDispose.push(this.contentChangedScheduler),
                this.localToDispose.push(this.cursorChangedScheduler),
                this.localToDispose.push(
                  this.editor.onDidChangeModelContent(function(t) {
                    return e.contentChangedScheduler.schedule()
                  })
                ),
                this.localToDispose.push(
                  this.editor.onDidChangeCursorPosition(function(t) {
                    e._isEnabled && e.cursorChangedScheduler.schedule()
                  })
                ),
                this.localToDispose.push(
                  this.editor.onMouseDown(function(t) {
                    return e.onEditorMouseDown(t)
                  })
                ),
                this.localToDispose.push(
                  this.editor.onMouseUp(function(t) {
                    return e.onEditorMouseUp(t)
                  })
                ),
                this.localToDispose.push({
                  dispose: function() {
                    return e.disposeDecorations()
                  }
                }))
            }),
            (e.prototype.computeAndApplyCollapsibleRegions = function() {
              var e = this.editor.getModel()
              this.applyRegions(e ? p.computeRanges(e) : [])
            }),
            (e.prototype.disposeDecorations = function() {
              var e = this
              this.editor.changeDecorations(function(t) {
                e.decorations.forEach(function(e) {
                  return e.dispose(t)
                })
              }),
                (this.decorations = []),
                this.editor.setHiddenAreas([])
            }),
            (e.prototype.revealCursor = function() {
              var e = this,
                t = this.editor.getModel()
              if (t) {
                var n = !1,
                  i = this.editor.getSelections()
                this.editor.changeDecorations(function(o) {
                  return e.decorations.forEach(function(e) {
                    if (e.isCollapsed) {
                      var r = e.getDecorationRange(t)
                      if (r)
                        for (var s = 0, a = i; s < a.length; s++) {
                          var u = a[s]
                          if (
                            r.startLineNumber < u.selectionStartLineNumber &&
                            u.selectionStartLineNumber <= r.endLineNumber
                          ) {
                            e.setCollapsed(!1, o), (n = !0)
                            break
                          }
                        }
                    }
                  })
                }),
                  n &&
                    this.updateHiddenAreas(this.editor.getPosition().lineNumber)
              }
            }),
            (e.prototype.onEditorMouseDown = function(e) {
              if (
                ((this.mouseDownInfo = null), 0 !== this.decorations.length)
              ) {
                var t = e.target.range
                if (t && e.event.leftButton) {
                  var n = this.editor.getModel(),
                    i = !1
                  switch (e.target.type) {
                    case c.MouseTargetType.GUTTER_LINE_DECORATIONS:
                      i = !0
                      break
                    case c.MouseTargetType.CONTENT_EMPTY:
                    case c.MouseTargetType.CONTENT_TEXT:
                      if (
                        t.startColumn === n.getLineMaxColumn(t.startLineNumber)
                      )
                        break
                      return
                    default:
                      return
                  }
                  this.mouseDownInfo = {
                    lineNumber: t.startLineNumber,
                    iconClicked: i
                  }
                }
              }
            }),
            (e.prototype.onEditorMouseUp = function(e) {
              var t = this
              if (this.mouseDownInfo) {
                var n = this.mouseDownInfo.lineNumber,
                  i = this.mouseDownInfo.iconClicked,
                  o = e.target.range
                if (o && o.startLineNumber === n) {
                  var r = this.editor.getModel()
                  if (i) {
                    if (
                      e.target.type !==
                      c.MouseTargetType.GUTTER_LINE_DECORATIONS
                    )
                      return
                  } else if (o.startColumn !== r.getLineMaxColumn(n)) return
                  this.editor.changeDecorations(function(e) {
                    for (var o = 0; o < t.decorations.length; o++) {
                      var s = t.decorations[o],
                        a = s.getDecorationRange(r)
                      if (a && a.startLineNumber === n)
                        return void (
                          (i || s.isCollapsed) &&
                          (s.setCollapsed(!s.isCollapsed, e),
                          t.updateHiddenAreas(n))
                        )
                    }
                  })
                }
              }
            }),
            (e.prototype.updateHiddenAreas = function(e) {
              var t = this.editor.getModel(),
                n = this.editor.getSelections(),
                i = !1,
                o = []
              this.decorations
                .filter(function(e) {
                  return e.isCollapsed
                })
                .forEach(function(e) {
                  var r = e.getDecorationRange(t)
                  r &&
                    (o.push(
                      new u.Range(r.startLineNumber + 1, 1, r.endLineNumber, 1)
                    ),
                    n.forEach(function(e, o) {
                      u.Range.containsPosition(r, e.getStartPosition()) &&
                        ((n[o] = e = e.setStartPosition(
                          r.startLineNumber,
                          t.getLineMaxColumn(r.startLineNumber)
                        )),
                        (i = !0)),
                        u.Range.containsPosition(r, e.getEndPosition()) &&
                          ((n[o] = e.setEndPosition(
                            r.startLineNumber,
                            t.getLineMaxColumn(r.startLineNumber)
                          )),
                          (i = !0))
                    }))
                }),
                i && this.editor.setSelections(n),
                this.editor.setHiddenAreas(o),
                e &&
                  this.editor.revealPositionInCenterIfOutsideViewport({
                    lineNumber: e,
                    column: 1
                  })
            }),
            (e.prototype.unfold = function(e) {
              var t = this,
                n = this.editor.getModel(),
                i = !1,
                o = this.editor.getSelections(),
                r = !1
              o.forEach(function(s, a) {
                var u = h.getCollapsibleRegionsToUnfoldAtLine(
                  t.decorations,
                  n,
                  s.startLineNumber,
                  e
                )
                if (
                  u.length > 0 &&
                  (u.forEach(function(e, n) {
                    t.editor.changeDecorations(function(t) {
                      e.setCollapsed(!1, t), (i = !0)
                    })
                  }),
                  !h.doesLineBelongsToCollapsibleRegion(
                    u[0].foldingRange,
                    s.startLineNumber
                  ))
                ) {
                  var l = u[0].startLineNumber,
                    c = n.getLineMaxColumn(u[0].startLineNumber)
                  ;(o[a] = s.setEndPosition(l, c).setStartPosition(l, c)),
                    (r = !0)
                }
              }),
                r && this.editor.setSelections(o),
                i && this.updateHiddenAreas(o[0].startLineNumber)
            }),
            (e.prototype.fold = function(e, t) {
              var n = this,
                i = !1,
                o = this.editor.getSelections()
              o.forEach(function(o) {
                var r = o.startLineNumber
                h.getCollapsibleRegionsToFoldAtLine(
                  n.decorations,
                  n.editor.getModel(),
                  r,
                  e,
                  t
                ).forEach(function(e) {
                  return n.editor.changeDecorations(function(t) {
                    e.setCollapsed(!0, t), (i = !0)
                  })
                })
              }),
                i && this.updateHiddenAreas(o[0].startLineNumber)
            }),
            (e.prototype.foldUnfoldRecursively = function(e) {
              var t = this,
                n = !1,
                i = this.editor.getModel(),
                o = this.editor.getSelections()
              o.forEach(function(o) {
                for (
                  var r,
                    s = o.startLineNumber,
                    a = [],
                    u = 0,
                    l = t.decorations.length;
                  u < l;
                  u++
                ) {
                  var c = t.decorations[u],
                    d = c.getDecorationRange(i)
                  if (
                    d &&
                    (d.startLineNumber >= s &&
                      (d.endLineNumber <= r || void 0 === r))
                  ) {
                    if (d.startLineNumber !== s && void 0 === r) return
                    ;(r = r || d.endLineNumber), a.push(c)
                  }
                }
                a.length > 0 &&
                  a.forEach(function(i) {
                    t.editor.changeDecorations(function(t) {
                      i.setCollapsed(e, t), (n = !0)
                    })
                  })
              }),
                n && this.updateHiddenAreas(o[0].startLineNumber)
            }),
            (e.prototype.foldAll = function() {
              this.changeAll(!0)
            }),
            (e.prototype.unfoldAll = function() {
              this.changeAll(!1)
            }),
            (e.prototype.changeAll = function(e) {
              var t = this
              if (this.decorations.length > 0) {
                var n = !0
                this.editor.changeDecorations(function(i) {
                  t.decorations.forEach(function(t) {
                    e !== t.isCollapsed && (t.setCollapsed(e, i), (n = !0))
                  })
                }),
                  n &&
                    this.updateHiddenAreas(this.editor.getPosition().lineNumber)
              }
            }),
            (e.prototype.foldLevel = function(e, t) {
              var n = this,
                i = this.editor.getModel(),
                o = [i.getFullModelRange()],
                r = !1
              this.editor.changeDecorations(function(s) {
                n.decorations.forEach(function(n) {
                  var a = n.getDecorationRange(i)
                  if (a) {
                    for (; !u.Range.containsRange(o[o.length - 1], a); ) o.pop()
                    o.push(a),
                      o.length !== e + 1 ||
                        n.isCollapsed ||
                        t.some(function(e) {
                          return a.startLineNumber < e && e <= a.endLineNumber
                        }) ||
                        (n.setCollapsed(!0, s), (r = !0))
                  }
                })
              }),
                r && this.updateHiddenAreas(t[0])
            }),
            e
          )
        })())
        ;(y.MAX_FOLDING_REGIONS = 5e3),
          (y = T = v([d.editorContribution], y)),
          (t.FoldingController = y)
        var b = (function(e) {
            function t() {
              return (null !== e && e.apply(this, arguments)) || this
            }
            return (
              f(t, e),
              (t.prototype.runEditorCommand = function(e, t, n) {
                var i = y.get(t)
                i && (this.reportTelemetry(e, t), this.invoke(i, t, n))
              }),
              (t.prototype.run = function(e, t) {}),
              t
            )
          })(l.EditorAction),
          C = (function(e) {
            function t() {
              return (
                e.call(this, {
                  id: 'editor.unfold',
                  label: n.localize(0, null),
                  alias: 'Unfold',
                  precondition: null,
                  kbOpts: {
                    kbExpr: m.EditorContextKeys.textFocus,
                    primary: 3161,
                    mac: { primary: 2649 }
                  },
                  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\t* 'level': Number of levels to unfold\n\t\t\t\t\t\t",
                        constraint: _
                      }
                    ]
                  }
                }) || this
              )
            }
            return (
              f(t, e),
              (t.prototype.invoke = function(e, t, n) {
                e.unfold(n ? n.levels || 1 : 1)
              }),
              t
            )
          })(b)
        C = v([l.editorAction], C)
        var w = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.unfoldRecursively',
                label: n.localize(1, null),
                alias: 'Unfold Recursively',
                precondition: null,
                kbOpts: {
                  kbExpr: m.EditorContextKeys.textFocus,
                  primary: s.KeyChord(2089, 2137)
                }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.invoke = function(e, t, n) {
              e.foldUnfoldRecursively(!1)
            }),
            t
          )
        })(b)
        w = v([l.editorAction], w)
        var S = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.fold',
                label: n.localize(2, null),
                alias: 'Fold',
                precondition: null,
                kbOpts: {
                  kbExpr: m.EditorContextKeys.textFocus,
                  primary: 3159,
                  mac: { primary: 2647 }
                },
                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* 'up': If 'true', folds given number of levels up otherwise folds down\n\t\t\t\t\t\t",
                      constraint: _
                    }
                  ]
                }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.invoke = function(e, t, n) {
              ;(n = n || { levels: 1, direction: 'up' }),
                e.fold(n.levels || 1, 'up' === n.direction)
            }),
            t
          )
        })(b)
        S = v([l.editorAction], S)
        var E = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.foldRecursively',
                label: n.localize(3, null),
                alias: 'Fold Recursively',
                precondition: null,
                kbOpts: {
                  kbExpr: m.EditorContextKeys.textFocus,
                  primary: s.KeyChord(2089, 2135)
                }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.invoke = function(e, t) {
              e.foldUnfoldRecursively(!0)
            }),
            t
          )
        })(b)
        E = v([l.editorAction], E)
        var L = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.foldAll',
                label: n.localize(4, null),
                alias: 'Fold All',
                precondition: null,
                kbOpts: {
                  kbExpr: m.EditorContextKeys.textFocus,
                  primary: s.KeyChord(2089, 2069)
                }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.invoke = function(e, t) {
              e.foldAll()
            }),
            t
          )
        })(b)
        L = v([l.editorAction], L)
        var x = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.unfoldAll',
                label: n.localize(5, null),
                alias: 'Unfold All',
                precondition: null,
                kbOpts: {
                  kbExpr: m.EditorContextKeys.textFocus,
                  primary: s.KeyChord(2089, 2088)
                }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.invoke = function(e, t) {
              e.unfoldAll()
            }),
            t
          )
        })(b)
        x = v([l.editorAction], x)
        var N = (function(e) {
          function t() {
            return (null !== e && e.apply(this, arguments)) || this
          }
          return (
            f(t, e),
            (t.prototype.getFoldingLevel = function() {
              return parseInt(this.id.substr(t.ID_PREFIX.length))
            }),
            (t.prototype.getSelectedLines = function(e) {
              return e.getSelections().map(function(e) {
                return e.startLineNumber
              })
            }),
            (t.prototype.invoke = function(e, t) {
              e.foldLevel(this.getFoldingLevel(), this.getSelectedLines(t))
            }),
            t
          )
        })(b)
        ;(N.ID_PREFIX = 'editor.foldLevel'),
          (N.ID = function(e) {
            return N.ID_PREFIX + e
          })
        for (var M = 1; M <= 9; M++)
          l.CommonEditorRegistry.registerEditorAction(
            new N({
              id: N.ID(M),
              label: n.localize(6, null, M),
              alias: 'Fold Level ' + M,
              precondition: null,
              kbOpts: {
                kbExpr: m.EditorContextKeys.textFocus,
                primary: s.KeyChord(2089, 2048 | (21 + M))
              }
            })
          )
        var T
      }),
      define(d[449], h([0, 1, 10, 24, 27, 8, 2, 13, 17, 53, 18]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c
      ) {
        'use strict'
        function d(e, t, i) {
          var s = u.DocumentRangeFormattingEditProviderRegistry.ordered(e)
          if (0 === s.length) return r.TPromise.as(void 0)
          var a
          return c
            .sequence(
              s.map(function(r) {
                if (o.isFalsyOrEmpty(a))
                  return function() {
                    return c
                      .asWinJsPromise(function(n) {
                        return r.provideDocumentRangeFormattingEdits(e, t, i, n)
                      })
                      .then(function(e) {
                        a = e
                      }, n.onUnexpectedExternalError)
                  }
              })
            )
            .then(function() {
              return a
            })
        }
        function h(e, t) {
          var i = u.DocumentFormattingEditProviderRegistry.ordered(e)
          if (0 === i.length) return d(e, e.getFullModelRange(), t)
          var r
          return c
            .sequence(
              i.map(function(i) {
                if (o.isFalsyOrEmpty(r))
                  return function() {
                    return c
                      .asWinJsPromise(function(n) {
                        return i.provideDocumentFormattingEdits(e, t, n)
                      })
                      .then(function(e) {
                        r = e
                      }, n.onUnexpectedExternalError)
                  }
              })
            )
            .then(function() {
              return r
            })
        }
        function p(e, t, i, o) {
          var s = u.OnTypeFormattingEditProviderRegistry.ordered(e)[0]
          return s
            ? s.autoFormatTriggerCharacters.indexOf(i) < 0
              ? r.TPromise.as(void 0)
              : c
                  .asWinJsPromise(function(n) {
                    return s.provideOnTypeFormattingEdits(e, t, i, o, n)
                  })
                  .then(function(e) {
                    return e
                  }, n.onUnexpectedExternalError)
            : r.TPromise.as(void 0)
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.getDocumentRangeFormattingEdits = d),
          (t.getDocumentFormattingEdits = h),
          (t.getOnTypeFormattingEdits = p),
          a.CommonEditorRegistry.registerLanguageCommand(
            '_executeFormatRangeProvider',
            function(e, t) {
              var o = t.resource,
                r = t.range,
                a = t.options
              if (!(o instanceof i.default && s.Range.isIRange(r)))
                throw n.illegalArgument()
              var u = e.get(l.IModelService).getModel(o)
              if (!u) throw n.illegalArgument('resource')
              return d(u, s.Range.lift(r), a)
            }
          ),
          a.CommonEditorRegistry.registerLanguageCommand(
            '_executeFormatDocumentProvider',
            function(e, t) {
              var o = t.resource,
                r = t.options
              if (!(o instanceof i.default)) throw n.illegalArgument('resource')
              var s = e.get(l.IModelService).getModel(o)
              if (!s) throw n.illegalArgument('resource')
              return h(s, r)
            }
          ),
          a.CommonEditorRegistry.registerDefaultLanguageCommand(
            '_executeFormatOnTypeProvider',
            function(e, t, i) {
              var o = i.ch,
                r = i.options
              if ('string' != typeof o) throw n.illegalArgument('ch')
              return p(e, t, o, r)
            }
          )
      }),
      define(d[450], h([
        0,
        1,
        340,
        27,
        39,
        3,
        8,
        19,
        13,
        17,
        449,
        249,
        31,
        41,
        63,
        82,
        2,
        48,
        112,
        20
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g, m, _, b, C, w) {
        'use strict'
        function S(e) {
          if (
            (e = e.filter(function(e) {
              return e.range
            })).length
          ) {
            for (var t = e[0].range, i = 1; i < e.length; i++)
              t = _.Range.plusRange(t, e[i].range)
            var o = t.startLineNumber,
              r = t.endLineNumber
            o === r
              ? 1 === e.length
                ? b.alert(n.localize(0, null, o))
                : b.alert(n.localize(1, null, e.length, o))
              : 1 === e.length
                ? b.alert(n.localize(2, null, o, r))
                : b.alert(n.localize(3, null, e.length, o, r))
          }
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var E = (T = (function() {
          function e(e, t) {
            var n = this
            ;(this.editor = e),
              (this.workerService = t),
              (this.callOnDispose = []),
              (this.callOnModel = []),
              this.callOnDispose.push(
                e.onDidChangeConfiguration(function() {
                  return n.update()
                })
              ),
              this.callOnDispose.push(
                e.onDidChangeModel(function() {
                  return n.update()
                })
              ),
              this.callOnDispose.push(
                e.onDidChangeModelLanguage(function() {
                  return n.update()
                })
              ),
              this.callOnDispose.push(
                l.OnTypeFormattingEditProviderRegistry.onDidChange(
                  this.update,
                  this
                )
              )
          }
          return (
            (e.prototype.update = function() {
              var e = this
              if (
                ((this.callOnModel = r.dispose(this.callOnModel)),
                this.editor.getConfiguration().contribInfo.formatOnType &&
                  this.editor.getModel())
              ) {
                var t = this.editor.getModel(),
                  n = l.OnTypeFormattingEditProviderRegistry.ordered(t)[0]
                if (n && n.autoFormatTriggerCharacters) {
                  for (
                    var i = new m.CharacterSet(),
                      o = 0,
                      s = n.autoFormatTriggerCharacters;
                    o < s.length;
                    o++
                  ) {
                    var a = s[o]
                    i.add(a.charCodeAt(0))
                  }
                  this.callOnModel.push(
                    this.editor.onDidType(function(t) {
                      var n = t.charCodeAt(t.length - 1)
                      i.has(n) && e.trigger(String.fromCharCode(n))
                    })
                  )
                }
              }
            }),
            (e.prototype.trigger = function(e) {
              var t = this
              if (!(this.editor.getSelections().length > 1)) {
                var n = this.editor.getModel(),
                  o = this.editor.getPosition(),
                  r = !1,
                  s = this.editor.onDidChangeModelContent(function(e) {
                    if (e.isFlush) return (r = !0), void s.dispose()
                    for (var t = 0, n = e.changes.length; t < n; t++)
                      if (e.changes[t].range.endLineNumber <= o.lineNumber)
                        return (r = !0), void s.dispose()
                  }),
                  a = n.getOptions()
                c.getOnTypeFormattingEdits(n, o, e, {
                  tabSize: a.tabSize,
                  insertSpaces: a.insertSpaces
                })
                  .then(function(e) {
                    return t.workerService.computeMoreMinimalEdits(n.uri, e, [])
                  })
                  .then(
                    function(e) {
                      s.dispose(),
                        r ||
                          i.isFalsyOrEmpty(e) ||
                          (d.EditOperationsCommand.execute(t.editor, e), S(e))
                    },
                    function(e) {
                      throw (s.dispose(), e)
                    }
                  )
              }
            }),
            (e.prototype.getId = function() {
              return T.ID
            }),
            (e.prototype.dispose = function() {
              ;(this.callOnDispose = r.dispose(this.callOnDispose)),
                (this.callOnModel = r.dispose(this.callOnModel))
            }),
            e
          )
        })())
        ;(E.ID = 'editor.contrib.autoFormat'),
          (E = T = v(
            [u.commonEditorContribution, y(1, g.IEditorWorkerService)],
            E
          ))
        var L = (k = (function() {
          function e(e, t) {
            var n = this
            ;(this.editor = e),
              (this.workerService = t),
              (this.callOnDispose = []),
              (this.callOnModel = []),
              this.callOnDispose.push(
                e.onDidChangeConfiguration(function() {
                  return n.update()
                })
              ),
              this.callOnDispose.push(
                e.onDidChangeModel(function() {
                  return n.update()
                })
              ),
              this.callOnDispose.push(
                e.onDidChangeModelLanguage(function() {
                  return n.update()
                })
              ),
              this.callOnDispose.push(
                l.DocumentRangeFormattingEditProviderRegistry.onDidChange(
                  this.update,
                  this
                )
              )
          }
          return (
            (e.prototype.update = function() {
              var e = this
              if (
                ((this.callOnModel = r.dispose(this.callOnModel)),
                this.editor.getConfiguration().contribInfo.formatOnPaste &&
                  this.editor.getModel())
              ) {
                var t = this.editor.getModel(),
                  n = l.DocumentRangeFormattingEditProviderRegistry.ordered(
                    t
                  )[0]
                n &&
                  n.provideDocumentRangeFormattingEdits &&
                  this.callOnModel.push(
                    this.editor.onDidPaste(function(t) {
                      e.trigger(t)
                    })
                  )
              }
            }),
            (e.prototype.trigger = function(e) {
              var t = this
              if (!(this.editor.getSelections().length > 1)) {
                var n = this.editor.getModel(),
                  o = n.getOptions(),
                  r = o.tabSize,
                  s = o.insertSpaces,
                  a = new C.EditorState(this.editor, 5)
                c.getDocumentRangeFormattingEdits(n, e, {
                  tabSize: r,
                  insertSpaces: s
                })
                  .then(function(e) {
                    return t.workerService.computeMoreMinimalEdits(n.uri, e, [])
                  })
                  .then(function(e) {
                    a.validate(t.editor) &&
                      !i.isFalsyOrEmpty(e) &&
                      (d.EditOperationsCommand.execute(t.editor, e), S(e))
                  })
              }
            }),
            (e.prototype.getId = function() {
              return k.ID
            }),
            (e.prototype.dispose = function() {
              ;(this.callOnDispose = r.dispose(this.callOnDispose)),
                (this.callOnModel = r.dispose(this.callOnModel))
            }),
            e
          )
        })())
        ;(L.ID = 'editor.contrib.formatOnPaste'),
          (L = k = v(
            [u.commonEditorContribution, y(1, g.IEditorWorkerService)],
            L
          ))
        var x = (function(e) {
          function t() {
            return (null !== e && e.apply(this, arguments)) || this
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = e.get(g.IEditorWorkerService),
                o = this._getFormattingEdits(t)
              if (!o) return s.TPromise.as(void 0)
              var r = new C.EditorState(t, 5)
              return o
                .then(function(e) {
                  return n.computeMoreMinimalEdits(
                    t.getModel().uri,
                    e,
                    t.getSelections()
                  )
                })
                .then(function(e) {
                  r.validate(t) &&
                    !i.isFalsyOrEmpty(e) &&
                    (d.EditOperationsCommand.execute(t, e), S(e), t.focus())
                })
            }),
            t
          )
        })(u.EditorAction)
        t.AbstractFormatAction = x
        var N = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.formatDocument',
                label: n.localize(4, null),
                alias: 'Format Document',
                precondition: a.ContextKeyExpr.and(
                  w.EditorContextKeys.writable,
                  w.EditorContextKeys.hasDocumentFormattingProvider
                ),
                kbOpts: {
                  kbExpr: w.EditorContextKeys.textFocus,
                  primary: 1572,
                  linux: { primary: 3111 }
                },
                menuOpts: { group: '1_modification', order: 1.3 }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype._getFormattingEdits = function(e) {
              var t = e.getModel(),
                n = t.getOptions(),
                i = n.tabSize,
                o = n.insertSpaces
              return c.getDocumentFormattingEdits(t, {
                tabSize: i,
                insertSpaces: o
              })
            }),
            t
          )
        })(x)
        ;(N = v([u.editorAction], N)), (t.FormatDocumentAction = N)
        var M = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.formatSelection',
                label: n.localize(5, null),
                alias: 'Format Code',
                precondition: a.ContextKeyExpr.and(
                  w.EditorContextKeys.writable,
                  w.EditorContextKeys.hasDocumentSelectionFormattingProvider,
                  w.EditorContextKeys.hasNonEmptySelection
                ),
                kbOpts: {
                  kbExpr: w.EditorContextKeys.textFocus,
                  primary: o.KeyChord(2089, 2084)
                },
                menuOpts: { group: '1_modification', order: 1.31 }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype._getFormattingEdits = function(e) {
              var t = e.getModel(),
                n = t.getOptions(),
                i = n.tabSize,
                o = n.insertSpaces
              return c.getDocumentRangeFormattingEdits(t, e.getSelection(), {
                tabSize: i,
                insertSpaces: o
              })
            }),
            t
          )
        })(x)
        ;(M = v([u.editorAction], M)),
          (t.FormatSelectionAction = M),
          h.CommandsRegistry.registerCommand('editor.action.format', function(
            e
          ) {
            var t = e.get(p.ICodeEditorService).getFocusedCodeEditor()
            if (t)
              return new ((function(e) {
                function t() {
                  return e.call(this, {}) || this
                }
                return (
                  f(t, e),
                  (t.prototype._getFormattingEdits = function(e) {
                    var t = e.getModel(),
                      n = e.getSelection(),
                      i = t.getOptions(),
                      o = i.tabSize,
                      r = i.insertSpaces
                    return n.isEmpty()
                      ? c.getDocumentFormattingEdits(t, {
                          tabSize: o,
                          insertSpaces: r
                        })
                      : c.getDocumentRangeFormattingEdits(t, n, {
                          tabSize: o,
                          insertSpaces: r
                        })
                  }),
                  t
                )
              })(x))().run(e, t)
          })
        var T, k
      }),
      define(d[144], h([0, 1, 10, 8, 13, 17, 18]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        function a(e) {
          return i.TPromise.join(e).then(function(e) {
            for (var t = [], n = 0, i = e; n < i.length; n++) {
              var o = i[n]
              Array.isArray(o) ? t.push.apply(t, o) : o && t.push(o)
            }
            return t
          })
        }
        function u(e, t, i, o) {
          return a(
            i.ordered(e).map(function(i, r) {
              return s
                .asWinJsPromise(function(n) {
                  return o(i, e, t, n)
                })
                .then(
                  function(e) {
                    return e
                  },
                  function(e) {
                    n.onUnexpectedExternalError(e)
                  }
                )
            })
          )
        }
        function l(e, t) {
          return u(e, t, r.DefinitionProviderRegistry, function(e, t, n, i) {
            return e.provideDefinition(t, n, i)
          })
        }
        function c(e, t) {
          return u(e, t, r.ImplementationProviderRegistry, function(
            e,
            t,
            n,
            i
          ) {
            return e.provideImplementation(t, n, i)
          })
        }
        function d(e, t) {
          return u(e, t, r.TypeDefinitionProviderRegistry, function(
            e,
            t,
            n,
            i
          ) {
            return e.provideTypeDefinition(t, n, i)
          })
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.getDefinitionsAtPosition = l),
          (t.getImplementationsAtPosition = c),
          (t.getTypeDefinitionsAtPosition = d),
          o.CommonEditorRegistry.registerDefaultLanguageCommand(
            '_executeDefinitionProvider',
            l
          ),
          o.CommonEditorRegistry.registerDefaultLanguageCommand(
            '_executeImplementationProvider',
            c
          ),
          o.CommonEditorRegistry.registerDefaultLanguageCommand(
            '_executeTypeDefinitionProvider',
            d
          )
      }),
      define(d[452], h([0, 1, 27, 10, 8, 13, 17, 18]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a
      ) {
        'use strict'
        function u(e, t) {
          var r = [],
            u = s.HoverProviderRegistry.ordered(e).map(function(n, o) {
              return a
                .asWinJsPromise(function(i) {
                  return n.provideHover(e, t, i)
                })
                .then(
                  function(e) {
                    if (e) {
                      var t = void 0 !== e.range,
                        n =
                          void 0 !== e.contents &&
                          e.contents &&
                          e.contents.length > 0
                      t && n && (r[o] = e)
                    }
                  },
                  function(e) {
                    i.onUnexpectedExternalError(e)
                  }
                )
            })
          return o.TPromise.join(u).then(function() {
            return n.coalesce(r)
          })
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.getHover = u),
          r.CommonEditorRegistry.registerDefaultLanguageCommand(
            '_executeHoverProvider',
            u
          )
      }),
      define(d[453], h([
        0,
        1,
        345,
        24,
        10,
        6,
        8,
        94,
        67,
        2,
        12,
        17,
        138,
        452,
        149,
        148,
        125,
        33
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g, m, v, _) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var y = (function() {
            function e(e) {
              ;(this._editor = e), (this._range = null)
            }
            return (
              (e.prototype.setRange = function(e) {
                ;(this._range = e), (this._result = [])
              }),
              (e.prototype.clearResult = function() {
                this._result = []
              }),
              (e.prototype.computeAsync = function() {
                var e = this._editor.getModel()
                return d.HoverProviderRegistry.has(e)
                  ? p.getHover(
                      e,
                      new c.Position(
                        this._range.startLineNumber,
                        this._range.startColumn
                      )
                    )
                  : s.TPromise.as(null)
              }),
              (e.prototype.computeSync = function() {
                var e = this,
                  t = this._range.startLineNumber
                if (t > this._editor.getModel().getLineCount()) return []
                var n = function(e) {
                    return e && (!Array.isArray(e) || e.length > 0)
                  },
                  i = this._editor.getModel().getLineMaxColumn(t)
                return this._editor
                  .getLineDecorations(t)
                  .map(function(o) {
                    var r =
                        o.range.startLineNumber === t ? o.range.startColumn : 1,
                      s = o.range.endLineNumber === t ? o.range.endColumn : i
                    if (
                      r > e._range.startColumn ||
                      e._range.endColumn > s ||
                      !n(o.options.hoverMessage)
                    )
                      return null
                    var a,
                      u = new l.Range(
                        e._range.startLineNumber,
                        r,
                        e._range.startLineNumber,
                        s
                      )
                    return (
                      o.options.hoverMessage &&
                        (a = Array.isArray(o.options.hoverMessage)
                          ? o.options.hoverMessage.slice()
                          : [o.options.hoverMessage]),
                      { contents: a, range: u }
                    )
                  })
                  .filter(function(e) {
                    return !!e
                  })
              }),
              (e.prototype.onResult = function(e, t) {
                this._result = t
                  ? e.concat(this._result)
                  : this._result.concat(e)
              }),
              (e.prototype.getResult = function() {
                return this._result.slice(0)
              }),
              (e.prototype.getResultWithLoadingMessage = function() {
                return this._result.slice(0).concat([this._getLoadingMessage()])
              }),
              (e.prototype._getLoadingMessage = function() {
                return {
                  range: this._range,
                  contents: [v.textToMarkedString(n.localize(0, null))]
                }
              }),
              e
            )
          })(),
          b = (function(e) {
            function t(n, i, o) {
              var r = e.call(this, t.ID, n) || this
              return (
                (r._computer = new y(r._editor)),
                (r._highlightDecorations = []),
                (r._isChangingDecorations = !1),
                (r._openerService = i || u.NullOpenerService),
                (r._modeService = o),
                (r._hoverOperation = new g.HoverOperation(
                  r._computer,
                  function(e) {
                    return r._withResult(e, !0)
                  },
                  null,
                  function(e) {
                    return r._withResult(e, !1)
                  }
                )),
                r
              )
            }
            return (
              f(t, e),
              (t.prototype.dispose = function() {
                this._hoverOperation.cancel(), e.prototype.dispose.call(this)
              }),
              (t.prototype.onModelDecorationsChanged = function() {
                this._isChangingDecorations ||
                  (this.isVisible &&
                    (this._hoverOperation.cancel(),
                    this._computer.clearResult(),
                    this._hoverOperation.start()))
              }),
              (t.prototype.startShowingAt = function(e, t) {
                if (!this._lastRange || !this._lastRange.equalsRange(e)) {
                  if ((this._hoverOperation.cancel(), this.isVisible))
                    if (this._showAtPosition.lineNumber !== e.startLineNumber)
                      this.hide()
                    else {
                      for (
                        var n = [], i = 0, o = this._messages.length;
                        i < o;
                        i++
                      ) {
                        var r = this._messages[i],
                          s = r.range
                        s.startColumn <= e.startColumn &&
                          s.endColumn >= e.endColumn &&
                          n.push(r)
                      }
                      n.length > 0 ? this._renderMessages(e, n) : this.hide()
                    }
                  ;(this._lastRange = e),
                    this._computer.setRange(e),
                    (this._shouldFocus = t),
                    this._hoverOperation.start()
                }
              }),
              (t.prototype.hide = function() {
                ;(this._lastRange = null),
                  this._hoverOperation.cancel(),
                  e.prototype.hide.call(this),
                  (this._isChangingDecorations = !0),
                  (this._highlightDecorations = this._editor.deltaDecorations(
                    this._highlightDecorations,
                    []
                  )),
                  (this._isChangingDecorations = !1)
              }),
              (t.prototype._withResult = function(e, t) {
                ;(this._messages = e),
                  this._lastRange && this._messages.length > 0
                    ? this._renderMessages(this._lastRange, this._messages)
                    : t && this.hide()
              }),
              (t.prototype._renderMessages = function(e, n) {
                var s = this,
                  u = Number.MAX_VALUE,
                  d = n[0].range,
                  p = document.createDocumentFragment()
                n.forEach(function(e) {
                  e.range &&
                    ((u = Math.min(u, e.range.startColumn)),
                    (d = l.Range.plusRange(d, e.range)),
                    e.contents
                      .filter(function(e) {
                        return !!e
                      })
                      .forEach(function(e) {
                        var t = a.renderMarkedString(e, {
                          actionCallback: function(e) {
                            s._openerService
                              .open(i.default.parse(e))
                              .then(void 0, o.onUnexpectedError)
                          },
                          codeBlockRenderer: function(e, t) {
                            var n = e
                              ? s._modeService.getModeIdForLanguageName(e)
                              : s._editor.getModel().getLanguageIdentifier()
                                  .language
                            return s._modeService
                              .getOrCreateMode(n)
                              .then(function(e) {
                                return (
                                  '<div class="code">' +
                                  h.tokenizeToString(t, n) +
                                  '</div>'
                                )
                              })
                          }
                        })
                        p.appendChild(r.$('div.hover-row', null, t))
                      }))
                }),
                  this.showAt(
                    new c.Position(e.startLineNumber, u),
                    this._shouldFocus
                  ),
                  this.updateContents(p),
                  (this._isChangingDecorations = !0),
                  (this._highlightDecorations = this._editor.deltaDecorations(
                    this._highlightDecorations,
                    [{ range: d, options: t._DECORATION_OPTIONS }]
                  )),
                  (this._isChangingDecorations = !1)
              }),
              t
            )
          })(m.ContentHoverWidget)
        ;(b.ID = 'editor.contrib.modesContentHoverWidget'),
          (b._DECORATION_OPTIONS = _.ModelDecorationOptions.register({
            className: 'hoverHighlight'
          })),
          (t.ModesContentHoverWidget = b)
      }),
      define(d[454], h([
        0,
        1,
        347,
        39,
        257,
        57,
        226,
        20,
        74,
        2,
        22,
        13,
        255,
        256,
        309,
        123,
        137
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g, m, _) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var y = (function(e) {
            function t(t, n) {
              var i = e.call(this, n) || this
              return (i.down = t), i
            }
            return (
              f(t, e),
              (t.prototype.run = function(e, t) {
                for (
                  var n = [], i = t.getSelections(), o = 0;
                  o < i.length;
                  o++
                )
                  n.push(new h.CopyLinesCommand(i[o], this.down))
                t.pushUndoStop(),
                  t.executeCommands(this.id, n),
                  t.pushUndoStop()
              }),
              t
            )
          })(d.EditorAction),
          b = (function(e) {
            function t() {
              return (
                e.call(this, !1, {
                  id: 'editor.action.copyLinesUpAction',
                  label: n.localize(0, null),
                  alias: 'Copy Line Up',
                  precondition: a.EditorContextKeys.writable,
                  kbOpts: {
                    kbExpr: a.EditorContextKeys.textFocus,
                    primary: 1552,
                    linux: { primary: 3600 }
                  }
                }) || this
              )
            }
            return f(t, e), t
          })(y)
        b = v([d.editorAction], b)
        var C = (function(e) {
          function t() {
            return (
              e.call(this, !0, {
                id: 'editor.action.copyLinesDownAction',
                label: n.localize(1, null),
                alias: 'Copy Line Down',
                precondition: a.EditorContextKeys.writable,
                kbOpts: {
                  kbExpr: a.EditorContextKeys.textFocus,
                  primary: 1554,
                  linux: { primary: 3602 }
                }
              }) || this
            )
          }
          return f(t, e), t
        })(y)
        C = v([d.editorAction], C)
        var w = (function(e) {
            function t(t, n) {
              var i = e.call(this, n) || this
              return (i.down = t), i
            }
            return (
              f(t, e),
              (t.prototype.run = function(e, t) {
                for (
                  var n = [],
                    i = t.getSelections(),
                    o = t.getConfiguration().autoIndent,
                    r = 0;
                  r < i.length;
                  r++
                )
                  n.push(new g.MoveLinesCommand(i[r], this.down, o))
                t.pushUndoStop(),
                  t.executeCommands(this.id, n),
                  t.pushUndoStop()
              }),
              t
            )
          })(d.EditorAction),
          S = (function(e) {
            function t() {
              return (
                e.call(this, !1, {
                  id: 'editor.action.moveLinesUpAction',
                  label: n.localize(2, null),
                  alias: 'Move Line Up',
                  precondition: a.EditorContextKeys.writable,
                  kbOpts: {
                    kbExpr: a.EditorContextKeys.textFocus,
                    primary: 528,
                    linux: { primary: 528 }
                  }
                }) || this
              )
            }
            return f(t, e), t
          })(w)
        S = v([d.editorAction], S)
        var E = (function(e) {
          function t() {
            return (
              e.call(this, !0, {
                id: 'editor.action.moveLinesDownAction',
                label: n.localize(3, null),
                alias: 'Move Line Down',
                precondition: a.EditorContextKeys.writable,
                kbOpts: {
                  kbExpr: a.EditorContextKeys.textFocus,
                  primary: 530,
                  linux: { primary: 530 }
                }
              }) || this
            )
          }
          return f(t, e), t
        })(w)
        E = v([d.editorAction], E)
        var L = (function(e) {
            function t(t, n) {
              var i = e.call(this, n) || this
              return (i.descending = t), i
            }
            return (
              f(t, e),
              (t.prototype.run = function(e, t) {
                if (
                  o.SortLinesCommand.canRun(
                    t.getModel(),
                    t.getSelection(),
                    this.descending
                  )
                ) {
                  var n = new o.SortLinesCommand(
                    t.getSelection(),
                    this.descending
                  )
                  t.pushUndoStop(),
                    t.executeCommands(this.id, [n]),
                    t.pushUndoStop()
                }
              }),
              t
            )
          })(d.EditorAction),
          x = (function(e) {
            function t() {
              return (
                e.call(this, !1, {
                  id: 'editor.action.sortLinesAscending',
                  label: n.localize(4, null),
                  alias: 'Sort Lines Ascending',
                  precondition: a.EditorContextKeys.writable
                }) || this
              )
            }
            return f(t, e), t
          })(L)
        x = v([d.editorAction], x)
        var N = (function(e) {
          function t() {
            return (
              e.call(this, !0, {
                id: 'editor.action.sortLinesDescending',
                label: n.localize(5, null),
                alias: 'Sort Lines Descending',
                precondition: a.EditorContextKeys.writable
              }) || this
            )
          }
          return f(t, e), t
        })(L)
        N = v([d.editorAction], N)
        var M = (z = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: z.ID,
                label: n.localize(6, null),
                alias: 'Trim Trailing Whitespace',
                precondition: a.EditorContextKeys.writable,
                kbOpts: {
                  kbExpr: a.EditorContextKeys.textFocus,
                  primary: i.KeyChord(2089, 2102)
                }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = new s.TrimTrailingWhitespaceCommand(t.getSelection())
              t.pushUndoStop(),
                t.executeCommands(this.id, [n]),
                t.pushUndoStop()
            }),
            t
          )
        })(d.EditorAction))
        ;(M.ID = 'editor.action.trimTrailingWhitespace'),
          (M = z = v([d.editorAction], M)),
          (t.TrimTrailingWhitespaceAction = M)
        var T = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.deleteLines',
                label: n.localize(7, null),
                alias: 'Delete Line',
                precondition: a.EditorContextKeys.writable,
                kbOpts: { kbExpr: a.EditorContextKeys.textFocus, primary: 3113 }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = this._getLinesToRemove(t).map(function(e) {
                return new p.DeleteLinesCommand(
                  e.startLineNumber,
                  e.endLineNumber,
                  e.positionColumn
                )
              })
              t.pushUndoStop(), t.executeCommands(this.id, n), t.pushUndoStop()
            }),
            t
          )
        })(
          (function(e) {
            function t() {
              return (null !== e && e.apply(this, arguments)) || this
            }
            return (
              f(t, e),
              (t.prototype._getLinesToRemove = function(e) {
                var t = e.getSelections().map(function(e) {
                  var t = e.endLineNumber
                  return (
                    e.startLineNumber < e.endLineNumber &&
                      1 === e.endColumn &&
                      (t -= 1),
                    {
                      startLineNumber: e.startLineNumber,
                      endLineNumber: t,
                      positionColumn: e.positionColumn
                    }
                  )
                })
                t.sort(function(e, t) {
                  return e.startLineNumber - t.startLineNumber
                })
                for (var n = [], i = t[0], o = 1; o < t.length; o++)
                  i.endLineNumber + 1 === t[o].startLineNumber
                    ? (i.endLineNumber = t[o].endLineNumber)
                    : (n.push(i), (i = t[o]))
                return n.push(i), n
              }),
              t
            )
          })(d.EditorAction)
        )
        T = v([d.editorAction], T)
        var k = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.indentLines',
                label: n.localize(8, null),
                alias: 'Indent Line',
                precondition: a.EditorContextKeys.writable,
                kbOpts: { kbExpr: a.EditorContextKeys.textFocus, primary: 2137 }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              t.pushUndoStop(),
                t.executeCommands(
                  this.id,
                  m.TypeOperations.indent(
                    t._getCursorConfiguration(),
                    t.getModel(),
                    t.getSelections()
                  )
                ),
                t.pushUndoStop()
            }),
            t
          )
        })(d.EditorAction)
        ;(k = v([d.editorAction], k)), (t.IndentLinesAction = k)
        var I = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.outdentLines',
                label: n.localize(9, null),
                alias: 'Outdent Line',
                precondition: a.EditorContextKeys.writable,
                kbOpts: { kbExpr: a.EditorContextKeys.textFocus, primary: 2135 }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              _.CoreEditingCommands.Outdent.runEditorCommand(null, t, null)
            }),
            t
          )
        })(d.EditorAction)
        I = v([d.editorAction], I)
        var D = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.insertLineBefore',
                label: n.localize(10, null),
                alias: 'Insert Line Above',
                precondition: a.EditorContextKeys.writable,
                kbOpts: { kbExpr: a.EditorContextKeys.textFocus, primary: 3075 }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              t.pushUndoStop(),
                t.executeCommands(
                  this.id,
                  m.TypeOperations.lineInsertBefore(
                    t._getCursorConfiguration(),
                    t.getModel(),
                    t.getSelections()
                  )
                )
            }),
            t
          )
        })(d.EditorAction)
        ;(D = v([d.editorAction], D)), (t.InsertLineBeforeAction = D)
        var O = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.insertLineAfter',
                label: n.localize(11, null),
                alias: 'Insert Line Below',
                precondition: a.EditorContextKeys.writable,
                kbOpts: { kbExpr: a.EditorContextKeys.textFocus, primary: 2051 }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              t.pushUndoStop(),
                t.executeCommands(
                  this.id,
                  m.TypeOperations.lineInsertAfter(
                    t._getCursorConfiguration(),
                    t.getModel(),
                    t.getSelections()
                  )
                )
            }),
            t
          )
        })(d.EditorAction)
        ;(O = v([d.editorAction], O)), (t.InsertLineAfterAction = O)
        var R = (function(e) {
          function t() {
            return (null !== e && e.apply(this, arguments)) || this
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              for (
                var n = t.getSelection(),
                  i = this._getRangesToDelete(t),
                  o = [],
                  s = 0,
                  a = i.length - 1;
                s < a;
                s++
              ) {
                var u = i[s],
                  d = i[s + 1]
                null === l.Range.intersectRanges(u, d)
                  ? o.push(u)
                  : (i[s + 1] = l.Range.plusRange(u, d))
              }
              o.push(i[i.length - 1])
              var h = this._getEndCursorState(n, o),
                p = o.map(function(e) {
                  return (
                    h.push(
                      new c.Selection(
                        e.startLineNumber,
                        e.startColumn,
                        e.startLineNumber,
                        e.startColumn
                      )
                    ),
                    r.EditOperation.replace(e, '')
                  )
                })
              t.executeEdits(this.id, p, h)
            }),
            t
          )
        })(d.EditorAction)
        t.AbstractDeleteAllToBoundaryAction = R
        var P = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'deleteAllLeft',
                label: n.localize(12, null),
                alias: 'Delete All Left',
                precondition: a.EditorContextKeys.writable,
                kbOpts: {
                  kbExpr: a.EditorContextKeys.textFocus,
                  primary: null,
                  mac: { primary: 2049 }
                }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype._getEndCursorState = function(e, t) {
              for (var n, i = [], o = 0, r = t.length; o < r; o++) {
                var s = t[o],
                  a = new c.Selection(
                    t[o].startLineNumber,
                    t[o].startColumn,
                    t[o].startLineNumber,
                    t[o].startColumn
                  )
                s.intersectRanges(e) ? (n = a) : i.push(a)
              }
              return n && i.unshift(n), i
            }),
            (t.prototype._getRangesToDelete = function(e) {
              var t = e.getSelections()
              return (
                t.sort(l.Range.compareRangesUsingStarts),
                (t = t.map(function(e) {
                  return e.isEmpty()
                    ? new l.Range(
                        e.startLineNumber,
                        1,
                        e.startLineNumber,
                        e.startColumn
                      )
                    : e
                }))
              )
            }),
            t
          )
        })(R)
        ;(P = v([d.editorAction], P)), (t.DeleteAllLeftAction = P)
        var A = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'deleteAllRight',
                label: n.localize(13, null),
                alias: 'Delete All Right',
                precondition: a.EditorContextKeys.writable,
                kbOpts: {
                  kbExpr: a.EditorContextKeys.textFocus,
                  primary: null,
                  mac: { primary: 297, secondary: [2068] }
                }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype._getEndCursorState = function(e, t) {
              for (var n, i = [], o = 0, r = t.length; o < r; o++) {
                var s = t[o],
                  a = new c.Selection(
                    s.startLineNumber - 0,
                    s.startColumn,
                    s.startLineNumber - 0,
                    s.startColumn
                  )
                s.intersectRanges(e) ? (n = a) : i.push(a)
              }
              return n && i.unshift(n), i
            }),
            (t.prototype._getRangesToDelete = function(e) {
              var t = e.getModel(),
                n = e.getSelections().map(function(e) {
                  if (e.isEmpty()) {
                    var n = t.getLineMaxColumn(e.startLineNumber)
                    return e.startColumn === n
                      ? new l.Range(
                          e.startLineNumber,
                          e.startColumn,
                          e.startLineNumber + 1,
                          1
                        )
                      : new l.Range(
                          e.startLineNumber,
                          e.startColumn,
                          e.startLineNumber,
                          n
                        )
                  }
                  return e
                })
              return n.sort(l.Range.compareRangesUsingStarts), n
            }),
            t
          )
        })(R)
        ;(A = v([d.editorAction], A)), (t.DeleteAllRightAction = A)
        var F = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.joinLines',
                label: n.localize(14, null),
                alias: 'Join Lines',
                precondition: a.EditorContextKeys.writable,
                kbOpts: {
                  kbExpr: a.EditorContextKeys.textFocus,
                  primary: 0,
                  mac: { primary: 296 }
                }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = t.getSelections(),
                i = t.getSelection()
              n.sort(l.Range.compareRangesUsingStarts)
              var o = [],
                s = n.reduce(function(e, t) {
                  return e.isEmpty()
                    ? e.endLineNumber === t.startLineNumber
                      ? (i.equalsSelection(e) && (i = t), t)
                      : t.startLineNumber > e.endLineNumber + 1
                        ? (o.push(e), t)
                        : new c.Selection(
                            e.startLineNumber,
                            e.startColumn,
                            t.endLineNumber,
                            t.endColumn
                          )
                    : t.startLineNumber > e.endLineNumber
                      ? (o.push(e), t)
                      : new c.Selection(
                          e.startLineNumber,
                          e.startColumn,
                          t.endLineNumber,
                          t.endColumn
                        )
                })
              o.push(s)
              for (
                var a = t.getModel(),
                  u = [],
                  d = [],
                  h = i,
                  p = 0,
                  f = 0,
                  g = o.length;
                f < g;
                f++
              ) {
                var m = o[f],
                  v = m.startLineNumber,
                  _ = void 0,
                  y = void 0,
                  b = void 0,
                  C = a.getLineContent(m.endLineNumber).length - m.endColumn
                if (m.isEmpty() || m.startLineNumber === m.endLineNumber) {
                  var w = m.getStartPosition()
                  w.lineNumber < a.getLineCount()
                    ? ((_ = v + 1), (y = a.getLineMaxColumn(_)))
                    : ((_ = w.lineNumber),
                      (y = a.getLineMaxColumn(w.lineNumber)))
                } else (_ = m.endLineNumber), (y = a.getLineMaxColumn(_))
                for (var S = a.getLineContent(v), E = v + 1; E <= _; E++) {
                  var L = a.getLineContent(E),
                    x = a.getLineFirstNonWhitespaceColumn(E)
                  if (x >= 1) {
                    var N = !0
                    '' === S && (N = !1),
                      !N ||
                        (' ' !== S.charAt(S.length - 1) &&
                          '\t' !== S.charAt(S.length - 1)) ||
                        ((N = !1), (S = S.replace(/[\s\uFEFF\xA0]+$/g, ' ')))
                    var M = L.substr(x - 1)
                    ;(S += (N ? ' ' : '') + M),
                      (b = N ? M.length + 1 : M.length)
                  } else b = 0
                }
                var T = new l.Range(v, 1, _, y)
                if (!T.isEmpty()) {
                  var k = void 0
                  m.isEmpty()
                    ? (u.push(r.EditOperation.replace(T, S)),
                      (k = new c.Selection(
                        T.startLineNumber - p,
                        S.length - b + 1,
                        v - p,
                        S.length - b + 1
                      )))
                    : m.startLineNumber === m.endLineNumber
                      ? (u.push(r.EditOperation.replace(T, S)),
                        (k = new c.Selection(
                          m.startLineNumber - p,
                          m.startColumn,
                          m.endLineNumber - p,
                          m.endColumn
                        )))
                      : (u.push(r.EditOperation.replace(T, S)),
                        (k = new c.Selection(
                          m.startLineNumber - p,
                          m.startColumn,
                          m.startLineNumber - p,
                          S.length - C
                        ))),
                    null !== l.Range.intersectRanges(T, i) ? (h = k) : d.push(k)
                }
                p += T.endLineNumber - T.startLineNumber
              }
              d.unshift(h), t.executeEdits(this.id, u, d)
            }),
            t
          )
        })(d.EditorAction)
        ;(F = v([d.editorAction], F)), (t.JoinLinesAction = F)
        var W = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.transpose',
                label: n.localize(15, null),
                alias: 'Transpose characters around the cursor',
                precondition: a.EditorContextKeys.writable
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              for (
                var n = t.getSelections(),
                  i = t.getModel(),
                  o = [],
                  r = 0,
                  s = n.length;
                r < s;
                r++
              ) {
                var a = n[r]
                if (a.isEmpty()) {
                  var d = a.getStartPosition(),
                    h = i.getLineMaxColumn(d.lineNumber)
                  if (d.column >= h) {
                    if (d.lineNumber === i.getLineCount()) continue
                    var p = new l.Range(
                        d.lineNumber,
                        Math.max(1, d.column - 1),
                        d.lineNumber + 1,
                        1
                      ),
                      f = i
                        .getValueInRange(p)
                        .split('')
                        .reverse()
                        .join('')
                    o.push(
                      new u.ReplaceCommand(
                        new c.Selection(
                          d.lineNumber,
                          Math.max(1, d.column - 1),
                          d.lineNumber + 1,
                          1
                        ),
                        f
                      )
                    )
                  } else {
                    var p = new l.Range(
                        d.lineNumber,
                        Math.max(1, d.column - 1),
                        d.lineNumber,
                        d.column + 1
                      ),
                      f = i
                        .getValueInRange(p)
                        .split('')
                        .reverse()
                        .join('')
                    o.push(
                      new u.ReplaceCommandThatPreservesSelection(
                        p,
                        f,
                        new c.Selection(
                          d.lineNumber,
                          d.column + 1,
                          d.lineNumber,
                          d.column + 1
                        )
                      )
                    )
                  }
                }
              }
              t.pushUndoStop(), t.executeCommands(this.id, o), t.pushUndoStop()
            }),
            t
          )
        })(d.EditorAction)
        ;(W = v([d.editorAction], W)), (t.TransposeAction = W)
        var B = (function(e) {
          function t() {
            return (null !== e && e.apply(this, arguments)) || this
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              for (
                var n = t.getSelections(),
                  i = t.getModel(),
                  o = [],
                  r = 0,
                  s = n.length;
                r < s;
                r++
              ) {
                var a = n[r]
                if (a.isEmpty()) {
                  var d = a.getStartPosition(),
                    h = i.getWordAtPosition(d)
                  if (!h) continue
                  var p = new l.Range(
                      d.lineNumber,
                      h.startColumn,
                      d.lineNumber,
                      h.endColumn
                    ),
                    f = i.getValueInRange(p)
                  o.push(
                    new u.ReplaceCommandThatPreservesSelection(
                      p,
                      this._modifyText(f),
                      new c.Selection(
                        d.lineNumber,
                        d.column,
                        d.lineNumber,
                        d.column
                      )
                    )
                  )
                } else {
                  f = i.getValueInRange(a)
                  o.push(
                    new u.ReplaceCommandThatPreservesSelection(
                      a,
                      this._modifyText(f),
                      a
                    )
                  )
                }
              }
              t.pushUndoStop(), t.executeCommands(this.id, o), t.pushUndoStop()
            }),
            t
          )
        })(d.EditorAction)
        t.AbstractCaseAction = B
        var V = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.transformToUppercase',
                label: n.localize(16, null),
                alias: 'Transform to Uppercase',
                precondition: a.EditorContextKeys.writable
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype._modifyText = function(e) {
              return e.toLocaleUpperCase()
            }),
            t
          )
        })(B)
        ;(V = v([d.editorAction], V)), (t.UpperCaseAction = V)
        var H = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.transformToLowercase',
                label: n.localize(17, null),
                alias: 'Transform to Lowercase',
                precondition: a.EditorContextKeys.writable
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype._modifyText = function(e) {
              return e.toLocaleLowerCase()
            }),
            t
          )
        })(B)
        ;(H = v([d.editorAction], H)), (t.LowerCaseAction = H)
        var z
      }),
      define(d[455], h([0, 1, 349, 20, 13, 22, 54, 175, 37]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var l = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.insertCursorAbove',
                label: n.localize(0, null),
                alias: 'Add Cursor Above',
                precondition: null,
                kbOpts: {
                  kbExpr: i.EditorContextKeys.textFocus,
                  primary: 2576,
                  linux: { primary: 1552, secondary: [3088] }
                }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t, n) {
              var i = t._getCursors(),
                o = i.context
              o.config.readOnly ||
                (o.model.pushStackElement(),
                i.setStates(
                  n.source,
                  s.CursorChangeReason.Explicit,
                  u.CursorState.ensureInEditableRange(
                    o,
                    a.CursorMoveCommands.addCursorUp(o, i.getAll())
                  )
                ),
                i.reveal(!0, 1))
            }),
            t
          )
        })(o.EditorAction)
        ;(l = v([o.editorAction], l)), (t.InsertCursorAbove = l)
        var c = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.insertCursorBelow',
                label: n.localize(1, null),
                alias: 'Add Cursor Below',
                precondition: null,
                kbOpts: {
                  kbExpr: i.EditorContextKeys.textFocus,
                  primary: 2578,
                  linux: { primary: 1554, secondary: [3090] }
                }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t, n) {
              var i = t._getCursors(),
                o = i.context
              o.config.readOnly ||
                (o.model.pushStackElement(),
                i.setStates(
                  n.source,
                  s.CursorChangeReason.Explicit,
                  u.CursorState.ensureInEditableRange(
                    o,
                    a.CursorMoveCommands.addCursorDown(o, i.getAll())
                  )
                ),
                i.reveal(!0, 2))
            }),
            t
          )
        })(o.EditorAction)
        ;(c = v([o.editorAction], c)), (t.InsertCursorBelow = c)
        var d = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.insertCursorAtEndOfEachLineSelected',
                label: n.localize(2, null),
                alias: 'Add Cursors to Line Ends',
                precondition: null,
                kbOpts: { kbExpr: i.EditorContextKeys.textFocus, primary: 1575 }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.getCursorsForSelection = function(e, t) {
              if (e.isEmpty()) return []
              for (
                var n = t.getModel(), i = [], o = e.startLineNumber;
                o < e.endLineNumber;
                o++
              ) {
                var s = n.getLineMaxColumn(o)
                i.push(new r.Selection(o, s, o, s))
              }
              return (
                e.endColumn > 1 &&
                  i.push(
                    new r.Selection(
                      e.endLineNumber,
                      e.endColumn,
                      e.endLineNumber,
                      e.endColumn
                    )
                  ),
                i
              )
            }),
            (t.prototype.run = function(e, t) {
              var n = this,
                i = t
                  .getSelections()
                  .map(function(e) {
                    return n.getCursorsForSelection(e, t)
                  })
                  .reduce(function(e, t) {
                    return e.concat(t)
                  })
              i.length > 0 && t.setSelections(i)
            }),
            t
          )
        })(o.EditorAction)
        d = v([o.editorAction], d)
      }),
      define(d[199], h([0, 1, 10, 13, 17, 18, 19]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        function a(e, t) {
          var i,
            s = o.SignatureHelpProviderRegistry.ordered(e)
          return r
            .sequence(
              s.map(function(o) {
                return function() {
                  if (!i)
                    return r
                      .asWinJsPromise(function(n) {
                        return o.provideSignatureHelp(e, t, n)
                      })
                      .then(function(e) {
                        i = e
                      }, n.onUnexpectedExternalError)
                }
              })
            )
            .then(function() {
              return i
            })
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.Context = {
            Visible: new s.RawContextKey('parameterHintsVisible', !1),
            MultipleSignatures: new s.RawContextKey(
              'parameterHintsMultipleSignatures',
              !1
            )
          }),
          (t.provideSignatureHelp = a),
          i.CommonEditorRegistry.registerDefaultLanguageCommand(
            '_executeSignatureHelpProvider',
            a
          )
      }),
      define(d[457], h([0, 1, 24, 2, 17, 18, 8, 10, 53, 13]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l
      ) {
        'use strict'
        function c(e, t) {
          var n = [],
            i = o.CodeActionProviderRegistry.all(e).map(function(i) {
              return r
                .asWinJsPromise(function(n) {
                  return i.provideCodeActions(e, t, n)
                })
                .then(
                  function(e) {
                    Array.isArray(e) && n.push.apply(n, e)
                  },
                  function(e) {
                    a.onUnexpectedExternalError(e)
                  }
                )
            })
          return s.TPromise.join(i).then(function() {
            return n
          })
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.getCodeActions = c),
          l.CommonEditorRegistry.registerLanguageCommand(
            '_executeCodeActionProvider',
            function(e, t) {
              var o = t.resource,
                r = t.range
              if (!(o instanceof n.default && i.Range.isIRange(r)))
                throw a.illegalArgument()
              var s = e.get(u.IModelService).getModel(o)
              if (!s) throw a.illegalArgument()
              return c(s, s.validateRange(r))
            }
          )
      }),
      define(d[458], h([0, 1, 27, 11, 3, 2, 17, 457]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var u = (function() {
          function e(e, t, n, o) {
            void 0 === o && (o = 250)
            var r = this
            ;(this._editor = e),
              (this._markerService = t),
              (this._signalChange = n),
              (this._disposables = []),
              this._disposables.push(
                i.debounceEvent(
                  this._markerService.onMarkerChanged,
                  function(e, t) {
                    return e ? e.concat(t) : t
                  },
                  o / 2
                )(function(e) {
                  return r._onMarkerChanges(e)
                }),
                i.debounceEvent(
                  this._editor.onDidChangeCursorPosition,
                  function(e) {
                    return e
                  },
                  o
                )(function(e) {
                  return r._onCursorChange()
                })
              )
          }
          return (
            (e.prototype.dispose = function() {
              this._disposables = o.dispose(this._disposables)
            }),
            (e.prototype.trigger = function(e) {
              var t = this._rangeAtPosition()
              t || (t = this._editor.getSelection()),
                this._signalChange({
                  type: e,
                  range: t,
                  position: this._editor.getPosition(),
                  fixes:
                    t &&
                    a.getCodeActions(
                      this._editor.getModel(),
                      this._editor.getModel().validateRange(t)
                    )
                })
            }),
            (e.prototype._onMarkerChanges = function(e) {
              for (
                var t = this._editor.getModel().uri, n = 0, i = e;
                n < i.length;
                n++
              )
                if (i[n].toString() === t.toString())
                  return (
                    (this._currentRange = void 0), void this._onCursorChange()
                  )
            }),
            (e.prototype._onCursorChange = function() {
              var e = this._rangeAtPosition()
              r.Range.equalsRange(this._currentRange, e) ||
                ((this._currentRange = e),
                this._signalChange({
                  type: 'auto',
                  range: e,
                  position: this._editor.getPosition(),
                  fixes:
                    e &&
                    a.getCodeActions(
                      this._editor.getModel(),
                      this._editor.getModel().validateRange(e)
                    )
                }))
            }),
            (e.prototype._rangeAtPosition = function() {
              var e = this._editor.getSelection()
              if (!e.isEmpty()) return e
              var t = this._markerAtPosition()
              return t ? r.Range.lift(t) : this._wordAtPosition()
            }),
            (e.prototype._markerAtPosition = function() {
              for (
                var e = this._editor.getPosition(),
                  t = this._editor.getModel().uri,
                  i = this._markerService
                    .read({ resource: t })
                    .sort(r.Range.compareRangesUsingStarts),
                  o = n.findFirst(i, function(t) {
                    return t.endLineNumber >= e.lineNumber
                  });
                o < i.length && i[o].endLineNumber >= e.lineNumber;

              ) {
                var s = i[o]
                if (r.Range.containsPosition(s, e)) return s
                o++
              }
            }),
            (e.prototype._wordAtPosition = function() {
              var e = this._editor.getPosition(),
                t = this._editor.getModel().getWordAtPosition(e)
              if (t)
                return new r.Range(
                  e.lineNumber,
                  t.startColumn,
                  e.lineNumber,
                  t.endColumn
                )
            }),
            e
          )
        })()
        t.QuickFixOracle = u
        var l = (function() {
          function e(e, t) {
            var n = this
            ;(this._onDidChangeFixes = new i.Emitter()),
              (this._disposables = []),
              (this._editor = e),
              (this._markerService = t),
              this._disposables.push(
                this._editor.onDidChangeModel(function() {
                  return n._update()
                })
              ),
              this._disposables.push(
                this._editor.onDidChangeModelLanguage(function() {
                  return n._update()
                })
              ),
              this._disposables.push(
                s.CodeActionProviderRegistry.onDidChange(this._update, this)
              ),
              this._update()
          }
          return (
            (e.prototype.dispose = function() {
              ;(this._disposables = o.dispose(this._disposables)),
                o.dispose(this._quickFixOracle)
            }),
            Object.defineProperty(e.prototype, 'onDidChangeFixes', {
              get: function() {
                return this._onDidChangeFixes.event
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype._update = function() {
              var e = this
              this._quickFixOracle &&
                (this._quickFixOracle.dispose(),
                (this._quickFixOracle = void 0),
                this._onDidChangeFixes.fire(void 0)),
                this._editor.getModel() &&
                  s.CodeActionProviderRegistry.has(this._editor.getModel()) &&
                  !this._editor.getConfiguration().readOnly &&
                  ((this._quickFixOracle = new u(
                    this._editor,
                    this._markerService,
                    function(t) {
                      return e._onDidChangeFixes.fire(t)
                    }
                  )),
                  this._quickFixOracle.trigger('auto'))
            }),
            (e.prototype.trigger = function(e) {
              this._quickFixOracle && this._quickFixOracle.trigger(e)
            }),
            e
          )
        })()
        t.QuickFixModel = l
      }),
      define(d[459], h([
        0,
        1,
        352,
        3,
        31,
        71,
        19,
        47,
        105,
        20,
        13,
        32,
        17,
        18,
        8,
        10,
        259,
        258,
        458
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g, m, _, b, C) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var w = (E = (function() {
          function e(e, t, n, i, o, r) {
            var s = this
            ;(this._keybindingService = r),
              (this._disposables = []),
              (this._editor = e),
              (this._model = new C.QuickFixModel(this._editor, t)),
              (this._quickFixContextMenu = new _.QuickFixContextMenu(e, o, i)),
              (this._lightBulbWidget = new b.LightBulbWidget(e)),
              this._updateLightBulbTitle(),
              this._disposables.push(
                this._quickFixContextMenu.onDidExecuteCodeAction(function(e) {
                  return s._model.trigger('auto')
                }),
                this._lightBulbWidget.onClick(
                  this._handleLightBulbSelect,
                  this
                ),
                this._model.onDidChangeFixes(function(e) {
                  return s._onQuickFixEvent(e)
                }),
                this._keybindingService.onDidUpdateKeybindings(
                  this._updateLightBulbTitle,
                  this
                )
              )
          }
          return (
            (e.get = function(e) {
              return e.getContribution(E.ID)
            }),
            (e.prototype.dispose = function() {
              this._model.dispose(), i.dispose(this._disposables)
            }),
            (e.prototype._onQuickFixEvent = function(e) {
              e && 'manual' === e.type
                ? this._quickFixContextMenu.show(e.fixes, e.position)
                : e && e.fixes
                  ? this._quickFixContextMenu.isVisible
                    ? this._quickFixContextMenu.show(e.fixes, e.position)
                    : (this._lightBulbWidget.model = e)
                  : this._lightBulbWidget.hide()
            }),
            (e.prototype.getId = function() {
              return E.ID
            }),
            (e.prototype._handleLightBulbSelect = function(e) {
              this._quickFixContextMenu.show(
                this._lightBulbWidget.model.fixes,
                e
              )
            }),
            (e.prototype.triggerFromEditorSelection = function() {
              this._model.trigger('manual')
            }),
            (e.prototype._updateLightBulbTitle = function() {
              var e,
                t = this._keybindingService.lookupKeybinding(S.Id)
              ;(e = t
                ? n.localize(0, null, t.getLabel())
                : n.localize(1, null)),
                (this._lightBulbWidget.title = e)
            }),
            e
          )
        })())
        ;(w.ID = 'editor.contrib.quickFixController'),
          (w = E = v(
            [
              d.editorContribution,
              y(1, u.IMarkerService),
              y(2, s.IContextKeyService),
              y(3, o.ICommandService),
              y(4, r.IContextMenuService),
              y(5, a.IKeybindingService)
            ],
            w
          )),
          (t.QuickFixController = w)
        var S = (L = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: L.Id,
                label: n.localize(2, null),
                alias: 'Quick Fix',
                precondition: s.ContextKeyExpr.and(
                  l.EditorContextKeys.writable,
                  l.EditorContextKeys.hasCodeActionsProvider
                ),
                kbOpts: { kbExpr: l.EditorContextKeys.textFocus, primary: 2132 }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = w.get(t)
              n && n.triggerFromEditorSelection()
            }),
            t
          )
        })(c.EditorAction))
        ;(S.Id = 'editor.action.quickFix'),
          (S = L = v([c.editorAction], S)),
          (t.QuickFixAction = S),
          (t.getCodeActions = function(e, t) {
            var n = [],
              i = h.CodeActionProviderRegistry.all(e).map(function(i) {
                return p
                  .asWinJsPromise(function(n) {
                    return i.provideCodeActions(e, t, n)
                  })
                  .then(
                    function(e) {
                      Array.isArray(e) && n.push.apply(n, e)
                    },
                    function(e) {
                      m.onUnexpectedExternalError(e)
                    }
                  )
              })
            return g.TPromise.join(i).then(function() {
              return n
            })
          })
        var E, L
      }),
      define(d[460], h([0, 1, 10, 24, 8, 2, 13, 17, 53, 18]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l
      ) {
        'use strict'
        function c(e) {
          var t = [],
            i = a.DocumentSymbolProviderRegistry.all(e).map(function(i) {
              return l
                .asWinJsPromise(function(t) {
                  return i.provideDocumentSymbols(e, t)
                })
                .then(
                  function(e) {
                    Array.isArray(e) && t.push.apply(t, e)
                  },
                  function(e) {
                    n.onUnexpectedExternalError(e)
                  }
                )
            })
          return o.TPromise.join(i).then(function() {
            var e = []
            return h(e, t, ''), e.sort(d), { entries: e }
          })
        }
        function d(e, t) {
          return r.Range.compareRangesUsingStarts(
            r.Range.lift(e.location.range),
            r.Range.lift(t.location.range)
          )
        }
        function h(e, t, n) {
          for (var i = 0, o = t; i < o.length; i++) {
            var r = o[i]
            e.push({
              kind: r.kind,
              location: r.location,
              name: r.name,
              containerName: r.containerName || n
            })
          }
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.getDocumentSymbols = c),
          s.CommonEditorRegistry.registerLanguageCommand(
            '_executeDocumentSymbolProvider',
            function(e, t) {
              var o = t.resource
              if (!(o instanceof i.default)) throw n.illegalArgument('resource')
              var r = e.get(u.IModelService).getModel(o)
              if (!r) throw n.illegalArgument('resource')
              return c(r)
            }
          )
      }),
      define(d[461], h([0, 1, 360, 27, 8, 16, 2, 20, 13, 388]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var c = (function() {
            return function(e) {
              ;(this.editor = e),
                (this.next = null),
                (this.previous = null),
                (this.selection = e.getSelection())
            }
          })(),
          d = null,
          h = !1,
          p = (b = (function() {
            function e(e, t) {
              ;(this.editor = e),
                (this._tokenSelectionSupport = t.createInstance(
                  l.TokenSelectionSupport
                ))
            }
            return (
              (e.get = function(e) {
                return e.getContribution(b.ID)
              }),
              (e.prototype.dispose = function() {}),
              (e.prototype.getId = function() {
                return b.ID
              }),
              (e.prototype.run = function(e) {
                var t = this,
                  n = this.editor.getSelection(),
                  r = this.editor.getModel()
                d && d.editor !== this.editor && (d = null)
                var a = o.TPromise.as(null)
                return (
                  d ||
                    (a = this._tokenSelectionSupport
                      .getRangesToPosition(r.uri, n.getStartPosition())
                      .then(function(e) {
                        if (!i.isFalsyOrEmpty(e)) {
                          var n
                          e.filter(function(e) {
                            var n = t.editor.getSelection(),
                              i = new s.Range(
                                e.range.startLineNumber,
                                e.range.startColumn,
                                e.range.endLineNumber,
                                e.range.endColumn
                              )
                            return (
                              i.containsPosition(n.getStartPosition()) &&
                              i.containsPosition(n.getEndPosition())
                            )
                          }).forEach(function(e) {
                            var i = e.range,
                              o = new c(t.editor)
                            ;(o.selection = new s.Range(
                              i.startLineNumber,
                              i.startColumn,
                              i.endLineNumber,
                              i.endColumn
                            )),
                              n && ((o.next = n), (n.previous = o)),
                              (n = o)
                          })
                          var o = new c(t.editor)
                          ;(o.next = n), n && (n.previous = o), (d = o)
                          var r = t.editor.onDidChangeCursorPosition(function(
                            e
                          ) {
                            h || ((d = null), r.dispose())
                          })
                        }
                      })),
                  a.then(function() {
                    if (d && (d = e ? d.next : d.previous)) {
                      h = !0
                      try {
                        t.editor.setSelection(d.selection)
                      } finally {
                        h = !1
                      }
                    }
                  })
                )
              }),
              e
            )
          })())
        ;(p.ID = 'editor.contrib.smartSelectController'),
          (p = b = v(
            [u.commonEditorContribution, y(1, r.IInstantiationService)],
            p
          ))
        var g = (function(e) {
            function t(t, n) {
              var i = e.call(this, n) || this
              return (i._forward = t), i
            }
            return (
              f(t, e),
              (t.prototype.run = function(e, t) {
                var n = p.get(t)
                if (n) return n.run(this._forward)
              }),
              t
            )
          })(u.EditorAction),
          m = (function(e) {
            function t() {
              return (
                e.call(this, !0, {
                  id: 'editor.action.smartSelect.grow',
                  label: n.localize(0, null),
                  alias: 'Expand Select',
                  precondition: null,
                  kbOpts: {
                    kbExpr: a.EditorContextKeys.textFocus,
                    primary: 1553,
                    mac: { primary: 3345 }
                  }
                }) || this
              )
            }
            return f(t, e), t
          })(g)
        m = v([u.editorAction], m)
        var _ = (function(e) {
          function t() {
            return (
              e.call(this, !1, {
                id: 'editor.action.smartSelect.shrink',
                label: n.localize(1, null),
                alias: 'Shrink Select',
                precondition: null,
                kbOpts: {
                  kbExpr: a.EditorContextKeys.textFocus,
                  primary: 1551,
                  mac: { primary: 3343 }
                }
              }) || this
            )
          }
          return f(t, e), t
        })(g)
        _ = v([u.editorAction], _)
        var b
      }),
      define(d[194], h([0, 1, 19, 13, 3, 324, 20]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = (l = (function() {
          function e(e, t) {
            ;(this._editor = e),
              (this._snippetListener = []),
              (this._inSnippet = l.InSnippetMode.bindTo(t)),
              (this._hasNextTabstop = l.HasNextTabstop.bindTo(t)),
              (this._hasPrevTabstop = l.HasPrevTabstop.bindTo(t))
          }
          return (
            (e.get = function(e) {
              return e.getContribution('snippetController2')
            }),
            (e.prototype.dispose = function() {
              this._inSnippet.reset(),
                this._hasPrevTabstop.reset(),
                this._hasNextTabstop.reset(),
                o.dispose(this._session)
            }),
            (e.prototype.getId = function() {
              return 'snippetController2'
            }),
            (e.prototype.insert = function(e, t, n, i, s) {
              var a = this
              void 0 === t && (t = 0),
                void 0 === n && (n = 0),
                void 0 === i && (i = !0),
                void 0 === s && (s = !0),
                (this._snippetListener = o.dispose(this._snippetListener)),
                i && this._editor.getModel().pushStackElement(),
                this._session
                  ? this._session.merge(e, t, n)
                  : ((this._modelVersionId = this._editor
                      .getModel()
                      .getAlternativeVersionId()),
                    (this._session = new r.SnippetSession(
                      this._editor,
                      e,
                      t,
                      n
                    )),
                    this._session.insert()),
                s && this._editor.getModel().pushStackElement(),
                (this._snippetListener = [
                  this._editor.onDidChangeModel(function() {
                    return a.cancel()
                  }),
                  this._editor.onDidChangeCursorSelection(function() {
                    return a._updateState()
                  })
                ]),
                this._updateState()
            }),
            (e.prototype._updateState = function() {
              if (this._session) {
                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)
              }
            }),
            (e.prototype.finish = function() {
              for (; this._inSnippet.get(); ) this.next()
            }),
            (e.prototype.cancel = function() {
              this._inSnippet.reset(),
                this._hasPrevTabstop.reset(),
                this._hasNextTabstop.reset(),
                o.dispose(this._snippetListener),
                o.dispose(this._session),
                (this._session = void 0),
                (this._modelVersionId = -1)
            }),
            (e.prototype.prev = function() {
              this._session.prev(), this._updateState()
            }),
            (e.prototype.next = function() {
              this._session.next(), this._updateState()
            }),
            e
          )
        })())
        ;(a.InSnippetMode = new n.RawContextKey('inSnippetMode', !1)),
          (a.HasNextTabstop = new n.RawContextKey('hasNextTabstop', !1)),
          (a.HasPrevTabstop = new n.RawContextKey('hasPrevTabstop', !1)),
          (a = l = v(
            [i.commonEditorContribution, y(1, n.IContextKeyService)],
            a
          )),
          (t.SnippetController2 = a)
        var u = i.EditorCommand.bindToContribution(a.get)
        i.CommonEditorRegistry.registerEditorCommand(
          new u({
            id: 'jumpToNextSnippetPlaceholder',
            precondition: n.ContextKeyExpr.and(
              a.InSnippetMode,
              a.HasNextTabstop
            ),
            handler: function(e) {
              return e.next()
            },
            kbOpts: {
              weight: i.CommonEditorRegistry.commandWeight(30),
              kbExpr: s.EditorContextKeys.textFocus,
              primary: 2
            }
          })
        ),
          i.CommonEditorRegistry.registerEditorCommand(
            new u({
              id: 'jumpToPrevSnippetPlaceholder',
              precondition: n.ContextKeyExpr.and(
                a.InSnippetMode,
                a.HasPrevTabstop
              ),
              handler: function(e) {
                return e.prev()
              },
              kbOpts: {
                weight: i.CommonEditorRegistry.commandWeight(30),
                kbExpr: s.EditorContextKeys.textFocus,
                primary: 1026
              }
            })
          ),
          i.CommonEditorRegistry.registerEditorCommand(
            new u({
              id: 'leaveSnippet',
              precondition: a.InSnippetMode,
              handler: function(e) {
                return e.cancel()
              },
              kbOpts: {
                weight: i.CommonEditorRegistry.commandWeight(30),
                kbExpr: s.EditorContextKeys.textFocus,
                primary: 9,
                secondary: [1033]
              }
            })
          ),
          i.CommonEditorRegistry.registerEditorCommand(
            new u({
              id: 'acceptSnippet',
              precondition: a.InSnippetMode,
              handler: function(e) {
                return e.finish()
              }
            })
          )
        var l
      }),
      define(d[135], h([0, 1, 18, 27, 9, 28, 10, 8, 13, 17, 19]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c
      ) {
        'use strict'
        function d(e, t, o, r) {
          void 0 === o && (o = 'bottom')
          var u = [],
            c = f(o)
          t = t.clone()
          var d = l.SuggestRegistry.orderedGroups(e)
          'none' !== o && y && d.unshift([y])
          var g = !1,
            m = d.map(function(o) {
              return function() {
                if (!g)
                  return a.TPromise.join(
                    o.map(function(o) {
                      if (i.isFalsyOrEmpty(r) || !(r.indexOf(o) < 0))
                        return n
                          .asWinJsPromise(function(n) {
                            return o.provideCompletionItems(e, t, n)
                          })
                          .then(function(n) {
                            var r = u.length
                            if (n && !i.isFalsyOrEmpty(n.suggestions))
                              for (
                                var s = 0, a = n.suggestions;
                                s < a.length;
                                s++
                              ) {
                                var l = a[s]
                                c(l) &&
                                  (h(l, n),
                                  u.push({
                                    position: t,
                                    container: n,
                                    suggestion: l,
                                    support: o,
                                    resolve: p(o, l, e, t)
                                  }))
                              }
                            r !== u.length && o !== y && (g = !0)
                          }, s.onUnexpectedExternalError)
                    })
                  )
              }
            })
          return n.sequence(m).then(function() {
            return u.sort(_(o))
          })
        }
        function h(e, t) {
          'number' != typeof e.overwriteBefore && (e.overwriteBefore = 0),
            ('number' != typeof e.overwriteAfter || e.overwriteAfter < 0) &&
              (e.overwriteAfter = 0)
        }
        function p(e, t, i, o) {
          return function() {
            return 'function' == typeof e.resolveCompletionItem
              ? n
                  .asWinJsPromise(function(n) {
                    return e.resolveCompletionItem(i, o, t, n)
                  })
                  .then(function(e) {
                    r.assign(t, e)
                  })
              : a.TPromise.as(void 0)
          }
        }
        function f(e) {
          return 'none' === e
            ? function(e) {
                return 'snippet' !== e.type
              }
            : function() {
                return !0
              }
        }
        function g(e, t) {
          var n = 0
          return (
            'string' == typeof e.suggestion.sortText &&
              'string' == typeof t.suggestion.sortText &&
              (n = o.compareIgnoreCase(
                e.suggestion.sortText,
                t.suggestion.sortText
              )),
            0 === n &&
              (n = o.compareIgnoreCase(e.suggestion.label, t.suggestion.label)),
            0 === n &&
              e.suggestion.type !== t.suggestion.type &&
              ('snippet' === e.suggestion.type
                ? (n = 1)
                : 'snippet' === t.suggestion.type && (n = -1)),
            n
          )
        }
        function m(e, t) {
          if (e.suggestion.type !== t.suggestion.type) {
            if ('snippet' === e.suggestion.type) return -1
            if ('snippet' === t.suggestion.type) return 1
          }
          return g(e, t)
        }
        function v(e, t) {
          if (e.suggestion.type !== t.suggestion.type) {
            if ('snippet' === e.suggestion.type) return 1
            if ('snippet' === t.suggestion.type) return -1
          }
          return g(e, t)
        }
        function _(e) {
          return 'top' === e ? m : 'bottom' === e ? v : g
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.Context = {
            Visible: new c.RawContextKey('suggestWidgetVisible', !1),
            MultipleSuggestions: new c.RawContextKey(
              'suggestWidgetMultipleSuggestions',
              !1
            ),
            MakesTextEdit: new c.RawContextKey('suggestionMakesTextEdit', !0),
            AcceptOnKey: new c.RawContextKey(
              'suggestionSupportsAcceptOnKey',
              !0
            ),
            AcceptSuggestionsOnEnter: new c.RawContextKey(
              'acceptSuggestionOnEnter',
              !0
            )
          })
        var y
        ;(t.setSnippetSuggestSupport = function(e) {
          var t = y
          return (y = e), t
        }),
          (t.provideSuggestionItems = d),
          (t.getSuggestionComparator = _),
          u.CommonEditorRegistry.registerDefaultLanguageCommand(
            '_executeCompletionItemProvider',
            function(e, t, n) {
              var i = { incomplete: !1, suggestions: [] }
              return d(e, t).then(function(e) {
                for (var t = 0, n = e; t < n.length; t++) {
                  var o = n[t],
                    r = o.container,
                    s = o.suggestion
                  ;(i.incomplete = i.incomplete || r.incomplete),
                    i.suggestions.push(s)
                }
                return i
              })
            }
          )
      }),
      define(d[464], h([
        0,
        1,
        10,
        27,
        18,
        11,
        3,
        8,
        17,
        12,
        135,
        263,
        54
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var p = (function() {
          function e(e, t, 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 = n)
          }
          return (
            (e.shouldAutoTrigger = function(e) {
              var t = e.getModel()
              if (!t) return !1
              var n = e.getPosition(),
                i = t.getWordAtPosition(n)
              return (
                !!i && (i.endColumn === n.column && !!isNaN(Number(i.word)))
              )
            }),
            (e.isInEditableRange = function(e) {
              var t = e.getModel(),
                n = e.getPosition()
              return !(
                t.hasEditableRange() &&
                !t.getEditableRange().containsPosition(n)
              )
            }),
            e
          )
        })()
        t.LineContext = p
        !(function(e) {
          ;(e[(e.Idle = 0)] = 'Idle'),
            (e[(e.Manual = 1)] = 'Manual'),
            (e[(e.Auto = 2)] = 'Auto')
        })(t.State || (t.State = {}))
        var f = (function() {
          function e(e) {
            var t = this
            ;(this.editor = e),
              (this.toDispose = []),
              (this.triggerRefilter = new o.TimeoutTimer()),
              (this._onDidCancel = new r.Emitter()),
              (this._onDidTrigger = new r.Emitter()),
              (this._onDidSuggest = new r.Emitter()),
              (this._state = 0),
              (this.triggerAutoSuggestPromise = null),
              (this.requestPromise = null),
              (this.completionModel = null),
              (this.context = null),
              (this.currentPosition = e.getPosition() || new l.Position(1, 1)),
              this.toDispose.push(
                this.editor.onDidChangeModel(function() {
                  t.updateTriggerCharacters(), t.cancel()
                })
              ),
              this.toDispose.push(
                e.onDidChangeModelLanguage(function() {
                  t.updateTriggerCharacters(), t.cancel()
                })
              ),
              this.toDispose.push(
                this.editor.onDidChangeConfiguration(function() {
                  t.updateTriggerCharacters(), t.updateQuickSuggest()
                })
              ),
              this.toDispose.push(
                u.SuggestRegistry.onDidChange(function() {
                  t.updateTriggerCharacters(), t.updateActiveSuggestSession()
                })
              ),
              this.toDispose.push(
                this.editor.onDidChangeCursorSelection(function(e) {
                  t.onCursorChange(e)
                })
              ),
              this.updateTriggerCharacters(),
              this.updateQuickSuggest()
          }
          return (
            Object.defineProperty(e.prototype, 'onDidCancel', {
              get: function() {
                return this._onDidCancel.event
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'onDidTrigger', {
              get: function() {
                return this._onDidTrigger.event
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'onDidSuggest', {
              get: function() {
                return this._onDidSuggest.event
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.dispose = function() {
              s.dispose([
                this._onDidCancel,
                this._onDidSuggest,
                this._onDidTrigger,
                this.triggerCharacterListener,
                this.triggerRefilter
              ]),
                (this.toDispose = s.dispose(this.toDispose)),
                this.cancel()
            }),
            (e.prototype.updateQuickSuggest = function() {
              ;(this.quickSuggestDelay = this.editor.getConfiguration().contribInfo.quickSuggestionsDelay),
                (isNaN(this.quickSuggestDelay) ||
                  (!this.quickSuggestDelay && 0 !== this.quickSuggestDelay) ||
                  this.quickSuggestDelay < 0) &&
                  (this.quickSuggestDelay = 10)
            }),
            (e.prototype.updateTriggerCharacters = function() {
              var e = this
              if (
                (s.dispose(this.triggerCharacterListener),
                !this.editor.getConfiguration().readOnly &&
                  this.editor.getModel() &&
                  this.editor.getConfiguration().contribInfo
                    .suggestOnTriggerCharacters)
              ) {
                for (
                  var t = Object.create(null),
                    n = 0,
                    o = u.SuggestRegistry.all(this.editor.getModel());
                  n < o.length;
                  n++
                ) {
                  var r = o[n]
                  if (!i.isFalsyOrEmpty(r.triggerCharacters))
                    for (
                      var a = 0, l = r.triggerCharacters;
                      a < l.length;
                      a++
                    ) {
                      var c = l[a],
                        d = t[c]
                      d ? d.push(r) : (t[c] = [r])
                    }
                }
                this.triggerCharacterListener = this.editor.onDidType(function(
                  n
                ) {
                  var i = n.charAt(n.length - 1),
                    o = t[i]
                  if (o) {
                    var r = []
                    if (e.completionModel)
                      for (
                        var s = 0, a = e.completionModel.items;
                        s < a.length;
                        s++
                      ) {
                        var u = a[s]
                        o.indexOf(u.support) < 0 && r.push(u)
                      }
                    e.trigger(!0, Boolean(e.completionModel), o, r)
                  }
                })
              }
            }),
            Object.defineProperty(e.prototype, 'state', {
              get: function() {
                return this._state
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.cancel = function(e) {
              void 0 === e && (e = !1),
                this.triggerAutoSuggestPromise &&
                  (this.triggerAutoSuggestPromise.cancel(),
                  (this.triggerAutoSuggestPromise = null)),
                this.requestPromise &&
                  (this.requestPromise.cancel(), (this.requestPromise = null)),
                (this._state = 0),
                (this.completionModel = null),
                (this.context = null),
                this._onDidCancel.fire({ retrigger: e })
            }),
            (e.prototype.updateActiveSuggestSession = function() {
              0 !== this._state &&
                (u.SuggestRegistry.has(this.editor.getModel())
                  ? this.trigger(2 === this._state, !0)
                  : this.cancel())
            }),
            (e.prototype.onCursorChange = function(e) {
              var t = this,
                n = this.currentPosition
              if (
                ((this.currentPosition = this.editor.getPosition()),
                e.selection.isEmpty() &&
                  'keyboard' === e.source &&
                  e.reason === h.CursorChangeReason.NotSet)
              ) {
                if (u.SuggestRegistry.has(this.editor.getModel())) {
                  var i = this.editor.getModel()
                  i &&
                    (0 === this._state
                      ? !1 !==
                          this.editor.getConfiguration().contribInfo
                            .quickSuggestions &&
                        n.isBefore(this.currentPosition) &&
                        (this.cancel(),
                        p.shouldAutoTrigger(this.editor) &&
                          ((this.triggerAutoSuggestPromise = a.TPromise.timeout(
                            this.quickSuggestDelay
                          )),
                          this.triggerAutoSuggestPromise.then(function() {
                            var e = t.editor.getModel(),
                              n = t.editor.getPosition()
                            if (e) {
                              var i = t.editor.getConfiguration().contribInfo
                                .quickSuggestions
                              if (!1 !== i) {
                                if (!0 === i);
                                else {
                                  e.forceTokenization(n.lineNumber)
                                  var o = e
                                    .getLineTokens(n.lineNumber)
                                    .findTokenAtOffset(n.column - 1).tokenType
                                  if (
                                    !(
                                      (i.other && 0 === o) ||
                                      (i.comments && 1 === o) ||
                                      (i.strings && 2 === o)
                                    )
                                  )
                                    return
                                }
                                ;(t.triggerAutoSuggestPromise = null),
                                  t.trigger(!0)
                              }
                            }
                          })))
                      : this.triggerRefilter.cancelAndSet(function() {
                          var e = t.editor.getPosition(),
                            n = new p(i, e, 2 === t._state)
                          t.onNewContext(n)
                        }, 25))
                }
              } else {
                if (0 === this._state) return
                this.cancel()
              }
            }),
            (e.prototype.trigger = function(e, t, o, r) {
              var s = this
              void 0 === t && (t = !1)
              var a = this.editor.getModel()
              if (a) {
                var u = new p(a, this.editor.getPosition(), e)
                p.isInEditableRange(this.editor) &&
                  (this.cancel(t),
                  (this._state = e ? 2 : 1),
                  this._onDidTrigger.fire({ auto: e }),
                  (this.context = u),
                  (this.requestPromise = c
                    .provideSuggestionItems(
                      a,
                      this.editor.getPosition(),
                      this.editor.getConfiguration().contribInfo
                        .snippetSuggestions,
                      o
                    )
                    .then(function(t) {
                      if (((s.requestPromise = null), 0 !== s._state)) {
                        var n = s.editor.getModel()
                        if (n) {
                          if (!i.isFalsyOrEmpty(r)) {
                            var o = c.getSuggestionComparator(
                              s.editor.getConfiguration().contribInfo
                                .snippetSuggestions
                            )
                            t = t.concat(r).sort(o)
                          }
                          var a = new p(n, s.editor.getPosition(), e)
                          ;(s.completionModel = new d.CompletionModel(
                            t,
                            s.context.column,
                            {
                              leadingLineContent: a.leadingLineContent,
                              characterCountDelta: s.context
                                ? a.column - s.context.column
                                : 0
                            },
                            s.editor.getConfiguration().contribInfo.snippetSuggestions
                          )),
                            s.onNewContext(a)
                        }
                      }
                    })
                    .then(null, n.onUnexpectedError)))
              }
            }),
            (e.prototype.onNewContext = function(e) {
              if (this.context)
                if (e.lineNumber === this.context.lineNumber) {
                  if (e.column < this.context.column)
                    e.leadingWord.word
                      ? this.trigger(this.context.auto, !0)
                      : this.cancel()
                  else if (this.completionModel)
                    if (
                      e.column > this.context.column &&
                      this.completionModel.incomplete &&
                      0 !== e.leadingWord.word.length
                    ) {
                      var t = this.completionModel.resolveIncompleteInfo(),
                        n = t.complete,
                        i = t.incomplete
                      this.trigger(2 === this._state, !0, i, n)
                    } else {
                      var o = this.completionModel.lineContext,
                        r = !1
                      if (
                        ((this.completionModel.lineContext = {
                          leadingLineContent: e.leadingLineContent,
                          characterCountDelta: e.column - this.context.column
                        }),
                        0 === this.completionModel.items.length)
                      ) {
                        if (
                          p.shouldAutoTrigger(this.editor) &&
                          this.context.leadingWord.endColumn <
                            e.leadingWord.startColumn
                        )
                          return void this.trigger(this.context.auto, !0)
                        if (this.context.auto) return void this.cancel()
                        if (
                          ((this.completionModel.lineContext = o),
                          (r = this.completionModel.items.length > 0) &&
                            0 === e.leadingWord.word.length)
                        )
                          return void this.cancel()
                      }
                      this._onDidSuggest.fire({
                        completionModel: this.completionModel,
                        auto: this.context.auto,
                        isFrozen: r
                      })
                    }
                } else this.cancel()
            }),
            e
          )
        })()
        t.SuggestModel = f
      }),
      define(d[187], h([0, 1, 363, 13, 164]), function(e, t, n, i, o) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = (s = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: s.ID,
                label: n.localize(0, null),
                alias: 'Toggle Tab Key Moves Focus',
                precondition: null,
                kbOpts: { kbExpr: null, primary: 2091, mac: { primary: 1323 } }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = o.TabFocus.getTabFocusMode()
              o.TabFocus.setTabFocusMode(!n)
            }),
            t
          )
        })(i.EditorAction))
        ;(r.ID = 'editor.action.toggleTabFocusMode'),
          (r = s = v([i.editorAction], r)),
          (t.ToggleTabFocusModeAction = r)
        var s
      }),
      define(d[466], h([
        0,
        1,
        20,
        22,
        13,
        12,
        2,
        177,
        74,
        90,
        37,
        54
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var h = (function(e) {
          function t(t) {
            var n = e.call(this, t) || this
            return (
              (n._inSelectionMode = t.inSelectionMode),
              (n._wordNavigationType = t.wordNavigationType),
              n
            )
          }
          return (
            f(t, e),
            (t.prototype.runEditorCommand = function(e, t, n) {
              var i = this,
                o = t.getConfiguration(),
                s = l.getMapForWordSeparators(o.wordSeparators),
                a = t.getModel(),
                u = t.getSelections().map(function(e) {
                  var t = new r.Position(
                      e.positionLineNumber,
                      e.positionColumn
                    ),
                    n = i._move(s, a, t, i._wordNavigationType)
                  return i._moveTo(e, n, i._inSelectionMode)
                })
              if (
                (t._getCursors().setStates(
                  'moveWordCommand',
                  d.CursorChangeReason.NotSet,
                  u.map(function(e) {
                    return c.CursorState.fromModelSelection(e)
                  })
                ),
                1 === u.length)
              ) {
                var h = new r.Position(
                  u[0].positionLineNumber,
                  u[0].positionColumn
                )
                t.revealPosition(h, !1, !0)
              }
            }),
            (t.prototype._moveTo = function(e, t, n) {
              return n
                ? new i.Selection(
                    e.selectionStartLineNumber,
                    e.selectionStartColumn,
                    t.lineNumber,
                    t.column
                  )
                : new i.Selection(
                    t.lineNumber,
                    t.column,
                    t.lineNumber,
                    t.column
                  )
            }),
            t
          )
        })(o.EditorCommand)
        t.MoveWordCommand = h
        var p = (function(e) {
          function t() {
            return (null !== e && e.apply(this, arguments)) || this
          }
          return (
            f(t, e),
            (t.prototype._move = function(e, t, n, i) {
              return a.WordOperations.moveWordLeft(e, t, n, i)
            }),
            t
          )
        })(h)
        t.WordLeftCommand = p
        var g = (function(e) {
          function t() {
            return (null !== e && e.apply(this, arguments)) || this
          }
          return (
            f(t, e),
            (t.prototype._move = function(e, t, n, i) {
              return a.WordOperations.moveWordRight(e, t, n, i)
            }),
            t
          )
        })(h)
        t.WordRightCommand = g
        var m = (function(e) {
          function t() {
            return (
              e.call(this, {
                inSelectionMode: !1,
                wordNavigationType: 0,
                id: 'cursorWordStartLeft',
                precondition: null,
                kbOpts: {
                  kbExpr: n.EditorContextKeys.textFocus,
                  primary: 2063,
                  mac: { primary: 527 }
                }
              }) || this
            )
          }
          return f(t, e), t
        })(p)
        ;(m = v([o.editorCommand], m)), (t.CursorWordStartLeft = m)
        var _ = (function(e) {
          function t() {
            return (
              e.call(this, {
                inSelectionMode: !1,
                wordNavigationType: 1,
                id: 'cursorWordEndLeft',
                precondition: null
              }) || this
            )
          }
          return f(t, e), t
        })(p)
        ;(_ = v([o.editorCommand], _)), (t.CursorWordEndLeft = _)
        var y = (function(e) {
          function t() {
            return (
              e.call(this, {
                inSelectionMode: !1,
                wordNavigationType: 0,
                id: 'cursorWordLeft',
                precondition: null
              }) || this
            )
          }
          return f(t, e), t
        })(p)
        ;(y = v([o.editorCommand], y)), (t.CursorWordLeft = y)
        var b = (function(e) {
          function t() {
            return (
              e.call(this, {
                inSelectionMode: !0,
                wordNavigationType: 0,
                id: 'cursorWordStartLeftSelect',
                precondition: null,
                kbOpts: {
                  kbExpr: n.EditorContextKeys.textFocus,
                  primary: 3087,
                  mac: { primary: 1551 }
                }
              }) || this
            )
          }
          return f(t, e), t
        })(p)
        ;(b = v([o.editorCommand], b)), (t.CursorWordStartLeftSelect = b)
        var C = (function(e) {
          function t() {
            return (
              e.call(this, {
                inSelectionMode: !0,
                wordNavigationType: 1,
                id: 'cursorWordEndLeftSelect',
                precondition: null
              }) || this
            )
          }
          return f(t, e), t
        })(p)
        ;(C = v([o.editorCommand], C)), (t.CursorWordEndLeftSelect = C)
        var w = (function(e) {
          function t() {
            return (
              e.call(this, {
                inSelectionMode: !0,
                wordNavigationType: 0,
                id: 'cursorWordLeftSelect',
                precondition: null
              }) || this
            )
          }
          return f(t, e), t
        })(p)
        ;(w = v([o.editorCommand], w)), (t.CursorWordLeftSelect = w)
        var S = (function(e) {
          function t() {
            return (
              e.call(this, {
                inSelectionMode: !1,
                wordNavigationType: 0,
                id: 'cursorWordStartRight',
                precondition: null
              }) || this
            )
          }
          return f(t, e), t
        })(g)
        ;(S = v([o.editorCommand], S)), (t.CursorWordStartRight = S)
        var E = (function(e) {
          function t() {
            return (
              e.call(this, {
                inSelectionMode: !1,
                wordNavigationType: 1,
                id: 'cursorWordEndRight',
                precondition: null,
                kbOpts: {
                  kbExpr: n.EditorContextKeys.textFocus,
                  primary: 2065,
                  mac: { primary: 529 }
                }
              }) || this
            )
          }
          return f(t, e), t
        })(g)
        ;(E = v([o.editorCommand], E)), (t.CursorWordEndRight = E)
        var L = (function(e) {
          function t() {
            return (
              e.call(this, {
                inSelectionMode: !1,
                wordNavigationType: 1,
                id: 'cursorWordRight',
                precondition: null
              }) || this
            )
          }
          return f(t, e), t
        })(g)
        ;(L = v([o.editorCommand], L)), (t.CursorWordRight = L)
        var x = (function(e) {
          function t() {
            return (
              e.call(this, {
                inSelectionMode: !0,
                wordNavigationType: 0,
                id: 'cursorWordStartRightSelect',
                precondition: null
              }) || this
            )
          }
          return f(t, e), t
        })(g)
        ;(x = v([o.editorCommand], x)), (t.CursorWordStartRightSelect = x)
        var N = (function(e) {
          function t() {
            return (
              e.call(this, {
                inSelectionMode: !0,
                wordNavigationType: 1,
                id: 'cursorWordEndRightSelect',
                precondition: null,
                kbOpts: {
                  kbExpr: n.EditorContextKeys.textFocus,
                  primary: 3089,
                  mac: { primary: 1553 }
                }
              }) || this
            )
          }
          return f(t, e), t
        })(g)
        ;(N = v([o.editorCommand], N)), (t.CursorWordEndRightSelect = N)
        var M = (function(e) {
          function t() {
            return (
              e.call(this, {
                inSelectionMode: !0,
                wordNavigationType: 1,
                id: 'cursorWordRightSelect',
                precondition: null
              }) || this
            )
          }
          return f(t, e), t
        })(g)
        ;(M = v([o.editorCommand], M)), (t.CursorWordRightSelect = M)
        var T = (function(e) {
          function t(t) {
            var n = e.call(this, t) || this
            return (
              (n._whitespaceHeuristics = t.whitespaceHeuristics),
              (n._wordNavigationType = t.wordNavigationType),
              n
            )
          }
          return (
            f(t, e),
            (t.prototype.runEditorCommand = function(e, t, n) {
              var i = this,
                o = t.getConfiguration(),
                r = l.getMapForWordSeparators(o.wordSeparators),
                s = t.getModel(),
                a = t.getSelections().map(function(e) {
                  var t = i._delete(
                    r,
                    s,
                    e,
                    i._whitespaceHeuristics,
                    i._wordNavigationType
                  )
                  return new u.ReplaceCommand(t, '')
                })
              t.pushUndoStop(), t.executeCommands(this.id, a), t.pushUndoStop()
            }),
            t
          )
        })(o.EditorCommand)
        t.DeleteWordCommand = T
        var k = (function(e) {
          function t() {
            return (null !== e && e.apply(this, arguments)) || this
          }
          return (
            f(t, e),
            (t.prototype._delete = function(e, t, n, i, o) {
              var r = a.WordOperations.deleteWordLeft(e, t, n, i, o)
              return r || new s.Range(1, 1, 1, 1)
            }),
            t
          )
        })(T)
        t.DeleteWordLeftCommand = k
        var I = (function(e) {
          function t() {
            return (null !== e && e.apply(this, arguments)) || this
          }
          return (
            f(t, e),
            (t.prototype._delete = function(e, t, n, i, o) {
              var r = a.WordOperations.deleteWordRight(e, t, n, i, o)
              if (r) return r
              var u = t.getLineCount(),
                l = t.getLineMaxColumn(u)
              return new s.Range(u, l, u, l)
            }),
            t
          )
        })(T)
        t.DeleteWordRightCommand = I
        var D = (function(e) {
          function t() {
            return (
              e.call(this, {
                whitespaceHeuristics: !1,
                wordNavigationType: 0,
                id: 'deleteWordStartLeft',
                precondition: n.EditorContextKeys.writable
              }) || this
            )
          }
          return f(t, e), t
        })(k)
        ;(D = v([o.editorCommand], D)), (t.DeleteWordStartLeft = D)
        var O = (function(e) {
          function t() {
            return (
              e.call(this, {
                whitespaceHeuristics: !1,
                wordNavigationType: 1,
                id: 'deleteWordEndLeft',
                precondition: n.EditorContextKeys.writable
              }) || this
            )
          }
          return f(t, e), t
        })(k)
        ;(O = v([o.editorCommand], O)), (t.DeleteWordEndLeft = O)
        var R = (function(e) {
          function t() {
            return (
              e.call(this, {
                whitespaceHeuristics: !0,
                wordNavigationType: 0,
                id: 'deleteWordLeft',
                precondition: n.EditorContextKeys.writable,
                kbOpts: {
                  kbExpr: n.EditorContextKeys.textFocus,
                  primary: 2049,
                  mac: { primary: 513 }
                }
              }) || this
            )
          }
          return f(t, e), t
        })(k)
        ;(R = v([o.editorCommand], R)), (t.DeleteWordLeft = R)
        var P = (function(e) {
          function t() {
            return (
              e.call(this, {
                whitespaceHeuristics: !1,
                wordNavigationType: 0,
                id: 'deleteWordStartRight',
                precondition: n.EditorContextKeys.writable
              }) || this
            )
          }
          return f(t, e), t
        })(I)
        ;(P = v([o.editorCommand], P)), (t.DeleteWordStartRight = P)
        var A = (function(e) {
          function t() {
            return (
              e.call(this, {
                whitespaceHeuristics: !1,
                wordNavigationType: 1,
                id: 'deleteWordEndRight',
                precondition: n.EditorContextKeys.writable
              }) || this
            )
          }
          return f(t, e), t
        })(I)
        ;(A = v([o.editorCommand], A)), (t.DeleteWordEndRight = A)
        var F = (function(e) {
          function t() {
            return (
              e.call(this, {
                whitespaceHeuristics: !0,
                wordNavigationType: 1,
                id: 'deleteWordRight',
                precondition: n.EditorContextKeys.writable,
                kbOpts: {
                  kbExpr: n.EditorContextKeys.textFocus,
                  primary: 2068,
                  mac: { primary: 532 }
                }
              }) || this
            )
          }
          return f(t, e), t
        })(I)
        ;(F = v([o.editorCommand], F)), (t.DeleteWordRight = F)
      }),
      define(d[467], h([0, 1, 371, 13, 83]), function(e, t, n, i, o) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = (function(e) {
          function t() {
            var t =
              e.call(this, {
                id: 'editor.action.toggleHighContrast',
                label: n.localize(0, null),
                alias: 'Toggle High Contrast Theme',
                precondition: null
              }) || this
            return (t._originalThemeName = null), t
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = e.get(o.IStandaloneThemeService)
              this._originalThemeName
                ? (n.setTheme(this._originalThemeName),
                  (this._originalThemeName = null))
                : ((this._originalThemeName = n.getTheme().themeName),
                  n.setTheme('hc-black'))
            }),
            t
          )
        })(i.EditorAction)
        r = v([i.editorAction], r)
      }),
      define(d[468], h([0, 1, 166, 62, 66]), function(e, t, n, i, o) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = (function() {
          function e(e, t, i) {
            this.contextView = new n.ContextView(e)
          }
          return (
            (e.prototype.dispose = function() {
              this.contextView.dispose()
            }),
            (e.prototype.setContainer = function(e) {
              this.contextView.setContainer(e)
            }),
            (e.prototype.showContextView = function(e) {
              this.contextView.show(e)
            }),
            (e.prototype.layout = function() {
              this.contextView.layout()
            }),
            (e.prototype.hideContextView = function(e) {
              this.contextView.hide(e)
            }),
            e
          )
        })()
        ;(r = v([y(1, i.ITelemetryService), y(2, o.IMessageService)], r)),
          (t.ContextViewService = r)
      }),
      define(d[23], h([0, 1, 42, 34, 375]), function(e, t, n, i, o) {
        'use strict'
        function r(e, t, n) {
          return h.registerColor(e, t, n)
        }
        function s(e, t) {
          return function(n) {
            var i = c(e, n)
            return i ? i.darken(t) : null
          }
        }
        function a(e, t) {
          return function(n) {
            var i = c(e, n)
            return i ? i.lighten(t) : null
          }
        }
        function u(e, t) {
          return function(n) {
            var i = c(e, n)
            return i ? i.transparent(t) : null
          }
        }
        function l(e, t, n, o) {
          return function(r) {
            var s = c(e, r)
            if (s) {
              var a = c(t, r)
              return a
                ? s.isDarkerThan(a)
                  ? i.Color.getLighterColor(s, a, n).transparent(o)
                  : i.Color.getDarkerColor(s, a, n).transparent(o)
                : s.transparent(n * o)
            }
            return null
          }
        }
        function c(e, t) {
          return null === e
            ? null
            : 'string' == typeof e
              ? '#' === e[0]
                ? i.Color.fromHex(e)
                : t.getColor(e)
              : e instanceof i.Color
                ? e
                : 'function' == typeof e
                  ? e(t)
                  : null
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.Extensions = { ColorContribution: 'base.contributions.colors' })
        var d = o.localize(0, null),
          h = new ((function() {
            function e() {
              ;(this.colorSchema = {
                type: 'object',
                description: o.localize(1, null),
                properties: {},
                additionalProperties: !1
              }),
                (this.colorsById = {})
            }
            return (
              (e.prototype.registerColor = function(e, t, n) {
                var i = { id: e, description: n, defaults: t }
                return (
                  (this.colorsById[e] = i),
                  (this.colorSchema.properties[e] = {
                    type: 'string',
                    description: n,
                    format: 'color',
                    pattern: '^#([0-9A-Fa-f]{3,4}|([0-9A-Fa-f]{2}){3,4})$',
                    patternErrorMessage: d
                  }),
                  e
                )
              }),
              (e.prototype.getColors = function() {
                var e = this
                return Object.keys(this.colorsById).map(function(t) {
                  return e.colorsById[t]
                })
              }),
              (e.prototype.resolveDefaultColor = function(e, t) {
                var n = this.colorsById[e]
                return n && n.defaults ? c(n.defaults[t.type], t) : null
              }),
              (e.prototype.getColorSchema = function() {
                return this.colorSchema
              }),
              (e.prototype.toString = function() {
                var e = this
                return Object.keys(this.colorsById)
                  .sort(function(e, t) {
                    var n = -1 === e.indexOf('.') ? 0 : 1,
                      i = -1 === t.indexOf('.') ? 0 : 1
                    return n !== i ? n - i : e.localeCompare(t)
                  })
                  .map(function(t) {
                    return '- `' + t + '`: ' + e.colorsById[t].description
                  })
                  .join('\n')
              }),
              e
            )
          })())()
        n.Registry.add(t.Extensions.ColorContribution, h),
          (t.registerColor = r),
          (t.foreground = r(
            'foreground',
            { dark: '#CCCCCC', light: '#6C6C6C', hc: '#FFFFFF' },
            o.localize(2, null)
          )),
          (t.errorForeground = r(
            'errorForeground',
            { dark: '#F48771', light: '#A1260D', hc: '#F48771' },
            o.localize(3, null)
          )),
          (t.descriptionForeground = r(
            'descriptionForeground',
            {
              light: u(t.foreground, 0.7),
              dark: u(t.foreground, 0.7),
              hc: u(t.foreground, 0.7)
            },
            o.localize(4, null)
          )),
          (t.focusBorder = r(
            'focusBorder',
            {
              dark: i.Color.fromHex('#0E639C').transparent(0.6),
              light: i.Color.fromHex('#007ACC').transparent(0.4),
              hc: '#F38518'
            },
            o.localize(5, null)
          )),
          (t.contrastBorder = r(
            'contrastBorder',
            { light: null, dark: null, hc: '#6FC3DF' },
            o.localize(6, null)
          )),
          (t.activeContrastBorder = r(
            'contrastActiveBorder',
            { light: null, dark: null, hc: t.focusBorder },
            o.localize(7, null)
          )),
          (t.selectionBackground = r(
            'selection.background',
            { light: null, dark: null, hc: null },
            o.localize(8, null)
          )),
          (t.textSeparatorForeground = r(
            'textSeparator.foreground',
            { light: '#0000002e', dark: '#ffffff2e', hc: i.Color.black },
            o.localize(9, null)
          )),
          (t.textLinkForeground = r(
            'textLink.foreground',
            { light: '#4080D0', dark: '#4080D0', hc: '#4080D0' },
            o.localize(10, null)
          )),
          (t.textLinkActiveForeground = r(
            'textLink.activeForeground',
            { light: '#4080D0', dark: '#4080D0', hc: '#4080D0' },
            o.localize(11, null)
          )),
          (t.textPreformatForeground = r(
            'textPreformat.foreground',
            { light: '#A31515', dark: '#D7BA7D', hc: '#D7BA7D' },
            o.localize(12, null)
          )),
          (t.textBlockQuoteBackground = r(
            'textBlockQuote.background',
            { light: '#7f7f7f1a', dark: '#7f7f7f1a', hc: null },
            o.localize(13, null)
          )),
          (t.textBlockQuoteBorder = r(
            'textBlockQuote.border',
            { light: '#007acc80', dark: '#007acc80', hc: i.Color.white },
            o.localize(14, null)
          )),
          (t.textCodeBlockBackground = r(
            'textCodeBlock.background',
            { light: '#dcdcdc66', dark: '#0a0a0a66', hc: i.Color.black },
            o.localize(15, null)
          )),
          (t.widgetShadow = r(
            'widget.shadow',
            { dark: '#000000', light: '#A8A8A8', hc: null },
            o.localize(16, null)
          )),
          (t.inputBackground = r(
            'input.background',
            { dark: '#3C3C3C', light: i.Color.white, hc: i.Color.black },
            o.localize(17, null)
          )),
          (t.inputForeground = r(
            'input.foreground',
            { dark: t.foreground, light: t.foreground, hc: t.foreground },
            o.localize(18, null)
          )),
          (t.inputBorder = r(
            'input.border',
            { dark: null, light: null, hc: t.contrastBorder },
            o.localize(19, null)
          )),
          (t.inputActiveOptionBorder = r(
            'inputOption.activeBorder',
            { dark: '#007ACC', light: '#007ACC', hc: t.activeContrastBorder },
            o.localize(20, null)
          )),
          (t.inputPlaceholderForeground = r(
            'input.placeholderForeground',
            { dark: null, light: null, hc: null },
            o.localize(21, null)
          )),
          (t.inputValidationInfoBackground = r(
            'inputValidation.infoBackground',
            { dark: '#063B49', light: '#D6ECF2', hc: i.Color.black },
            o.localize(22, null)
          )),
          (t.inputValidationInfoBorder = r(
            'inputValidation.infoBorder',
            { dark: '#007acc', light: '#007acc', hc: t.contrastBorder },
            o.localize(23, null)
          )),
          (t.inputValidationWarningBackground = r(
            'inputValidation.warningBackground',
            { dark: '#352A05', light: '#F6F5D2', hc: i.Color.black },
            o.localize(24, null)
          )),
          (t.inputValidationWarningBorder = r(
            'inputValidation.warningBorder',
            { dark: '#B89500', light: '#B89500', hc: t.contrastBorder },
            o.localize(25, null)
          )),
          (t.inputValidationErrorBackground = r(
            'inputValidation.errorBackground',
            { dark: '#5A1D1D', light: '#F2DEDE', hc: i.Color.black },
            o.localize(26, null)
          )),
          (t.inputValidationErrorBorder = r(
            'inputValidation.errorBorder',
            { dark: '#BE1100', light: '#BE1100', hc: t.contrastBorder },
            o.localize(27, null)
          )),
          (t.selectBackground = r(
            'dropdown.background',
            { dark: '#3C3C3C', light: i.Color.white, hc: i.Color.black },
            o.localize(28, null)
          )),
          (t.selectForeground = r(
            'dropdown.foreground',
            { dark: '#F0F0F0', light: null, hc: i.Color.white },
            o.localize(29, null)
          )),
          (t.selectBorder = r(
            'dropdown.border',
            {
              dark: t.selectBackground,
              light: '#CECECE',
              hc: t.contrastBorder
            },
            o.localize(30, null)
          )),
          (t.listFocusBackground = r(
            'list.focusBackground',
            { dark: '#073655', light: '#DCEBFC', hc: null },
            o.localize(31, null)
          )),
          (t.listFocusForeground = r(
            'list.focusForeground',
            { dark: null, light: null, hc: null },
            o.localize(32, null)
          )),
          (t.listActiveSelectionBackground = r(
            'list.activeSelectionBackground',
            { dark: '#094771', light: '#3399FF', hc: null },
            o.localize(33, null)
          )),
          (t.listActiveSelectionForeground = r(
            'list.activeSelectionForeground',
            { dark: i.Color.white, light: i.Color.white, hc: null },
            o.localize(34, null)
          )),
          (t.listInactiveSelectionBackground = r(
            'list.inactiveSelectionBackground',
            { dark: '#3F3F46', light: '#CCCEDB', hc: null },
            o.localize(35, null)
          )),
          (t.listInactiveSelectionForeground = r(
            'list.inactiveSelectionForeground',
            { dark: null, light: null, hc: null },
            o.localize(36, null)
          )),
          (t.listHoverBackground = r(
            'list.hoverBackground',
            { dark: '#2A2D2E', light: '#F0F0F0', hc: null },
            o.localize(37, null)
          )),
          (t.listHoverForeground = r(
            'list.hoverForeground',
            { dark: null, light: null, hc: null },
            o.localize(38, null)
          )),
          (t.listDropBackground = r(
            'list.dropBackground',
            {
              dark: t.listFocusBackground,
              light: t.listFocusBackground,
              hc: null
            },
            o.localize(39, null)
          )),
          (t.listHighlightForeground = r(
            'list.highlightForeground',
            { dark: '#0097fb', light: '#007acc', hc: t.focusBorder },
            o.localize(40, null)
          )),
          (t.pickerGroupForeground = r(
            'pickerGroup.foreground',
            {
              dark: i.Color.fromHex('#0097FB').transparent(0.6),
              light: i.Color.fromHex('#007ACC').transparent(0.6),
              hc: i.Color.white
            },
            o.localize(41, null)
          )),
          (t.pickerGroupBorder = r(
            'pickerGroup.border',
            { dark: '#3F3F46', light: '#CCCEDB', hc: i.Color.white },
            o.localize(42, null)
          )),
          (t.buttonForeground = r(
            'button.foreground',
            { dark: i.Color.white, light: i.Color.white, hc: i.Color.white },
            o.localize(43, null)
          )),
          (t.buttonBackground = r(
            'button.background',
            { dark: '#0E639C', light: '#007ACC', hc: null },
            o.localize(44, null)
          )),
          (t.buttonHoverBackground = r(
            'button.hoverBackground',
            {
              dark: a(t.buttonBackground, 0.2),
              light: s(t.buttonBackground, 0.2),
              hc: null
            },
            o.localize(45, null)
          )),
          (t.badgeBackground = r(
            'badge.background',
            { dark: '#4D4D4D', light: '#BEBEBE', hc: i.Color.black },
            o.localize(46, null)
          )),
          (t.badgeForeground = r(
            'badge.foreground',
            { dark: i.Color.white, light: i.Color.white, hc: i.Color.white },
            o.localize(47, null)
          )),
          (t.scrollbarShadow = r(
            'scrollbar.shadow',
            { dark: '#000000', light: '#DDDDDD', hc: null },
            o.localize(48, null)
          )),
          (t.scrollbarSliderBackground = r(
            'scrollbarSlider.background',
            {
              dark: i.Color.fromHex('#797979').transparent(0.4),
              light: i.Color.fromHex('#646464').transparent(0.4),
              hc: u(t.contrastBorder, 0.6)
            },
            o.localize(49, null)
          )),
          (t.scrollbarSliderHoverBackground = r(
            'scrollbarSlider.hoverBackground',
            {
              dark: i.Color.fromHex('#646464').transparent(0.7),
              light: i.Color.fromHex('#646464').transparent(0.7),
              hc: u(t.contrastBorder, 0.8)
            },
            o.localize(50, null)
          )),
          (t.scrollbarSliderActiveBackground = r(
            'scrollbarSlider.activeBackground',
            {
              dark: i.Color.fromHex('#BFBFBF').transparent(0.4),
              light: i.Color.fromHex('#000000').transparent(0.6),
              hc: t.contrastBorder
            },
            o.localize(51, null)
          )),
          (t.progressBarBackground = r(
            'progressBar.background',
            {
              dark: i.Color.fromHex('#0E70C0'),
              light: i.Color.fromHex('#0E70C0'),
              hc: t.contrastBorder
            },
            o.localize(52, null)
          )),
          (t.editorBackground = r(
            'editor.background',
            { light: '#fffffe', dark: '#1E1E1E', hc: i.Color.black },
            o.localize(53, null)
          )),
          (t.editorForeground = r(
            'editor.foreground',
            { light: '#333333', dark: '#BBBBBB', hc: i.Color.white },
            o.localize(54, null)
          )),
          (t.editorWidgetBackground = r(
            'editorWidget.background',
            { dark: '#2D2D30', light: '#EFEFF2', hc: '#0C141F' },
            o.localize(55, null)
          )),
          (t.editorWidgetBorder = r(
            'editorWidget.border',
            { dark: '#454545', light: '#C8C8C8', hc: t.contrastBorder },
            o.localize(56, null)
          )),
          (t.editorSelectionBackground = r(
            'editor.selectionBackground',
            { light: '#ADD6FF', dark: '#264F78', hc: '#f3f518' },
            o.localize(57, null)
          )),
          (t.editorSelectionForeground = r(
            'editor.selectionForeground',
            { light: null, dark: null, hc: '#000000' },
            o.localize(58, null)
          )),
          (t.editorInactiveSelection = r(
            'editor.inactiveSelectionBackground',
            {
              light: u(t.editorSelectionBackground, 0.5),
              dark: u(t.editorSelectionBackground, 0.5),
              hc: u(t.editorSelectionBackground, 0.5)
            },
            o.localize(59, null)
          )),
          (t.editorSelectionHighlight = r(
            'editor.selectionHighlightBackground',
            {
              light: l(
                t.editorSelectionBackground,
                t.editorBackground,
                0.3,
                0.6
              ),
              dark: l(
                t.editorSelectionBackground,
                t.editorBackground,
                0.3,
                0.6
              ),
              hc: null
            },
            o.localize(60, null)
          )),
          (t.editorFindMatch = r(
            'editor.findMatchBackground',
            { light: '#A8AC94', dark: '#515C6A', hc: null },
            o.localize(61, null)
          )),
          (t.editorFindMatchHighlight = r(
            'editor.findMatchHighlightBackground',
            { light: '#EA5C0055', dark: '#EA5C0055', hc: null },
            o.localize(62, null)
          )),
          (t.editorFindRangeHighlight = r(
            'editor.findRangeHighlightBackground',
            { dark: '#3a3d4166', light: '#b4b4b44d', hc: null },
            o.localize(63, null)
          )),
          (t.editorHoverHighlight = r(
            'editor.hoverHighlightBackground',
            { light: '#ADD6FF26', dark: '#264f7840', hc: '#ADD6FF26' },
            o.localize(64, null)
          )),
          (t.editorHoverBackground = r(
            'editorHoverWidget.background',
            {
              light: t.editorWidgetBackground,
              dark: t.editorWidgetBackground,
              hc: t.editorWidgetBackground
            },
            o.localize(65, null)
          )),
          (t.editorHoverBorder = r(
            'editorHoverWidget.border',
            {
              light: t.editorWidgetBorder,
              dark: t.editorWidgetBorder,
              hc: t.editorWidgetBorder
            },
            o.localize(66, null)
          )),
          (t.editorActiveLinkForeground = r(
            'editorLink.activeForeground',
            { dark: '#4E94CE', light: i.Color.blue, hc: i.Color.cyan },
            o.localize(67, null)
          )),
          (t.defaultInsertColor = i.Color.fromRGBA(
            new i.RGBA(155, 185, 85, 51)
          )),
          (t.defaultRemoveColor = i.Color.fromRGBA(new i.RGBA(255, 0, 0, 51))),
          (t.diffInserted = r(
            'diffEditor.insertedTextBackground',
            {
              dark: t.defaultInsertColor,
              light: t.defaultInsertColor,
              hc: null
            },
            o.localize(68, null)
          )),
          (t.diffRemoved = r(
            'diffEditor.removedTextBackground',
            {
              dark: t.defaultRemoveColor,
              light: t.defaultRemoveColor,
              hc: null
            },
            o.localize(69, null)
          )),
          (t.diffInsertedOutline = r(
            'diffEditor.insertedTextBorder',
            { dark: null, light: null, hc: '#33ff2eff' },
            o.localize(70, null)
          )),
          (t.diffRemovedOutline = r(
            'diffEditor.removedTextBorder',
            { dark: null, light: null, hc: '#FF008F' },
            o.localize(71, null)
          ))
        var p = i.Color.fromHex('#40C8AE').transparent(0.5),
          f = i.Color.fromHex('#40A6FF').transparent(0.5),
          g = i.Color.fromHex('#606060').transparent(0.4)
        ;(t.mergeCurrentHeaderBackground = r(
          'merge.currentHeaderBackground',
          { dark: p, light: p, hc: null },
          o.localize(72, null)
        )),
          (t.mergeCurrentContentBackground = r(
            'merge.currentContentBackground',
            {
              dark: u(t.mergeCurrentHeaderBackground, 0.4),
              light: u(t.mergeCurrentHeaderBackground, 0.4),
              hc: u(t.mergeCurrentHeaderBackground, 0.4)
            },
            o.localize(73, null)
          )),
          (t.mergeIncomingHeaderBackground = r(
            'merge.incomingHeaderBackground',
            { dark: f, light: f, hc: null },
            o.localize(74, null)
          )),
          (t.mergeIncomingContentBackground = r(
            'merge.incomingContentBackground',
            {
              dark: u(t.mergeIncomingHeaderBackground, 0.4),
              light: u(t.mergeIncomingHeaderBackground, 0.4),
              hc: u(t.mergeIncomingHeaderBackground, 0.4)
            },
            o.localize(75, null)
          )),
          (t.mergeCommonHeaderBackground = r(
            'merge.commonHeaderBackground',
            { dark: g, light: g, hc: null },
            o.localize(76, null)
          )),
          (t.mergeCommonContentBackground = r(
            'merge.commonContentBackground',
            {
              dark: u(t.mergeCommonHeaderBackground, 0.4),
              light: u(t.mergeCommonHeaderBackground, 0.4),
              hc: u(t.mergeCommonHeaderBackground, 0.4)
            },
            o.localize(77, null)
          )),
          (t.mergeBorder = r(
            'merge.border',
            { dark: null, light: null, hc: '#C3DF6F' },
            o.localize(78, null)
          )),
          (t.overviewRulerCurrentContentForeground = r(
            'editorOverviewRuler.currentContentForeground',
            {
              dark: u(t.mergeCurrentHeaderBackground, 1),
              light: u(t.mergeCurrentHeaderBackground, 1),
              hc: t.mergeBorder
            },
            o.localize(79, null)
          )),
          (t.overviewRulerIncomingContentForeground = r(
            'editorOverviewRuler.incomingContentForeground',
            {
              dark: u(t.mergeIncomingHeaderBackground, 1),
              light: u(t.mergeIncomingHeaderBackground, 1),
              hc: t.mergeBorder
            },
            o.localize(80, null)
          )),
          (t.overviewRulerCommonContentForeground = r(
            'editorOverviewRuler.commonContentForeground',
            {
              dark: u(t.mergeCommonHeaderBackground, 1),
              light: u(t.mergeCommonHeaderBackground, 1),
              hc: t.mergeBorder
            },
            o.localize(81, null)
          )),
          (t.darken = s),
          (t.lighten = a),
          (t.transparent = u),
          (t.oneOf = function() {
            for (var e = [], t = 0; t < arguments.length; t++)
              e[t] = arguments[t]
            return function(t) {
              for (var n = 0, i = e; n < i.length; n++) {
                var o = c(i[n], t)
                if (o) return o
              }
              return null
            }
          })
      }),
      define(d[134], h([0, 1, 23]), function(e, t, n) {
        'use strict'
        function i(e, t, n) {
          function i(e) {
            var i = Object.create(null)
            for (var o in t) {
              var r = t[o]
              'string' == typeof r
                ? (i[o] = e.getColor(r))
                : 'function' == typeof r && (i[o] = r(e))
            }
            'function' == typeof n ? n(i) : n.style(i)
          }
          return i(e.getTheme()), e.onThemeChange(i)
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.attachStyler = i),
          (t.attachCheckboxStyler = function(e, t, o) {
            return i(
              t,
              {
                inputActiveOptionBorder:
                  (o && o.inputActiveOptionBorderColor) ||
                  n.inputActiveOptionBorder
              },
              e
            )
          }),
          (t.attachBadgeStyler = function(e, t, o) {
            return i(
              t,
              {
                badgeBackground: (o && o.badgeBackground) || n.badgeBackground,
                badgeForeground: (o && o.badgeForeground) || n.badgeForeground,
                badgeBorder: n.contrastBorder
              },
              e
            )
          }),
          (t.attachInputBoxStyler = function(e, t, o) {
            return i(
              t,
              {
                inputBackground: (o && o.inputBackground) || n.inputBackground,
                inputForeground: (o && o.inputForeground) || n.inputForeground,
                inputBorder: (o && o.inputBorder) || n.inputBorder,
                inputValidationInfoBorder:
                  (o && o.inputValidationInfoBorder) ||
                  n.inputValidationInfoBorder,
                inputValidationInfoBackground:
                  (o && o.inputValidationInfoBackground) ||
                  n.inputValidationInfoBackground,
                inputValidationWarningBorder:
                  (o && o.inputValidationWarningBorder) ||
                  n.inputValidationWarningBorder,
                inputValidationWarningBackground:
                  (o && o.inputValidationWarningBackground) ||
                  n.inputValidationWarningBackground,
                inputValidationErrorBorder:
                  (o && o.inputValidationErrorBorder) ||
                  n.inputValidationErrorBorder,
                inputValidationErrorBackground:
                  (o && o.inputValidationErrorBackground) ||
                  n.inputValidationErrorBackground
              },
              e
            )
          }),
          (t.attachSelectBoxStyler = function(e, t, o) {
            return i(
              t,
              {
                selectBackground:
                  (o && o.selectBackground) || n.selectBackground,
                selectForeground:
                  (o && o.selectForeground) || n.selectForeground,
                selectBorder: (o && o.selectBorder) || n.selectBorder
              },
              e
            )
          }),
          (t.attachFindInputBoxStyler = function(e, t, o) {
            return i(
              t,
              {
                inputBackground: (o && o.inputBackground) || n.inputBackground,
                inputForeground: (o && o.inputForeground) || n.inputForeground,
                inputBorder: (o && o.inputBorder) || n.inputBorder,
                inputActiveOptionBorder:
                  (o && o.inputActiveOptionBorder) || n.inputActiveOptionBorder,
                inputValidationInfoBorder:
                  (o && o.inputValidationInfoBorder) ||
                  n.inputValidationInfoBorder,
                inputValidationInfoBackground:
                  (o && o.inputValidationInfoBackground) ||
                  n.inputValidationInfoBackground,
                inputValidationWarningBorder:
                  (o && o.inputValidationWarningBorder) ||
                  n.inputValidationWarningBorder,
                inputValidationWarningBackground:
                  (o && o.inputValidationWarningBackground) ||
                  n.inputValidationWarningBackground,
                inputValidationErrorBorder:
                  (o && o.inputValidationErrorBorder) ||
                  n.inputValidationErrorBorder,
                inputValidationErrorBackground:
                  (o && o.inputValidationErrorBackground) ||
                  n.inputValidationErrorBackground
              },
              e
            )
          }),
          (t.attachQuickOpenStyler = function(e, t, o) {
            return i(
              t,
              {
                foreground: (o && o.foreground) || n.foreground,
                background: (o && o.background) || n.editorBackground,
                borderColor: (o && o.borderColor) || n.contrastBorder,
                widgetShadow: (o && o.widgetShadow) || n.widgetShadow,
                progressBarBackground:
                  (o && o.progressBarBackground) || n.progressBarBackground,
                pickerGroupForeground:
                  (o && o.pickerGroupForeground) || n.pickerGroupForeground,
                pickerGroupBorder:
                  (o && o.pickerGroupBorder) || n.pickerGroupBorder,
                inputBackground: (o && o.inputBackground) || n.inputBackground,
                inputForeground: (o && o.inputForeground) || n.inputForeground,
                inputBorder: (o && o.inputBorder) || n.inputBorder,
                inputValidationInfoBorder:
                  (o && o.inputValidationInfoBorder) ||
                  n.inputValidationInfoBorder,
                inputValidationInfoBackground:
                  (o && o.inputValidationInfoBackground) ||
                  n.inputValidationInfoBackground,
                inputValidationWarningBorder:
                  (o && o.inputValidationWarningBorder) ||
                  n.inputValidationWarningBorder,
                inputValidationWarningBackground:
                  (o && o.inputValidationWarningBackground) ||
                  n.inputValidationWarningBackground,
                inputValidationErrorBorder:
                  (o && o.inputValidationErrorBorder) ||
                  n.inputValidationErrorBorder,
                inputValidationErrorBackground:
                  (o && o.inputValidationErrorBackground) ||
                  n.inputValidationErrorBackground,
                listFocusBackground:
                  (o && o.listFocusBackground) || n.listFocusBackground,
                listFocusForeground:
                  (o && o.listFocusForeground) || n.listFocusForeground,
                listActiveSelectionBackground:
                  (o && o.listActiveSelectionBackground) ||
                  n.lighten(n.listActiveSelectionBackground, 0.1),
                listActiveSelectionForeground:
                  (o && o.listActiveSelectionForeground) ||
                  n.listActiveSelectionForeground,
                listFocusAndSelectionBackground:
                  (o && o.listFocusAndSelectionBackground) ||
                  n.listActiveSelectionBackground,
                listFocusAndSelectionForeground:
                  (o && o.listFocusAndSelectionForeground) ||
                  n.listActiveSelectionForeground,
                listInactiveSelectionBackground:
                  (o && o.listInactiveSelectionBackground) ||
                  n.listInactiveSelectionBackground,
                listInactiveSelectionForeground:
                  (o && o.listInactiveSelectionForeground) ||
                  n.listInactiveSelectionForeground,
                listHoverBackground:
                  (o && o.listHoverBackground) || n.listHoverBackground,
                listHoverForeground:
                  (o && o.listHoverForeground) || n.listHoverForeground,
                listDropBackground:
                  (o && o.listDropBackground) || n.listDropBackground,
                listFocusOutline:
                  (o && o.listFocusOutline) || n.activeContrastBorder,
                listSelectionOutline:
                  (o && o.listSelectionOutline) || n.activeContrastBorder,
                listHoverOutline:
                  (o && o.listHoverOutline) || n.activeContrastBorder
              },
              e
            )
          }),
          (t.attachListStyler = function(e, t, o) {
            return i(
              t,
              {
                listFocusBackground:
                  (o && o.listFocusBackground) || n.listFocusBackground,
                listFocusForeground:
                  (o && o.listFocusForeground) || n.listFocusForeground,
                listActiveSelectionBackground:
                  (o && o.listActiveSelectionBackground) ||
                  n.lighten(n.listActiveSelectionBackground, 0.1),
                listActiveSelectionForeground:
                  (o && o.listActiveSelectionForeground) ||
                  n.listActiveSelectionForeground,
                listFocusAndSelectionBackground:
                  (o && o.listFocusAndSelectionBackground) ||
                  n.listActiveSelectionBackground,
                listFocusAndSelectionForeground:
                  (o && o.listFocusAndSelectionForeground) ||
                  n.listActiveSelectionForeground,
                listInactiveFocusBackground: o && o.listInactiveFocusBackground,
                listInactiveSelectionBackground:
                  (o && o.listInactiveSelectionBackground) ||
                  n.listInactiveSelectionBackground,
                listInactiveSelectionForeground:
                  (o && o.listInactiveSelectionForeground) ||
                  n.listInactiveSelectionForeground,
                listHoverBackground:
                  (o && o.listHoverBackground) || n.listHoverBackground,
                listHoverForeground:
                  (o && o.listHoverForeground) || n.listHoverForeground,
                listDropBackground:
                  (o && o.listDropBackground) || n.listDropBackground,
                listFocusOutline:
                  (o && o.listFocusOutline) || n.activeContrastBorder,
                listSelectionOutline:
                  (o && o.listSelectionOutline) || n.activeContrastBorder,
                listHoverOutline:
                  (o && o.listHoverOutline) || n.activeContrastBorder,
                listInactiveFocusOutline: o && o.listInactiveFocusOutline
              },
              e
            )
          }),
          (t.attachButtonStyler = function(e, t, o) {
            return i(
              t,
              {
                buttonForeground:
                  (o && o.buttonForeground) || n.buttonForeground,
                buttonBackground:
                  (o && o.buttonBackground) || n.buttonBackground,
                buttonHoverBackground:
                  (o && o.buttonHoverBackground) || n.buttonHoverBackground,
                buttonBorder: n.contrastBorder
              },
              e
            )
          }),
          (t.attachProgressBarStyler = function(e, t, o) {
            return i(
              t,
              {
                progressBarBackground:
                  (o && o.progressBarBackground) || n.progressBarBackground
              },
              e
            )
          }),
          (t.attachStylerCallback = function(e, t, n) {
            return i(e, t, n)
          })
      }),
      define(d[471], h([0, 1, 50, 292, 25, 134]), function(e, t, n, i, o, r) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = (function() {
          function e(e, t, n, i, o, r) {
            ;(this.codeEditor = e),
              (this.themeService = r),
              this.create(t, n, i, o)
          }
          return (
            (e.prototype.create = function(e, t, o, s) {
              ;(this.domNode = n
                .$()
                .div()
                .getHTMLElement()),
                (this.quickOpenWidget = new i.QuickOpenWidget(
                  this.domNode,
                  { onOk: e, onCancel: t, onType: o },
                  {
                    inputPlaceHolder: null,
                    inputAriaLabel: s.inputAriaLabel,
                    keyboardSupport: !0
                  },
                  null
                )),
                (this.styler = r.attachQuickOpenStyler(
                  this.quickOpenWidget,
                  this.themeService
                )),
                this.quickOpenWidget.create(),
                this.codeEditor.addOverlayWidget(this)
            }),
            (e.prototype.setInput = function(e, t) {
              this.quickOpenWidget.setInput(e, t)
            }),
            (e.prototype.getId = function() {
              return e.ID
            }),
            (e.prototype.getDomNode = function() {
              return this.domNode
            }),
            (e.prototype.destroy = function() {
              this.codeEditor.removeOverlayWidget(this),
                this.quickOpenWidget.dispose(),
                this.styler.dispose()
            }),
            (e.prototype.isVisible = function() {
              return this.visible
            }),
            (e.prototype.show = function(e) {
              this.visible = !0
              var t = this.codeEditor.getLayoutInfo()
              t &&
                this.quickOpenWidget.layout(new n.Dimension(t.width, t.height)),
                this.quickOpenWidget.show(e),
                this.codeEditor.layoutOverlayWidget(this)
            }),
            (e.prototype.hide = function() {
              ;(this.visible = !1),
                this.quickOpenWidget.hide(),
                this.codeEditor.layoutOverlayWidget(this)
            }),
            (e.prototype.getPosition = function() {
              return this.visible
                ? { preference: o.OverlayWidgetPositionPreference.TOP_CENTER }
                : null
            }),
            e
          )
        })()
        ;(s.ID = 'editor.contrib.quickOpenEditorWidget'),
          (t.QuickOpenEditorWidget = s)
      }),
      define(d[14], h([0, 1, 16, 42, 11]), function(e, t, n, i, o) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.IThemeService = n.createDecorator('themeService')),
          (t.DARK = 'dark'),
          (t.LIGHT = 'light'),
          (t.HIGH_CONTRAST = 'hc'),
          (t.getThemeTypeSelector = function(e) {
            switch (e) {
              case t.DARK:
                return 'vs-dark'
              case t.HIGH_CONTRAST:
                return 'hc-black'
              default:
                return 'vs'
            }
          }),
          (t.Extensions = { ThemingContribution: 'base.contributions.theming' })
        var r = new ((function() {
          function e() {
            ;(this.themingParticipants = []),
              (this.themingParticipants = []),
              (this.onThemingParticipantAddedEmitter = new o.Emitter())
          }
          return (
            (e.prototype.onThemeChange = function(e) {
              var t = this
              return (
                this.themingParticipants.push(e),
                this.onThemingParticipantAddedEmitter.fire(e),
                {
                  dispose: function() {
                    var n = t.themingParticipants.indexOf(e)
                    t.themingParticipants.splice(n, 1)
                  }
                }
              )
            }),
            Object.defineProperty(e.prototype, 'onThemingParticipantAdded', {
              get: function() {
                return this.onThemingParticipantAddedEmitter.event
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.getThemingParticipants = function() {
              return this.themingParticipants
            }),
            e
          )
        })())()
        i.Registry.add(t.Extensions.ThemingContribution, r),
          (t.registerThemingParticipant = function(e) {
            return r.onThemeChange(e)
          }),
          (t.cssRule = function(e) {
            for (var t = [], n = 1; n < arguments.length; n++)
              t[n - 1] = arguments[n]
            for (var i = '', o = 0; o < t.length; o++) {
              i += e[o]
              var r = t[o]
              i += null === r ? 'transparent' : r.toString()
            }
            return (i += e[e.length - 1])
          })
      }),
      define(d[473], h([0, 1, 9, 24, 6, 21, 209, 3, 14]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var l = (function(e) {
          function t(t, n) {
            void 0 === n && (n = o.createStyleSheet())
            var i = e.call(this) || this
            return (
              (i._styleSheet = n),
              (i._decorationOptionProviders = Object.create(null)),
              (i._themeService = t),
              i
            )
          }
          return (
            f(t, e),
            (t.prototype.registerDecorationType = function(e, t, n) {
              var i = this._decorationOptionProviders[e]
              if (!i) {
                var o = {
                  styleSheet: this._styleSheet,
                  key: e,
                  parentTypeKey: n,
                  options: t
                }
                ;(i = n
                  ? new d(this._themeService, o)
                  : new h(this._themeService, o)),
                  (this._decorationOptionProviders[e] = i)
              }
              i.refCount++
            }),
            (t.prototype.removeDecorationType = function(e) {
              var t = this._decorationOptionProviders[e]
              t &&
                --t.refCount <= 0 &&
                (delete this._decorationOptionProviders[e],
                t.dispose(),
                this.listCodeEditors().forEach(function(t) {
                  return t.removeDecorations(e)
                }))
            }),
            (t.prototype.resolveDecorationOptions = function(e, t) {
              var n = this._decorationOptionProviders[e]
              if (!n) throw new Error('Unknown decoration type key: ' + e)
              return n.getOptions(this, t)
            }),
            t
          )
        })(s.AbstractCodeEditorService)
        ;(l = v([y(0, u.IThemeService)], l)), (t.CodeEditorServiceImpl = l)
        var c,
          d = (function() {
            function e(e, t) {
              ;(this._parentTypeKey = t.parentTypeKey),
                (this.refCount = 0),
                (this._beforeContentRules = new g(3, t, e)),
                (this._afterContentRules = new g(4, t, e))
            }
            return (
              (e.prototype.getOptions = function(e, t) {
                var n = e.resolveDecorationOptions(this._parentTypeKey, !0)
                return (
                  this._beforeContentRules &&
                    (n.beforeContentClassName = this._beforeContentRules.className),
                  this._afterContentRules &&
                    (n.afterContentClassName = this._afterContentRules.className),
                  n
                )
              }),
              (e.prototype.dispose = function() {
                this._beforeContentRules &&
                  (this._beforeContentRules.dispose(),
                  (this._beforeContentRules = null)),
                  this._afterContentRules &&
                    (this._afterContentRules.dispose(),
                    (this._afterContentRules = null))
              }),
              e
            )
          })(),
          h = (function() {
            function e(e, t) {
              var n = this
              ;(this.refCount = 0), (this._disposables = [])
              var i = function(i) {
                var o = new g(i, t, e)
                if (o.hasContent) return n._disposables.push(o), o.className
              }
              ;(this.className = i(0)),
                (this.inlineClassName = i(1)),
                (this.beforeContentClassName = i(3)),
                (this.afterContentClassName = i(4)),
                (this.glyphMarginClassName = i(2))
              var o = t.options
              ;(this.isWholeLine = Boolean(o.isWholeLine)),
                (this.stickiness = o.rangeBehavior)
              var s =
                  (o.light && o.light.overviewRulerColor) ||
                  o.overviewRulerColor,
                a =
                  (o.dark && o.dark.overviewRulerColor) || o.overviewRulerColor
              ;(void 0 === s && void 0 === a) ||
                (this.overviewRuler = {
                  color: s || a,
                  darkColor: a || s,
                  position: o.overviewRulerLane || r.OverviewRulerLane.Center
                })
            }
            return (
              (e.prototype.getOptions = function(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
              }),
              (e.prototype.dispose = function() {
                this._disposables = a.dispose(this._disposables)
              }),
              e
            )
          })(),
          p = {
            color: 'color:{0} !important;',
            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};',
            textDecoration: 'text-decoration:{0};',
            cursor: 'cursor:{0};',
            letterSpacing: 'letter-spacing:{0};',
            gutterIconPath: "background:url('{0}') center center no-repeat;",
            gutterIconSize: 'background-size:{0};',
            contentText: "content:'{0}';",
            contentIconPath: "content:url('{0}');",
            margin: 'margin:{0};',
            width: 'width:{0};',
            height: 'height:{0};'
          },
          g = (function() {
            function e(e, t, n) {
              var i = this
              ;(this._theme = n.getTheme()),
                (this._ruleType = e),
                (this._providerArgs = t),
                (this._usesThemeColors = !1),
                (this._hasContent = !1)
              var o = m.getClassName(this._providerArgs.key, e)
              this._providerArgs.parentTypeKey &&
                (o =
                  o +
                  ' ' +
                  m.getClassName(this._providerArgs.parentTypeKey, e)),
                (this._className = o),
                (this._unThemedSelector = m.getSelector(
                  this._providerArgs.key,
                  this._providerArgs.parentTypeKey,
                  e
                )),
                this._buildCSS(),
                this._usesThemeColors &&
                  (this._themeListener = n.onThemeChange(function(e) {
                    ;(i._theme = n.getTheme()), i._removeCSS(), i._buildCSS()
                  }))
            }
            return (
              (e.prototype.dispose = function() {
                this._hasContent &&
                  (this._removeCSS(), (this._hasContent = !1)),
                  this._themeListener &&
                    (this._themeListener.dispose(),
                    (this._themeListener = null))
              }),
              Object.defineProperty(e.prototype, 'hasContent', {
                get: function() {
                  return this._hasContent
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(e.prototype, 'className', {
                get: function() {
                  return this._className
                },
                enumerable: !0,
                configurable: !0
              }),
              (e.prototype._buildCSS = function() {
                var e,
                  t,
                  n,
                  i = this._providerArgs.options
                switch (this._ruleType) {
                  case 0:
                    ;(e = this.getCSSTextForModelDecorationClassName(i)),
                      (t = this.getCSSTextForModelDecorationClassName(i.light)),
                      (n = this.getCSSTextForModelDecorationClassName(i.dark))
                    break
                  case 1:
                    ;(e = this.getCSSTextForModelDecorationInlineClassName(i)),
                      (t = this.getCSSTextForModelDecorationInlineClassName(
                        i.light
                      )),
                      (n = this.getCSSTextForModelDecorationInlineClassName(
                        i.dark
                      ))
                    break
                  case 2:
                    ;(e = this.getCSSTextForModelDecorationGlyphMarginClassName(
                      i
                    )),
                      (t = this.getCSSTextForModelDecorationGlyphMarginClassName(
                        i.light
                      )),
                      (n = this.getCSSTextForModelDecorationGlyphMarginClassName(
                        i.dark
                      ))
                    break
                  case 3:
                    ;(e = this.getCSSTextForModelDecorationContentClassName(
                      i.before
                    )),
                      (t = this.getCSSTextForModelDecorationContentClassName(
                        i.light && i.light.before
                      )),
                      (n = this.getCSSTextForModelDecorationContentClassName(
                        i.dark && i.dark.before
                      ))
                    break
                  case 4:
                    ;(e = this.getCSSTextForModelDecorationContentClassName(
                      i.after
                    )),
                      (t = this.getCSSTextForModelDecorationContentClassName(
                        i.light && i.light.after
                      )),
                      (n = this.getCSSTextForModelDecorationContentClassName(
                        i.dark && i.dark.after
                      ))
                    break
                  default:
                    throw new Error('Unknown rule type: ' + this._ruleType)
                }
                var o = this._providerArgs.styleSheet.sheet,
                  r = !1
                e.length > 0 &&
                  (o.insertRule(this._unThemedSelector + ' {' + e + '}', 0),
                  (r = !0)),
                  t.length > 0 &&
                    (o.insertRule(
                      '.vs' + this._unThemedSelector + ' {' + t + '}',
                      0
                    ),
                    (r = !0)),
                  n.length > 0 &&
                    (o.insertRule(
                      '.vs-dark' +
                        this._unThemedSelector +
                        ', .hc-black' +
                        this._unThemedSelector +
                        ' {' +
                        n +
                        '}',
                      0
                    ),
                    (r = !0)),
                  (this._hasContent = r)
              }),
              (e.prototype._removeCSS = function() {
                o.removeCSSRulesContainingSelector(
                  this._unThemedSelector,
                  this._providerArgs.styleSheet
                )
              }),
              (e.prototype.getCSSTextForModelDecorationClassName = function(e) {
                if (!e) return ''
                var t = []
                return (
                  this.collectCSSText(e, ['backgroundColor'], t),
                  this.collectCSSText(
                    e,
                    ['outline', 'outlineColor', 'outlineStyle', 'outlineWidth'],
                    t
                  ),
                  this.collectBorderSettingsCSSText(e, t),
                  t.join('')
                )
              }),
              (e.prototype.getCSSTextForModelDecorationInlineClassName = function(
                e
              ) {
                if (!e) return ''
                var t = []
                return (
                  this.collectCSSText(
                    e,
                    ['textDecoration', 'cursor', 'color', 'letterSpacing'],
                    t
                  ),
                  t.join('')
                )
              }),
              (e.prototype.getCSSTextForModelDecorationContentClassName = function(
                e
              ) {
                if (!e) return ''
                var t = []
                if (void 0 !== e) {
                  if (
                    (this.collectBorderSettingsCSSText(e, t),
                    'string' == typeof e.contentIconPath
                      ? t.push(
                          n.format(
                            p.contentIconPath,
                            i.default
                              .file(e.contentIconPath)
                              .toString()
                              .replace(/'/g, '%27')
                          )
                        )
                      : e.contentIconPath instanceof i.default &&
                        t.push(
                          n.format(
                            p.contentIconPath,
                            e.contentIconPath.toString(!0).replace(/'/g, '%27')
                          )
                        ),
                    'string' == typeof e.contentText)
                  ) {
                    var o = e.contentText
                      .match(/^.*$/m)[0]
                      .replace(/['\\]/g, '\\$&')
                    t.push(n.format(p.contentText, o))
                  }
                  this.collectCSSText(
                    e,
                    ['textDecoration', 'color', 'backgroundColor', 'margin'],
                    t
                  ),
                    this.collectCSSText(e, ['width', 'height'], t) &&
                      t.push('display:inline-block;')
                }
                return t.join('')
              }),
              (e.prototype.getCSSTextForModelDecorationGlyphMarginClassName = function(
                e
              ) {
                if (!e) return ''
                var t = []
                return (
                  void 0 !== e.gutterIconPath &&
                    ('string' == typeof e.gutterIconPath
                      ? t.push(
                          n.format(
                            p.gutterIconPath,
                            i.default.file(e.gutterIconPath).toString()
                          )
                        )
                      : t.push(
                          n.format(
                            p.gutterIconPath,
                            e.gutterIconPath.toString(!0).replace(/'/g, '%27')
                          )
                        ),
                    void 0 !== e.gutterIconSize &&
                      t.push(n.format(p.gutterIconSize, e.gutterIconSize))),
                  t.join('')
                )
              }),
              (e.prototype.collectBorderSettingsCSSText = function(e, t) {
                return (
                  !!this.collectCSSText(
                    e,
                    [
                      'border',
                      'borderColor',
                      'borderRadius',
                      'borderSpacing',
                      'borderStyle',
                      'borderWidth'
                    ],
                    t
                  ) && (t.push(n.format('box-sizing: border-box;')), !0)
                )
              }),
              (e.prototype.collectCSSText = function(e, t, i) {
                for (var o = i.length, r = 0, s = t; r < s.length; r++) {
                  var a = s[r],
                    u = this.resolveValue(e[a])
                  'string' == typeof u && i.push(n.format(p[a], u))
                }
                return i.length !== o
              }),
              (e.prototype.resolveValue = function(e) {
                if (r.isThemeColor(e)) {
                  this._usesThemeColors = !0
                  var t = this._theme.getColor(e.id)
                  return t ? t.toString() : 'transparent'
                }
                return e
              }),
              e
            )
          })()
        !(function(e) {
          ;(e[(e.ClassName = 0)] = 'ClassName'),
            (e[(e.InlineClassName = 1)] = 'InlineClassName'),
            (e[(e.GlyphMarginClassName = 2)] = 'GlyphMarginClassName'),
            (e[(e.BeforeContentClassName = 3)] = 'BeforeContentClassName'),
            (e[(e.AfterContentClassName = 4)] = 'AfterContentClassName')
        })(c || (c = {}))
        var m = (function() {
          function e() {}
          return (
            (e.getClassName = function(e, t) {
              return 'ced-' + e + '-' + t
            }),
            (e.getSelector = function(e, t, n) {
              var i = '.monaco-editor .' + this.getClassName(e, n)
              return (
                t && (i = i + '.' + this.getClassName(t, n)),
                3 === n ? (i += '::before') : 4 === n && (i += '::after'),
                i
              )
            }),
            e
          )
        })()
      }),
      define(d[474], h([0, 1, 6, 61, 35, 26, 14]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = (function(e) {
          function t(t, a, u, l) {
            var c = e.call(this, t) || this,
              d = c._context.configuration.editor.viewInfo.scrollbar,
              h = {
                listenOnDomNode: u.domNode,
                className:
                  'editor-scrollable ' + s.getThemeTypeSelector(t.theme.type),
                useShadows: !1,
                lazyRender: !0,
                vertical: d.vertical,
                horizontal: d.horizontal,
                verticalHasArrows: d.verticalHasArrows,
                horizontalHasArrows: d.horizontalHasArrows,
                verticalScrollbarSize: d.verticalScrollbarSize,
                verticalSliderSize: d.verticalSliderSize,
                horizontalScrollbarSize: d.horizontalScrollbarSize,
                horizontalSliderSize: d.horizontalSliderSize,
                handleMouseWheel: d.handleMouseWheel,
                arrowSize: d.arrowSize,
                mouseWheelScrollSensitivity: d.mouseWheelScrollSensitivity
              }
            ;(c.scrollbar = c._register(
              new i.ScrollableElement(
                a.domNode,
                h,
                c._context.viewLayout.scrollable
              )
            )),
              o.PartFingerprints.write(c.scrollbar.getDomNode(), 5),
              (c.scrollbarDomNode = r.createFastDomNode(
                c.scrollbar.getDomNode()
              )),
              c.scrollbarDomNode.setPosition('absolute'),
              c._setLayout()
            var p = function(e, t, n) {
              var i = {}
              if (t) {
                var o = e.scrollTop
                o &&
                  ((i.scrollTop = c._context.viewLayout.getScrollTop() + o),
                  (e.scrollTop = 0))
              }
              if (n) {
                var r = e.scrollLeft
                r &&
                  ((i.scrollLeft = c._context.viewLayout.getScrollLeft() + r),
                  (e.scrollLeft = 0))
              }
              c._context.viewLayout.setScrollPosition(i)
            }
            return (
              c._register(
                n.addDisposableListener(u.domNode, 'scroll', function(e) {
                  return p(u.domNode, !0, !0)
                })
              ),
              c._register(
                n.addDisposableListener(a.domNode, 'scroll', function(e) {
                  return p(a.domNode, !0, !1)
                })
              ),
              c._register(
                n.addDisposableListener(l.domNode, 'scroll', function(e) {
                  return p(l.domNode, !0, !1)
                })
              ),
              c
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              e.prototype.dispose.call(this)
            }),
            (t.prototype._setLayout = function() {
              var e = this._context.configuration.editor.layoutInfo
              this.scrollbarDomNode.setLeft(e.contentLeft),
                this.scrollbarDomNode.setWidth(e.contentWidth + e.minimapWidth),
                this.scrollbarDomNode.setHeight(e.contentHeight)
            }),
            (t.prototype.getOverviewRulerLayoutInfo = function() {
              return this.scrollbar.getOverviewRulerLayoutInfo()
            }),
            (t.prototype.getDomNode = function() {
              return this.scrollbarDomNode
            }),
            (t.prototype.delegateVerticalScrollbarMouseDown = function(e) {
              this.scrollbar.delegateVerticalScrollbarMouseDown(e)
            }),
            (t.prototype.delegateSliderMouseDown = function(e, t) {
              this.scrollbar.delegateSliderMouseDown(e, t)
            }),
            (t.prototype.onConfigurationChanged = function(e) {
              if (e.viewInfo) {
                var t = this._context.configuration.editor,
                  n = {
                    handleMouseWheel: t.viewInfo.scrollbar.handleMouseWheel,
                    mouseWheelScrollSensitivity:
                      t.viewInfo.scrollbar.mouseWheelScrollSensitivity
                  }
                this.scrollbar.updateOptions(n)
              }
              return e.layoutInfo && this._setLayout(), !0
            }),
            (t.prototype.onScrollChanged = function(e) {
              return !0
            }),
            (t.prototype.onThemeChanged = function(e) {
              return (
                this.scrollbar.updateClassName(
                  'editor-scrollable ' +
                    s.getThemeTypeSelector(this._context.theme.type)
                ),
                !0
              )
            }),
            (t.prototype.prepareRender = function(e) {}),
            (t.prototype.render = function(e) {
              this.scrollbar.renderNow()
            }),
            t
          )
        })(o.ViewPart)
        t.EditorScrollbar = a
      }),
      define(d[157], h([0, 1, 30, 15, 9, 26, 126, 109, 213, 80, 14]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c
      ) {
        'use strict'
        function d(e, t, n, i, o) {
          return new C(e, t, n, i, o)
        }
        function h(e, t, n, i, o) {
          return new b(e, t, n, i, o)
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var p = !!i.isNative || !(i.isLinux || n.isFirefox || n.isSafari),
          g = n.isEdgeOrIE,
          m = (function() {
            function e(e, t) {
              ;(this._domNode = e),
                (this._clientRectDeltaLeft = 0),
                (this._clientRectDeltaLeftRead = !1),
                (this.endNode = t)
            }
            return (
              Object.defineProperty(e.prototype, 'clientRectDeltaLeft', {
                get: function() {
                  return (
                    this._clientRectDeltaLeftRead ||
                      ((this._clientRectDeltaLeftRead = !0),
                      (this._clientRectDeltaLeft = this._domNode.getBoundingClientRect().left)),
                    this._clientRectDeltaLeft
                  )
                },
                enumerable: !0,
                configurable: !0
              }),
              e
            )
          })()
        t.DomReadingContext = m
        var v = (function() {
          function e(e, t) {
            ;(this.themeType = t),
              (this.renderWhitespace = e.editor.viewInfo.renderWhitespace),
              (this.renderControlCharacters =
                e.editor.viewInfo.renderControlCharacters),
              (this.spaceWidth = e.editor.fontInfo.spaceWidth),
              (this.useMonospaceOptimizations =
                e.editor.fontInfo.isMonospace &&
                !e.editor.viewInfo.disableMonospaceOptimizations),
              (this.lineHeight = e.editor.lineHeight),
              (this.stopRenderingLineAfter =
                e.editor.viewInfo.stopRenderingLineAfter),
              (this.fontLigatures = e.editor.viewInfo.fontLigatures)
          }
          return (
            (e.prototype.equals = function(e) {
              return (
                this.themeType === e.themeType &&
                this.renderWhitespace === e.renderWhitespace &&
                this.renderControlCharacters === e.renderControlCharacters &&
                this.spaceWidth === e.spaceWidth &&
                this.useMonospaceOptimizations ===
                  e.useMonospaceOptimizations &&
                this.lineHeight === e.lineHeight &&
                this.stopRenderingLineAfter === e.stopRenderingLineAfter &&
                this.fontLigatures === e.fontLigatures
              )
            }),
            e
          )
        })()
        t.ViewLineOptions = v
        var _ = (function() {
          function e(e) {
            ;(this._options = e),
              (this._isMaybeInvalid = !0),
              (this._renderedViewLine = null)
          }
          return (
            (e.prototype.getDomNode = function() {
              return this._renderedViewLine && this._renderedViewLine.domNode
                ? this._renderedViewLine.domNode.domNode
                : null
            }),
            (e.prototype.setDomNode = function(e) {
              if (!this._renderedViewLine)
                throw new Error(
                  'I have no rendered view line to set the dom node to...'
                )
              this._renderedViewLine.domNode = r.createFastDomNode(e)
            }),
            (e.prototype.onContentChanged = function() {
              this._isMaybeInvalid = !0
            }),
            (e.prototype.onTokensChanged = function() {
              this._isMaybeInvalid = !0
            }),
            (e.prototype.onDecorationsChanged = function() {
              this._isMaybeInvalid = !0
            }),
            (e.prototype.onOptionsChanged = function(e) {
              ;(this._isMaybeInvalid = !0), (this._options = e)
            }),
            (e.prototype.onSelectionChanged = function() {
              return (
                !(!g && this._options.themeType !== c.HIGH_CONTRAST) &&
                ((this._isMaybeInvalid = !0), !0)
              )
            }),
            (e.prototype.renderLine = function(t, n, i) {
              if (!1 === this._isMaybeInvalid) return null
              this._isMaybeInvalid = !1
              var r = i.getViewLineRenderingData(t),
                u = this._options,
                l = s.LineDecoration.filter(
                  r.inlineDecorations,
                  t,
                  r.minColumn,
                  r.maxColumn
                )
              if (g || u.themeType === c.HIGH_CONTRAST)
                for (var d = i.selections, h = 0, f = d.length; h < f; h++) {
                  var m = d[h]
                  if (!(m.endLineNumber < t || m.startLineNumber > t)) {
                    var v =
                        m.startLineNumber === t ? m.startColumn : r.minColumn,
                      _ = m.endLineNumber === t ? m.endColumn : r.maxColumn
                    v < _ &&
                      l.push(
                        new s.LineDecoration(v, _, 'inline-selected-text', !1)
                      )
                  }
                }
              var b = new a.RenderLineInput(
                u.useMonospaceOptimizations,
                r.content,
                r.mightContainRTL,
                r.minColumn - 1,
                r.tokens,
                l,
                r.tabSize,
                u.spaceWidth,
                u.stopRenderingLineAfter,
                u.renderWhitespace,
                u.renderControlCharacters,
                u.fontLigatures
              )
              if (
                this._renderedViewLine &&
                this._renderedViewLine.input.equals(b)
              )
                return null
              var C = a.renderViewLine(b),
                S = null
              if (
                p &&
                u.useMonospaceOptimizations &&
                !C.containsForeignElements
              ) {
                var E = !0
                r.mightContainNonBasicASCII && (E = o.isBasicASCII(r.content)),
                  E &&
                    r.content.length < 1e3 &&
                    (S = new y(
                      this._renderedViewLine
                        ? this._renderedViewLine.domNode
                        : null,
                      b,
                      C.characterMapping
                    ))
              }
              return (
                S ||
                  (S = w(
                    this._renderedViewLine
                      ? this._renderedViewLine.domNode
                      : null,
                    b,
                    C.characterMapping,
                    C.containsRTL,
                    C.containsForeignElements
                  )),
                (this._renderedViewLine = S),
                '<div style="top:' +
                  n +
                  'px;height:' +
                  this._options.lineHeight +
                  'px;" class="' +
                  e.CLASS_NAME +
                  '">' +
                  C.html +
                  '</div>'
              )
            }),
            (e.prototype.layoutLine = function(e, t) {
              this._renderedViewLine &&
                this._renderedViewLine.domNode &&
                (this._renderedViewLine.domNode.setTop(t),
                this._renderedViewLine.domNode.setHeight(
                  this._options.lineHeight
                ))
            }),
            (e.prototype.getWidth = function() {
              return this._renderedViewLine
                ? this._renderedViewLine.getWidth()
                : 0
            }),
            (e.prototype.getVisibleRangesForRange = function(e, t, n) {
              return (
                (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)
                )),
                this._renderedViewLine.getVisibleRangesForRange(e, t, n)
              )
            }),
            (e.prototype.getColumnOfNodeOffset = function(e, t, n) {
              return this._renderedViewLine.getColumnOfNodeOffset(e, t, n)
            }),
            e
          )
        })()
        ;(_.CLASS_NAME = 'view-line'), (t.ViewLine = _)
        var y = (function() {
            function e(e, t, n) {
              ;(this.domNode = e),
                (this.input = t),
                (this._characterMapping = n),
                (this._charWidth = t.spaceWidth),
                (this._charOffset = null)
            }
            return (
              (e._createCharOffset = function(e) {
                for (
                  var t = e.getPartLengths(),
                    n = e.length,
                    i = new Uint32Array(n),
                    o = 0,
                    r = 0,
                    s = 0;
                  s < n;
                  s++
                ) {
                  for (
                    var u = e.charOffsetToPartData(s),
                      l = a.CharacterMapping.getPartIndex(u),
                      c = a.CharacterMapping.getCharIndex(u);
                    o < l;

                  )
                    (r += t[o]), o++
                  i[s] = r + c
                }
                return i
              }),
              (e.prototype._getOrCreateCharOffset = function() {
                return (
                  null === this._charOffset &&
                    (this._charOffset = e._createCharOffset(
                      this._characterMapping
                    )),
                  this._charOffset
                )
              }),
              (e.prototype.getWidth = function() {
                var e = this._getOrCreateCharOffset()
                return this._getCharPosition(e.length)
              }),
              (e.prototype.getVisibleRangesForRange = function(e, t, n) {
                ;(e |= 0), (t |= 0)
                var i = 0 | this.input.stopRenderingLineAfter
                if (-1 !== i && e > i && t > i) return null
                ;-1 !== i && e > i && (e = i), -1 !== i && t > i && (t = i)
                var o = this._getCharPosition(e),
                  r = this._getCharPosition(t)
                return [new l.HorizontalRange(o, r - o)]
              }),
              (e.prototype._getCharPosition = function(e) {
                var t = this._getOrCreateCharOffset()
                return 0 === t.length
                  ? 0
                  : Math.round(this._charWidth * t[e - 1])
              }),
              (e.prototype.getColumnOfNodeOffset = function(e, t, n) {
                for (var i = t.textContent.length, o = -1; t; )
                  (t = t.previousSibling), o++
                return this._characterMapping.partDataToCharOffset(o, i, n) + 1
              }),
              e
            )
          })(),
          b = (function() {
            function e(e, t, n, i, o) {
              if (
                ((this.domNode = e),
                (this.input = t),
                (this._characterMapping = n),
                (this._isWhitespaceOnly = /^\s*$/.test(t.lineContent)),
                (this._containsForeignElements = o),
                (this._cachedWidth = -1),
                (this._pixelOffsetCache = null),
                !i)
              ) {
                this._pixelOffsetCache = new Int32Array(
                  this._characterMapping.length + 1
                )
                for (var r = 0, s = this._characterMapping.length; r <= s; r++)
                  this._pixelOffsetCache[r] = -1
              }
            }
            return (
              (e.prototype._getReadingTarget = function() {
                return this.domNode.domNode.firstChild
              }),
              (e.prototype.getWidth = function() {
                return (
                  -1 === this._cachedWidth &&
                    (this._cachedWidth = this._getReadingTarget().offsetWidth),
                  this._cachedWidth
                )
              }),
              (e.prototype.getVisibleRangesForRange = function(e, t, n) {
                ;(e |= 0), (t |= 0)
                var i = 0 | this.input.stopRenderingLineAfter
                if (-1 !== i && e > i && t > i) return null
                if (
                  (-1 !== i && e > i && (e = i),
                  -1 !== i && t > i && (t = i),
                  null !== this._pixelOffsetCache)
                ) {
                  var o = this._readPixelOffset(e, n)
                  if (-1 === o) return null
                  var r = this._readPixelOffset(t, n)
                  return -1 === r ? null : [new l.HorizontalRange(o, r - o)]
                }
                return this._readVisibleRangesForRange(e, t, n)
              }),
              (e.prototype._readVisibleRangesForRange = function(e, t, n) {
                if (e === t) {
                  var i = this._readPixelOffset(e, n)
                  return -1 === i ? null : [new l.HorizontalRange(i, 0)]
                }
                return this._readRawVisibleRangesForRange(e, t, n)
              }),
              (e.prototype._readPixelOffset = function(e, t) {
                if (0 === this._characterMapping.length) return 0
                if (null !== this._pixelOffsetCache) {
                  var n = this._pixelOffsetCache[e]
                  if (-1 !== n) return n
                  var i = this._actualReadPixelOffset(e, t)
                  return (this._pixelOffsetCache[e] = i), i
                }
                return this._actualReadPixelOffset(e, t)
              }),
              (e.prototype._actualReadPixelOffset = function(e, t) {
                if (
                  e === this._characterMapping.length &&
                  this._isWhitespaceOnly &&
                  !this._containsForeignElements
                )
                  return this.getWidth()
                var n = this._characterMapping.charOffsetToPartData(e - 1),
                  i = a.CharacterMapping.getPartIndex(n),
                  o = a.CharacterMapping.getCharIndex(n),
                  r = u.RangeUtil.readHorizontalRanges(
                    this._getReadingTarget(),
                    i,
                    o,
                    i,
                    o,
                    t.clientRectDeltaLeft,
                    t.endNode
                  )
                return r && 0 !== r.length ? r[0].left : -1
              }),
              (e.prototype._readRawVisibleRangesForRange = function(e, t, n) {
                if (1 === e && t === this._characterMapping.length)
                  return [new l.HorizontalRange(0, this.getWidth())]
                var i = this._characterMapping.charOffsetToPartData(e - 1),
                  o = a.CharacterMapping.getPartIndex(i),
                  r = a.CharacterMapping.getCharIndex(i),
                  s = this._characterMapping.charOffsetToPartData(t - 1),
                  c = a.CharacterMapping.getPartIndex(s),
                  d = a.CharacterMapping.getCharIndex(s)
                return u.RangeUtil.readHorizontalRanges(
                  this._getReadingTarget(),
                  o,
                  r,
                  c,
                  d,
                  n.clientRectDeltaLeft,
                  n.endNode
                )
              }),
              (e.prototype.getColumnOfNodeOffset = function(e, t, n) {
                for (var i = t.textContent.length, o = -1; t; )
                  (t = t.previousSibling), o++
                return this._characterMapping.partDataToCharOffset(o, i, n) + 1
              }),
              e
            )
          })(),
          C = (function(e) {
            function t() {
              return (null !== e && e.apply(this, arguments)) || this
            }
            return (
              f(t, e),
              (t.prototype._readVisibleRangesForRange = function(t, n, i) {
                var o = e.prototype._readVisibleRangesForRange.call(
                  this,
                  t,
                  n,
                  i
                )
                if (
                  !o ||
                  0 === o.length ||
                  t === n ||
                  (1 === t && n === this._characterMapping.length)
                )
                  return o
                var r = this._readPixelOffset(n - 1, i),
                  s = this._readPixelOffset(n, i)
                if (-1 !== r && -1 !== s) {
                  var a = r <= s,
                    u = o[o.length - 1]
                  a && u.left < s && (u.width = s - u.left)
                }
                return o
              }),
              t
            )
          })(b),
          w = n.isWebKit ? d : h
      }),
      define(d[155], h([0, 1, 12, 2, 25, 113, 30, 35, 157]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var l = (function() {
          function e(e, t, n, o, r, s) {
            void 0 === n && (n = 0),
              void 0 === o && (o = null),
              void 0 === r && (r = null),
              void 0 === s && (s = null),
              (this.element = e),
              (this.type = t),
              (this.mouseColumn = n),
              (this.position = o),
              !r &&
                o &&
                (r = new i.Range(
                  o.lineNumber,
                  o.column,
                  o.lineNumber,
                  o.column
                )),
              (this.range = r),
              (this.detail = s)
          }
          return (
            (e._typeToString = function(e) {
              return e === o.MouseTargetType.TEXTAREA
                ? 'TEXTAREA'
                : e === o.MouseTargetType.GUTTER_GLYPH_MARGIN
                  ? 'GUTTER_GLYPH_MARGIN'
                  : e === o.MouseTargetType.GUTTER_LINE_NUMBERS
                    ? 'GUTTER_LINE_NUMBERS'
                    : e === o.MouseTargetType.GUTTER_LINE_DECORATIONS
                      ? 'GUTTER_LINE_DECORATIONS'
                      : e === o.MouseTargetType.GUTTER_VIEW_ZONE
                        ? 'GUTTER_VIEW_ZONE'
                        : e === o.MouseTargetType.CONTENT_TEXT
                          ? 'CONTENT_TEXT'
                          : e === o.MouseTargetType.CONTENT_EMPTY
                            ? 'CONTENT_EMPTY'
                            : e === o.MouseTargetType.CONTENT_VIEW_ZONE
                              ? 'CONTENT_VIEW_ZONE'
                              : e === o.MouseTargetType.CONTENT_WIDGET
                                ? 'CONTENT_WIDGET'
                                : e === o.MouseTargetType.OVERVIEW_RULER
                                  ? 'OVERVIEW_RULER'
                                  : e === o.MouseTargetType.SCROLLBAR
                                    ? 'SCROLLBAR'
                                    : e === o.MouseTargetType.OVERLAY_WIDGET
                                      ? 'OVERLAY_WIDGET'
                                      : 'UNKNOWN'
            }),
            (e.toString = function(e) {
              return (
                this._typeToString(e.type) +
                ': ' +
                e.position +
                ' - ' +
                e.range +
                ' - ' +
                e.detail
              )
            }),
            (e.prototype.toString = function() {
              return e.toString(this)
            }),
            e
          )
        })()
        t.MouseTarget = l
        var c = (function() {
            function e() {}
            return (
              (e.isTextArea = function(e) {
                return 2 === e.length && 3 === e[0] && 6 === e[1]
              }),
              (e.isChildOfViewLines = function(e) {
                return e.length >= 4 && 3 === e[0] && 7 === e[3]
              }),
              (e.isChildOfScrollableElement = function(e) {
                return e.length >= 2 && 3 === e[0] && 5 === e[1]
              }),
              (e.isChildOfMinimap = function(e) {
                return e.length >= 2 && 3 === e[0] && 8 === e[1]
              }),
              (e.isChildOfContentWidgets = function(e) {
                return e.length >= 4 && 3 === e[0] && 1 === e[3]
              }),
              (e.isChildOfOverflowingContentWidgets = function(e) {
                return e.length >= 1 && 2 === e[0]
              }),
              (e.isChildOfOverlayWidgets = function(e) {
                return e.length >= 2 && 3 === e[0] && 4 === e[1]
              }),
              e
            )
          })(),
          d = (function() {
            function e(e, t, n) {
              ;(this.model = e.model),
                (this.layoutInfo = e.configuration.editor.layoutInfo),
                (this.viewDomNode = t.viewDomNode),
                (this.lineHeight = e.configuration.editor.lineHeight),
                (this.typicalHalfwidthCharacterWidth =
                  e.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth),
                (this.lastViewCursorsRenderData = n),
                (this._context = e),
                (this._viewHelper = t)
            }
            return (
              (e.prototype.getZoneAtCoord = function(e) {
                var t = this._context.viewLayout.getWhitespaceAtVerticalOffset(
                  e
                )
                if (t) {
                  var i = t.verticalOffset + t.height / 2,
                    o = this._context.model.getLineCount(),
                    r = null,
                    s = void 0,
                    a = null
                  return (
                    t.afterLineNumber !== o &&
                      (a = new n.Position(t.afterLineNumber + 1, 1)),
                    t.afterLineNumber > 0 &&
                      (r = new n.Position(
                        t.afterLineNumber,
                        this._context.model.getLineMaxColumn(t.afterLineNumber)
                      )),
                    (s = null === a ? r : null === r ? a : e < i ? r : a),
                    {
                      viewZoneId: t.id,
                      afterLineNumber: t.afterLineNumber,
                      positionBefore: r,
                      positionAfter: a,
                      position: s
                    }
                  )
                }
                return null
              }),
              (e.prototype.getFullLineRangeAtCoord = function(e) {
                if (this._context.viewLayout.isAfterLines(e)) {
                  var t = this._context.model.getLineCount(),
                    n = this._context.model.getLineMaxColumn(t)
                  return { range: new i.Range(t, n, t, n), isAfterLines: !0 }
                }
                var o = this._context.viewLayout.getLineNumberAtVerticalOffset(
                    e
                  ),
                  r = this._context.model.getLineMaxColumn(o)
                return { range: new i.Range(o, 1, o, r), isAfterLines: !1 }
              }),
              (e.prototype.getLineNumberAtVerticalOffset = function(e) {
                return this._context.viewLayout.getLineNumberAtVerticalOffset(e)
              }),
              (e.prototype.isAfterLines = function(e) {
                return this._context.viewLayout.isAfterLines(e)
              }),
              (e.prototype.getVerticalOffsetForLineNumber = function(e) {
                return this._context.viewLayout.getVerticalOffsetForLineNumber(
                  e
                )
              }),
              (e.prototype.findAttribute = function(t, n) {
                return e._findAttribute(t, n, this._viewHelper.viewDomNode)
              }),
              (e._findAttribute = function(e, t, n) {
                for (; e && e !== document.body; ) {
                  if (e.hasAttribute && e.hasAttribute(t))
                    return e.getAttribute(t)
                  if (e === n) return null
                  e = e.parentNode
                }
                return null
              }),
              (e.prototype.getLineWidth = function(e) {
                return this._viewHelper.getLineWidth(e)
              }),
              (e.prototype.visibleRangeForPosition2 = function(e, t) {
                return this._viewHelper.visibleRangeForPosition2(e, t)
              }),
              (e.prototype.getPositionFromDOMInfo = function(e, t) {
                return this._viewHelper.getPositionFromDOMInfo(e, t)
              }),
              (e.prototype.getScrollTop = function() {
                return this._context.viewLayout.getScrollTop()
              }),
              (e.prototype.getScrollLeft = function() {
                return this._context.viewLayout.getScrollLeft()
              }),
              e
            )
          })(),
          h = (function(e) {
            function t(t, n, i, o) {
              var r = e.call(this, t, n, i) || this
              return (
                (r._ctx = t),
                o
                  ? ((r.target = o),
                    (r.targetPath = a.PartFingerprints.collect(
                      o,
                      t.viewDomNode
                    )))
                  : ((r.target = null), (r.targetPath = new Uint8Array(0))),
                r
              )
            }
            return (
              f(t, e),
              (t.prototype.toString = function() {
                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)
                )
              }),
              (t.prototype.fulfill = function(e, t, n, i) {
                return (
                  void 0 === t && (t = null),
                  void 0 === n && (n = null),
                  void 0 === i && (i = null),
                  new l(this.target, e, this.mouseColumn, t, n, i)
                )
              }),
              (t.prototype.withTarget = function(e) {
                return new t(this._ctx, this.editorPos, this.pos, e)
              }),
              t
            )
          })(
            (function() {
              return function(e, t, n) {
                ;(this.editorPos = t),
                  (this.pos = n),
                  (this.mouseVerticalOffset = Math.max(
                    0,
                    e.getScrollTop() + n.y - t.y
                  )),
                  (this.mouseContentHorizontalOffset =
                    e.getScrollLeft() + n.x - t.x - e.layoutInfo.contentLeft),
                  (this.isInMarginArea = n.x - t.x < e.layoutInfo.contentLeft),
                  (this.isInContentArea = !this.isInMarginArea),
                  (this.mouseColumn = Math.max(
                    0,
                    p._getMouseColumn(
                      this.mouseContentHorizontalOffset,
                      e.typicalHalfwidthCharacterWidth
                    )
                  ))
              }
            })()
          ),
          p = (function() {
            function e(e, t) {
              ;(this._context = e), (this._viewHelper = t)
            }
            return (
              (e.prototype.mouseTargetIsWidget = function(e) {
                var t = e.target,
                  n = a.PartFingerprints.collect(
                    t,
                    this._viewHelper.viewDomNode
                  )
                return (
                  !(
                    !c.isChildOfContentWidgets(n) &&
                    !c.isChildOfOverflowingContentWidgets(n)
                  ) || !!c.isChildOfOverlayWidgets(n)
                )
              }),
              (e.prototype.createMouseTarget = function(t, n, i, r) {
                var s = new d(this._context, this._viewHelper, t),
                  a = new h(s, n, i, r)
                try {
                  return e._createMouseTarget(s, a, !1)
                } catch (e) {
                  return a.fulfill(o.MouseTargetType.UNKNOWN)
                }
              }),
              (e._createMouseTarget = function(t, n, i) {
                if (null === n.target) {
                  if (i) return n.fulfill(o.MouseTargetType.UNKNOWN)
                  var r = e._doHitTest(t, n)
                  return r.position
                    ? e.createMouseTargetFromHitTestPosition(
                        t,
                        n,
                        r.position.lineNumber,
                        r.position.column
                      )
                    : this._createMouseTarget(t, n.withTarget(r.hitTarget), !0)
                }
                var s = null
                return (
                  (s = s || e._hitTestContentWidget(t, n)),
                  (s = s || e._hitTestOverlayWidget(t, n)),
                  (s = s || e._hitTestMinimap(t, n)),
                  (s = s || e._hitTestScrollbarSlider(t, n)),
                  (s = s || e._hitTestViewZone(t, n)),
                  (s = s || e._hitTestMargin(t, n)),
                  (s = s || e._hitTestViewCursor(t, n)),
                  (s = s || e._hitTestTextArea(t, n)),
                  (s = s || e._hitTestViewLines(t, n, i)),
                  (s = s || e._hitTestScrollbar(t, n)) ||
                    n.fulfill(o.MouseTargetType.UNKNOWN)
                )
              }),
              (e._hitTestContentWidget = function(e, t) {
                if (
                  c.isChildOfContentWidgets(t.targetPath) ||
                  c.isChildOfOverflowingContentWidgets(t.targetPath)
                ) {
                  var n = e.findAttribute(t.target, 'widgetId')
                  return n
                    ? t.fulfill(o.MouseTargetType.CONTENT_WIDGET, null, null, n)
                    : t.fulfill(o.MouseTargetType.UNKNOWN)
                }
                return null
              }),
              (e._hitTestOverlayWidget = function(e, t) {
                if (c.isChildOfOverlayWidgets(t.targetPath)) {
                  var n = e.findAttribute(t.target, 'widgetId')
                  return n
                    ? t.fulfill(o.MouseTargetType.OVERLAY_WIDGET, null, null, n)
                    : t.fulfill(o.MouseTargetType.UNKNOWN)
                }
                return null
              }),
              (e._hitTestViewCursor = function(e, t) {
                if (t.target)
                  for (
                    var n = 0, i = (s = e.lastViewCursorsRenderData).length;
                    n < i;
                    n++
                  ) {
                    var r = s[n]
                    if (t.target === r.domNode)
                      return t.fulfill(
                        o.MouseTargetType.CONTENT_TEXT,
                        r.position
                      )
                  }
                if (t.isInContentArea)
                  for (
                    var s = e.lastViewCursorsRenderData,
                      a = t.mouseContentHorizontalOffset,
                      u = t.mouseVerticalOffset,
                      n = 0,
                      i = s.length;
                    n < i;
                    n++
                  )
                    if (
                      !(
                        a < (r = s[n]).contentLeft ||
                        a > r.contentLeft + r.width
                      )
                    ) {
                      var l = e.getVerticalOffsetForLineNumber(
                        r.position.lineNumber
                      )
                      if (l <= u && u <= l + r.height)
                        return t.fulfill(
                          o.MouseTargetType.CONTENT_TEXT,
                          r.position
                        )
                    }
                return null
              }),
              (e._hitTestViewZone = function(e, t) {
                var n = e.getZoneAtCoord(t.mouseVerticalOffset)
                if (n) {
                  var i = t.isInContentArea
                    ? o.MouseTargetType.CONTENT_VIEW_ZONE
                    : o.MouseTargetType.GUTTER_VIEW_ZONE
                  return t.fulfill(i, n.position, null, n)
                }
                return null
              }),
              (e._hitTestTextArea = function(e, t) {
                return c.isTextArea(t.targetPath)
                  ? t.fulfill(o.MouseTargetType.TEXTAREA)
                  : null
              }),
              (e._hitTestMargin = function(e, t) {
                if (t.isInMarginArea) {
                  var n = e.getFullLineRangeAtCoord(t.mouseVerticalOffset),
                    i = n.range.getStartPosition(),
                    r = Math.abs(t.pos.x - t.editorPos.x)
                  return r <= e.layoutInfo.glyphMarginWidth
                    ? t.fulfill(
                        o.MouseTargetType.GUTTER_GLYPH_MARGIN,
                        i,
                        n.range,
                        n.isAfterLines
                      )
                    : (r -= e.layoutInfo.glyphMarginWidth) <=
                      e.layoutInfo.lineNumbersWidth
                      ? t.fulfill(
                          o.MouseTargetType.GUTTER_LINE_NUMBERS,
                          i,
                          n.range,
                          n.isAfterLines
                        )
                      : ((r -= e.layoutInfo.lineNumbersWidth),
                        t.fulfill(
                          o.MouseTargetType.GUTTER_LINE_DECORATIONS,
                          i,
                          n.range,
                          n.isAfterLines
                        ))
                }
                return null
              }),
              (e._hitTestViewLines = function(t, i, r) {
                if (!c.isChildOfViewLines(i.targetPath)) return null
                if (t.isAfterLines(i.mouseVerticalOffset)) {
                  var s = t.model.getLineCount(),
                    a = t.model.getLineMaxColumn(s)
                  return i.fulfill(
                    o.MouseTargetType.CONTENT_EMPTY,
                    new n.Position(s, a)
                  )
                }
                if (r) return i.fulfill(o.MouseTargetType.UNKNOWN)
                var u = e._doHitTest(t, i)
                return u.position
                  ? e.createMouseTargetFromHitTestPosition(
                      t,
                      i,
                      u.position.lineNumber,
                      u.position.column
                    )
                  : this._createMouseTarget(t, i.withTarget(u.hitTarget), !0)
              }),
              (e._hitTestMinimap = function(e, t) {
                if (c.isChildOfMinimap(t.targetPath)) {
                  var i = e.getLineNumberAtVerticalOffset(
                      t.mouseVerticalOffset
                    ),
                    r = e.model.getLineMaxColumn(i)
                  return t.fulfill(
                    o.MouseTargetType.SCROLLBAR,
                    new n.Position(i, r)
                  )
                }
                return null
              }),
              (e._hitTestScrollbarSlider = function(e, t) {
                if (
                  c.isChildOfScrollableElement(t.targetPath) &&
                  t.target &&
                  1 === t.target.nodeType
                ) {
                  var i = t.target.className
                  if (i && /\b(slider|scrollbar)\b/.test(i)) {
                    var r = e.getLineNumberAtVerticalOffset(
                        t.mouseVerticalOffset
                      ),
                      s = e.model.getLineMaxColumn(r)
                    return t.fulfill(
                      o.MouseTargetType.SCROLLBAR,
                      new n.Position(r, s)
                    )
                  }
                }
                return null
              }),
              (e._hitTestScrollbar = function(e, t) {
                if (c.isChildOfScrollableElement(t.targetPath)) {
                  var i = e.getLineNumberAtVerticalOffset(
                      t.mouseVerticalOffset
                    ),
                    r = e.model.getLineMaxColumn(i)
                  return t.fulfill(
                    o.MouseTargetType.SCROLLBAR,
                    new n.Position(i, r)
                  )
                }
                return null
              }),
              (e.prototype.getMouseColumn = function(t, n) {
                var i = this._context.configuration.editor.layoutInfo,
                  o =
                    this._context.viewLayout.getScrollLeft() +
                    n.x -
                    t.x -
                    i.contentLeft
                return e._getMouseColumn(
                  o,
                  this._context.configuration.editor.fontInfo
                    .typicalHalfwidthCharacterWidth
                )
              }),
              (e._getMouseColumn = function(e, t) {
                return e < 0 ? 1 : Math.round(e / t) + 1
              }),
              (e.createMouseTargetFromHitTestPosition = function(e, t, r, a) {
                var u = new n.Position(r, a),
                  l = e.getLineWidth(r)
                if (t.mouseContentHorizontalOffset > l)
                  return s.isEdge && 1 === u.column
                    ? t.fulfill(
                        o.MouseTargetType.CONTENT_EMPTY,
                        new n.Position(r, e.model.getLineMaxColumn(r))
                      )
                    : t.fulfill(o.MouseTargetType.CONTENT_EMPTY, u)
                var c = e.visibleRangeForPosition2(r, a)
                if (!c) return t.fulfill(o.MouseTargetType.UNKNOWN, u)
                var d = c.left
                if (t.mouseContentHorizontalOffset === d)
                  return t.fulfill(o.MouseTargetType.CONTENT_TEXT, u)
                var h
                if (a > 1) {
                  var p = c.left
                  if (
                    ((h = !1),
                    (h =
                      h ||
                      (p < t.mouseContentHorizontalOffset &&
                        t.mouseContentHorizontalOffset < d)),
                    (h =
                      h ||
                      (d < t.mouseContentHorizontalOffset &&
                        t.mouseContentHorizontalOffset < p)))
                  ) {
                    m = new i.Range(r, a, r, a - 1)
                    return t.fulfill(o.MouseTargetType.CONTENT_TEXT, u, m)
                  }
                }
                if (a < e.model.getLineMaxColumn(r)) {
                  var f = e.visibleRangeForPosition2(r, a + 1)
                  if (f) {
                    var g = f.left
                    if (
                      ((h = !1),
                      (h =
                        h ||
                        (d < t.mouseContentHorizontalOffset &&
                          t.mouseContentHorizontalOffset < g)),
                      (h =
                        h ||
                        (g < t.mouseContentHorizontalOffset &&
                          t.mouseContentHorizontalOffset < d)))
                    ) {
                      var m = new i.Range(r, a, r, a + 1)
                      return t.fulfill(o.MouseTargetType.CONTENT_TEXT, u, m)
                    }
                  }
                }
                return t.fulfill(o.MouseTargetType.CONTENT_TEXT, u)
              }),
              (e._doHitTestWithCaretRangeFromPoint = function(e, t) {
                var n = e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),
                  i =
                    e.getVerticalOffsetForLineNumber(n) +
                    Math.floor(e.lineHeight / 2),
                  o = t.pos.y + (i - t.mouseVerticalOffset)
                o <= t.editorPos.y && (o = t.editorPos.y + 1),
                  o >= t.editorPos.y + e.layoutInfo.height &&
                    (o = t.editorPos.y + e.layoutInfo.height - 1)
                var s = new r.PageCoordinates(t.pos.x, o),
                  a = this._actualDoHitTestWithCaretRangeFromPoint(
                    e,
                    s.toClientCoordinates()
                  )
                return a.position
                  ? a
                  : this._actualDoHitTestWithCaretRangeFromPoint(
                      e,
                      t.pos.toClientCoordinates()
                    )
              }),
              (e._actualDoHitTestWithCaretRangeFromPoint = function(e, t) {
                var n = document.caretRangeFromPoint(t.clientX, t.clientY)
                if (!n || !n.startContainer)
                  return { position: null, hitTarget: null }
                var i,
                  o = n.startContainer
                if (o.nodeType === o.TEXT_NODE) {
                  var r = (a = (s = o.parentNode) ? s.parentNode : null)
                    ? a.parentNode
                    : null
                  if (
                    (r && r.nodeType === r.ELEMENT_NODE
                      ? r.className
                      : null) === u.ViewLine.CLASS_NAME
                  )
                    return {
                      position: (l = e.getPositionFromDOMInfo(
                        s,
                        n.startOffset
                      )),
                      hitTarget: null
                    }
                  i = o.parentNode
                } else if (o.nodeType === o.ELEMENT_NODE) {
                  var s = o.parentNode,
                    a = s ? s.parentNode : null
                  if (
                    (a && a.nodeType === a.ELEMENT_NODE
                      ? a.className
                      : null) === u.ViewLine.CLASS_NAME
                  ) {
                    var l = e.getPositionFromDOMInfo(o, o.textContent.length)
                    return { position: l, hitTarget: null }
                  }
                  i = o
                }
                return { position: null, hitTarget: i }
              }),
              (e._doHitTestWithCaretPositionFromPoint = function(e, t) {
                var n = document.caretPositionFromPoint(t.clientX, t.clientY)
                if (n.offsetNode.nodeType === n.offsetNode.TEXT_NODE) {
                  var i = n.offsetNode.parentNode,
                    o = i ? i.parentNode : null,
                    r = o ? o.parentNode : null
                  return (r && r.nodeType === r.ELEMENT_NODE
                    ? r.className
                    : null) === u.ViewLine.CLASS_NAME
                    ? {
                        position: e.getPositionFromDOMInfo(
                          n.offsetNode.parentNode,
                          n.offset
                        ),
                        hitTarget: null
                      }
                    : { position: null, hitTarget: n.offsetNode.parentNode }
                }
                return { position: null, hitTarget: n.offsetNode }
              }),
              (e._doHitTestWithMoveToPoint = function(e, t) {
                var n = null,
                  i = null,
                  o = document.body.createTextRange()
                try {
                  o.moveToPoint(t.clientX, t.clientY)
                } catch (e) {
                  return { position: null, hitTarget: null }
                }
                o.collapse(!0)
                var r = o ? o.parentElement() : null,
                  s = r ? r.parentNode : null,
                  a = s ? s.parentNode : null
                if (
                  (a && a.nodeType === a.ELEMENT_NODE ? a.className : '') ===
                  u.ViewLine.CLASS_NAME
                ) {
                  var l = o.duplicate()
                  l.moveToElementText(r),
                    l.setEndPoint('EndToStart', o),
                    (n = e.getPositionFromDOMInfo(r, l.text.length)),
                    l.moveToElementText(e.viewDomNode)
                } else i = r
                return (
                  o.moveToElementText(e.viewDomNode),
                  { position: n, hitTarget: i }
                )
              }),
              (e._doHitTest = function(e, t) {
                return 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 }
              }),
              e
            )
          })()
        t.MouseTargetFactory = p
      }),
      define(d[477], h([
        0,
        1,
        3,
        15,
        30,
        6,
        12,
        22,
        87,
        155,
        25,
        18,
        113,
        45,
        111
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g) {
        'use strict'
        function m(e) {
          return function(t, n) {
            var i = !1
            return (
              e && (i = e.mouseTargetIsWidget(n)), i || n.preventDefault(), n
            )
          }
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var v = (function(e) {
          function t(n, i, o) {
            var s = e.call(this) || this
            ;(s._isFocused = !1),
              (s._context = n),
              (s.viewController = i),
              (s.viewHelper = o),
              (s.mouseTargetFactory = new l.MouseTargetFactory(s._context, o)),
              (s._mouseDownOperation = s._register(
                new _(
                  s._context,
                  s.viewController,
                  s.viewHelper,
                  function(e, t) {
                    return s._createMouseTarget(e, t)
                  },
                  function(e) {
                    return s._getMouseColumn(e)
                  }
                )
              )),
              (s._asyncFocus = s._register(
                new d.RunOnceScheduler(function() {
                  return s.viewHelper.focusTextArea()
                }, 0)
              )),
              (s.lastMouseLeaveTime = -1)
            var a = new h.EditorMouseEventFactory(s.viewHelper.viewDomNode)
            s._register(
              a.onContextMenu(s.viewHelper.viewDomNode, function(e) {
                return s._onContextMenu(e, !0)
              })
            ),
              s._register(
                a.onMouseMoveThrottled(
                  s.viewHelper.viewDomNode,
                  function(e) {
                    return s._onMouseMove(e)
                  },
                  m(s.mouseTargetFactory),
                  t.MOUSE_MOVE_MINIMUM_TIME
                )
              ),
              s._register(
                a.onMouseUp(s.viewHelper.viewDomNode, function(e) {
                  return s._onMouseUp(e)
                })
              ),
              s._register(
                a.onMouseLeave(s.viewHelper.viewDomNode, function(e) {
                  return s._onMouseLeave(e)
                })
              ),
              s._register(
                a.onMouseDown(s.viewHelper.viewDomNode, function(e) {
                  return s._onMouseDown(e)
                })
              )
            var u = function(e) {
              if (s._context.configuration.editor.viewInfo.mouseWheelZoom) {
                var t = new p.StandardMouseWheelEvent(e)
                if (t.browserEvent.ctrlKey || t.browserEvent.metaKey) {
                  var n = g.EditorZoom.getZoomLevel(),
                    i = t.deltaY > 0 ? 1 : -1
                  g.EditorZoom.setZoomLevel(n + i),
                    t.preventDefault(),
                    t.stopPropagation()
                }
              }
            }
            return (
              s._register(
                r.addDisposableListener(
                  s.viewHelper.viewDomNode,
                  'mousewheel',
                  u,
                  !0
                )
              ),
              s._register(
                r.addDisposableListener(
                  s.viewHelper.viewDomNode,
                  'DOMMouseScroll',
                  u,
                  !0
                )
              ),
              s._context.addEventHandler(s),
              s
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              this._context.removeEventHandler(this),
                e.prototype.dispose.call(this)
            }),
            (t.prototype.onCursorStateChanged = function(e) {
              return this._mouseDownOperation.onCursorStateChanged(e), !1
            }),
            (t.prototype.onFocusChanged = function(e) {
              return (this._isFocused = e.isFocused), !1
            }),
            (t.prototype.onScrollChanged = function(e) {
              return this._mouseDownOperation.onScrollChanged(), !1
            }),
            (t.prototype.getTargetAtClientPoint = function(e, t) {
              var n = new h.ClientCoordinates(e, t).toPageCoordinates(),
                i = h.createEditorPagePosition(this.viewHelper.viewDomNode)
              if (
                n.y < i.y ||
                n.y > i.y + i.height ||
                n.x < i.x ||
                n.x > i.x + i.width
              )
                return null
              var o = this.viewHelper.getLastViewCursorsRenderData()
              return this.mouseTargetFactory.createMouseTarget(o, i, n, null)
            }),
            (t.prototype._createMouseTarget = function(e, t) {
              var n = this.viewHelper.getLastViewCursorsRenderData()
              return this.mouseTargetFactory.createMouseTarget(
                n,
                e.editorPos,
                e.pos,
                t ? e.target : null
              )
            }),
            (t.prototype._getMouseColumn = function(e) {
              return this.mouseTargetFactory.getMouseColumn(e.editorPos, e.pos)
            }),
            (t.prototype._onContextMenu = function(e, t) {
              this.viewController.emitContextMenu({
                event: e,
                target: this._createMouseTarget(e, t)
              })
            }),
            (t.prototype._onMouseMove = function(e) {
              this._mouseDownOperation.isActive() ||
                e.timestamp < this.lastMouseLeaveTime ||
                this.viewController.emitMouseMove({
                  event: e,
                  target: this._createMouseTarget(e, !0)
                })
            }),
            (t.prototype._onMouseLeave = function(e) {
              ;(this.lastMouseLeaveTime = new Date().getTime()),
                this.viewController.emitMouseLeave({ event: e, target: null })
            }),
            (t.prototype._onMouseUp = function(e) {
              this.viewController.emitMouseUp({
                event: e,
                target: this._createMouseTarget(e, !0)
              })
            }),
            (t.prototype._onMouseDown = function(e) {
              var t = this,
                n = this._createMouseTarget(e, !0),
                r =
                  n.type === c.MouseTargetType.CONTENT_TEXT ||
                  n.type === c.MouseTargetType.CONTENT_EMPTY,
                s =
                  n.type === c.MouseTargetType.GUTTER_GLYPH_MARGIN ||
                  n.type === c.MouseTargetType.GUTTER_LINE_NUMBERS ||
                  n.type === c.MouseTargetType.GUTTER_LINE_DECORATIONS,
                a = n.type === c.MouseTargetType.GUTTER_LINE_NUMBERS,
                u = this._context.configuration.editor.viewInfo
                  .selectOnLineNumbers,
                l =
                  n.type === c.MouseTargetType.CONTENT_VIEW_ZONE ||
                  n.type === c.MouseTargetType.GUTTER_VIEW_ZONE,
                d = n.type === c.MouseTargetType.CONTENT_WIDGET,
                h = e.leftButton
              i.isMacintosh && e.ctrlKey && (h = !1)
              var p = function() {
                o.isIE && !t._isFocused
                  ? t._asyncFocus.schedule()
                  : (e.preventDefault(), t.viewHelper.focusTextArea())
              }
              if (h && (r || (a && u)))
                p(), this._mouseDownOperation.start(n.type, e)
              else if (s) e.preventDefault()
              else if (l) {
                var f = n.detail
                this.viewHelper.shouldSuppressMouseDownOnViewZone(
                  f.viewZoneId
                ) &&
                  (p(),
                  this._mouseDownOperation.start(n.type, e),
                  e.preventDefault())
              } else
                d &&
                  this.viewHelper.shouldSuppressMouseDownOnWidget(n.detail) &&
                  (p(), e.preventDefault())
              this.viewController.emitMouseDown({ event: e, target: n })
            }),
            t
          )
        })(u.ViewEventHandler)
        ;(v.MOUSE_MOVE_MINIMUM_TIME = 100), (t.MouseHandler = v)
        var _ = (function(e) {
            function t(t, n, i, o, r) {
              var s = e.call(this) || this
              return (
                (s._context = t),
                (s._viewController = n),
                (s._viewHelper = i),
                (s._createMouseTarget = o),
                (s._getMouseColumn = r),
                (s._mouseMoveMonitor = s._register(
                  new h.GlobalEditorMouseMoveMonitor(s._viewHelper.viewDomNode)
                )),
                (s._onScrollTimeout = s._register(new d.TimeoutTimer())),
                (s._mouseState = new y()),
                (s._currentSelection = new a.Selection(1, 1, 1, 1)),
                (s._isActive = !1),
                (s._lastMouseEvent = null),
                s
              )
            }
            return (
              f(t, e),
              (t.prototype.dispose = function() {
                e.prototype.dispose.call(this)
              }),
              (t.prototype.isActive = function() {
                return this._isActive
              }),
              (t.prototype._onMouseDownThenMove = function(e) {
                ;(this._lastMouseEvent = e), this._mouseState.setModifiers(e)
                var t = this._findMousePosition(e, !0)
                t &&
                  (this._mouseState.isDragAndDrop
                    ? this._viewController.emitMouseDrag({
                        event: e,
                        target: t
                      })
                    : this._dispatchMouse(t, !0))
              }),
              (t.prototype.start = function(e, t) {
                var n = this
                ;(this._lastMouseEvent = t),
                  this._mouseState.setStartedOnLineNumbers(
                    e === c.MouseTargetType.GUTTER_LINE_NUMBERS
                  ),
                  this._mouseState.setModifiers(t)
                var i = this._findMousePosition(t, !0)
                if (i) {
                  if (
                    (this._mouseState.trySetCount(t.detail, i.position),
                    (t.detail = this._mouseState.count),
                    !this._context.configuration.editor.readOnly &&
                      this._context.configuration.editor.dragAndDrop &&
                      !this._mouseState.altKey &&
                      t.detail < 2 &&
                      !this._isActive &&
                      !this._currentSelection.isEmpty() &&
                      this._currentSelection.containsPosition(i.position))
                  )
                    return (
                      (this._mouseState.isDragAndDrop = !0),
                      (this._isActive = !0),
                      void this._mouseMoveMonitor.startMonitoring(
                        m(null),
                        function(e) {
                          return n._onMouseDownThenMove(e)
                        },
                        function() {
                          var e = n._findMousePosition(n._lastMouseEvent, !0)
                          n._viewController.emitMouseDrop({
                            event: n._lastMouseEvent,
                            target: e
                              ? n._createMouseTarget(n._lastMouseEvent, !0)
                              : null
                          }),
                            n._stop()
                        }
                      )
                    )
                  ;(this._mouseState.isDragAndDrop = !1),
                    this._dispatchMouse(i, t.shiftKey),
                    this._isActive ||
                      ((this._isActive = !0),
                      this._mouseMoveMonitor.startMonitoring(
                        m(null),
                        function(e) {
                          return n._onMouseDownThenMove(e)
                        },
                        function() {
                          return n._stop()
                        }
                      ))
                }
              }),
              (t.prototype._stop = function() {
                ;(this._isActive = !1), this._onScrollTimeout.cancel()
              }),
              (t.prototype.onScrollChanged = function() {
                var e = this
                this._isActive &&
                  this._onScrollTimeout.setIfNotSet(function() {
                    var t = e._findMousePosition(e._lastMouseEvent, !1)
                    t &&
                      (e._mouseState.isDragAndDrop || e._dispatchMouse(t, !0))
                  }, 10)
              }),
              (t.prototype.onCursorStateChanged = function(e) {
                this._currentSelection = e.selections[0]
              }),
              (t.prototype._getPositionOutsideEditor = function(e) {
                var t = e.editorPos,
                  n = this._context.model,
                  i = this._context.viewLayout,
                  o = this._getMouseColumn(e)
                if (e.posy < t.y) {
                  var r = i.getLineNumberAtVerticalOffset(
                    Math.max(i.getScrollTop() - (t.y - e.posy), 0)
                  )
                  return new l.MouseTarget(
                    null,
                    c.MouseTargetType.OUTSIDE_EDITOR,
                    o,
                    new s.Position(r, 1)
                  )
                }
                if (e.posy > t.y + t.height) {
                  var a = i.getLineNumberAtVerticalOffset(
                    i.getScrollTop() + (e.posy - t.y)
                  )
                  return new l.MouseTarget(
                    null,
                    c.MouseTargetType.OUTSIDE_EDITOR,
                    o,
                    new s.Position(a, n.getLineMaxColumn(a))
                  )
                }
                var u = i.getLineNumberAtVerticalOffset(
                  i.getScrollTop() + (e.posy - t.y)
                )
                return e.posx < t.x
                  ? new l.MouseTarget(
                      null,
                      c.MouseTargetType.OUTSIDE_EDITOR,
                      o,
                      new s.Position(u, 1)
                    )
                  : e.posx > t.x + t.width
                    ? new l.MouseTarget(
                        null,
                        c.MouseTargetType.OUTSIDE_EDITOR,
                        o,
                        new s.Position(u, n.getLineMaxColumn(u))
                      )
                    : null
              }),
              (t.prototype._findMousePosition = function(e, t) {
                var n = this._getPositionOutsideEditor(e)
                if (n) return n
                var i = this._createMouseTarget(e, t)
                if (!i.position) return null
                if (
                  i.type === c.MouseTargetType.CONTENT_VIEW_ZONE ||
                  i.type === c.MouseTargetType.GUTTER_VIEW_ZONE
                ) {
                  var o = new s.Position(
                      this._currentSelection.selectionStartLineNumber,
                      this._currentSelection.selectionStartColumn
                    ),
                    r = i.detail,
                    a = r.positionBefore,
                    u = r.positionAfter
                  if (a && u)
                    return a.isBefore(o)
                      ? new l.MouseTarget(
                          i.element,
                          i.type,
                          i.mouseColumn,
                          a,
                          null,
                          i.detail
                        )
                      : new l.MouseTarget(
                          i.element,
                          i.type,
                          i.mouseColumn,
                          u,
                          null,
                          i.detail
                        )
                }
                return i
              }),
              (t.prototype._dispatchMouse = function(e, t) {
                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
                })
              }),
              t
            )
          })(n.Disposable),
          y = (function() {
            function e() {
              ;(this._altKey = !1),
                (this._ctrlKey = !1),
                (this._metaKey = !1),
                (this._shiftKey = !1),
                (this._startedOnLineNumbers = !1),
                (this._lastMouseDownPosition = null),
                (this._lastMouseDownPositionEqualCount = 0),
                (this._lastMouseDownCount = 0),
                (this._lastSetMouseDownCountTime = 0),
                (this.isDragAndDrop = !1)
            }
            return (
              Object.defineProperty(e.prototype, 'altKey', {
                get: function() {
                  return this._altKey
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(e.prototype, 'ctrlKey', {
                get: function() {
                  return this._ctrlKey
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(e.prototype, 'metaKey', {
                get: function() {
                  return this._metaKey
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(e.prototype, 'shiftKey', {
                get: function() {
                  return this._shiftKey
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(e.prototype, 'startedOnLineNumbers', {
                get: function() {
                  return this._startedOnLineNumbers
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(e.prototype, 'count', {
                get: function() {
                  return this._lastMouseDownCount
                },
                enumerable: !0,
                configurable: !0
              }),
              (e.prototype.setModifiers = function(e) {
                ;(this._altKey = e.altKey),
                  (this._ctrlKey = e.ctrlKey),
                  (this._metaKey = e.metaKey),
                  (this._shiftKey = e.shiftKey)
              }),
              (e.prototype.setStartedOnLineNumbers = function(e) {
                this._startedOnLineNumbers = e
              }),
              (e.prototype.trySetCount = function(t, n) {
                var i = new Date().getTime()
                i - this._lastSetMouseDownCountTime >
                  e.CLEAR_MOUSE_DOWN_COUNT_TIME && (t = 1),
                  (this._lastSetMouseDownCountTime = i),
                  t > this._lastMouseDownCount + 1 &&
                    (t = this._lastMouseDownCount + 1),
                  this._lastMouseDownPosition &&
                  this._lastMouseDownPosition.equals(n)
                    ? this._lastMouseDownPositionEqualCount++
                    : (this._lastMouseDownPositionEqualCount = 1),
                  (this._lastMouseDownPosition = n),
                  (this._lastMouseDownCount = Math.min(
                    t,
                    this._lastMouseDownPositionEqualCount
                  ))
              }),
              e
            )
          })()
        y.CLEAR_MOUSE_DOWN_COUNT_TIME = 400
      }),
      define(d[478], h([0, 1, 6, 75, 477, 113]), function(e, t, n, i, o, r) {
        'use strict'
        function s(e, t) {
          var n = { translationY: t.translationY, translationX: t.translationX }
          return (
            e &&
              ((n.translationY += e.translationY),
              (n.translationX += e.translationX)),
            n
          )
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = (function(e) {
            function t(t, i, o) {
              var r = e.call(this, t, i, o) || this
              return (
                (r.viewHelper.linesContentDomNode.style.msTouchAction = 'none'),
                (r.viewHelper.linesContentDomNode.style.msContentZooming =
                  'none'),
                (r._installGestureHandlerTimeout = window.setTimeout(
                  function() {
                    if (
                      ((r._installGestureHandlerTimeout = -1), window.MSGesture)
                    ) {
                      var e = new MSGesture(),
                        t = new MSGesture()
                      ;(e.target = r.viewHelper.linesContentDomNode),
                        (t.target = r.viewHelper.linesContentDomNode),
                        r.viewHelper.linesContentDomNode.addEventListener(
                          'MSPointerDown',
                          function(n) {
                            var i = n.pointerType
                            i !== (n.MSPOINTER_TYPE_MOUSE || 'mouse')
                              ? i === (n.MSPOINTER_TYPE_TOUCH || 'touch')
                                ? ((r._lastPointerType = 'touch'),
                                  e.addPointer(n.pointerId))
                                : ((r._lastPointerType = 'pen'),
                                  t.addPointer(n.pointerId))
                              : (r._lastPointerType = 'mouse')
                          }
                        ),
                        r._register(
                          n.addDisposableThrottledListener(
                            r.viewHelper.linesContentDomNode,
                            'MSGestureChange',
                            function(e) {
                              return r._onGestureChange(e)
                            },
                            s
                          )
                        ),
                        r._register(
                          n.addDisposableListener(
                            r.viewHelper.linesContentDomNode,
                            'MSGestureTap',
                            function(e) {
                              return r._onCaptureGestureTap(e)
                            },
                            !0
                          )
                        )
                    }
                  },
                  100
                )),
                (r._lastPointerType = 'mouse'),
                r
              )
            }
            return (
              f(t, e),
              (t.prototype._onMouseDown = function(t) {
                'mouse' === this._lastPointerType &&
                  e.prototype._onMouseDown.call(this, t)
              }),
              (t.prototype._onCaptureGestureTap = function(e) {
                var t = this,
                  n = new r.EditorMouseEvent(e, this.viewHelper.viewDomNode),
                  i = this._createMouseTarget(n, !1)
                i.position && this.viewController.moveTo(i.position),
                  n.browserEvent.fromElement
                    ? (n.preventDefault(), this.viewHelper.focusTextArea())
                    : setTimeout(function() {
                        t.viewHelper.focusTextArea()
                      })
              }),
              (t.prototype._onGestureChange = function(e) {
                var t = this._context.viewLayout
                t.setScrollPosition({
                  scrollLeft: t.getScrollLeft() - e.translationX,
                  scrollTop: t.getScrollTop() - e.translationY
                })
              }),
              (t.prototype.dispose = function() {
                window.clearTimeout(this._installGestureHandlerTimeout),
                  e.prototype.dispose.call(this)
              }),
              t
            )
          })(o.MouseHandler),
          u = (function(e) {
            function t(t, i, o) {
              var r = e.call(this, t, i, o) || this
              return (
                (r.viewHelper.linesContentDomNode.style.touchAction = 'none'),
                (r._installGestureHandlerTimeout = window.setTimeout(
                  function() {
                    if (
                      ((r._installGestureHandlerTimeout = -1), window.MSGesture)
                    ) {
                      var e = new MSGesture(),
                        t = new MSGesture()
                      ;(e.target = r.viewHelper.linesContentDomNode),
                        (t.target = r.viewHelper.linesContentDomNode),
                        r.viewHelper.linesContentDomNode.addEventListener(
                          'pointerdown',
                          function(n) {
                            var i = n.pointerType
                            'mouse' !== i
                              ? 'touch' === i
                                ? ((r._lastPointerType = 'touch'),
                                  e.addPointer(n.pointerId))
                                : ((r._lastPointerType = 'pen'),
                                  t.addPointer(n.pointerId))
                              : (r._lastPointerType = 'mouse')
                          }
                        ),
                        r._register(
                          n.addDisposableThrottledListener(
                            r.viewHelper.linesContentDomNode,
                            'MSGestureChange',
                            function(e) {
                              return r._onGestureChange(e)
                            },
                            s
                          )
                        ),
                        r._register(
                          n.addDisposableListener(
                            r.viewHelper.linesContentDomNode,
                            'MSGestureTap',
                            function(e) {
                              return r._onCaptureGestureTap(e)
                            },
                            !0
                          )
                        )
                    }
                  },
                  100
                )),
                (r._lastPointerType = 'mouse'),
                r
              )
            }
            return (
              f(t, e),
              (t.prototype._onMouseDown = function(t) {
                'mouse' === this._lastPointerType &&
                  e.prototype._onMouseDown.call(this, t)
              }),
              (t.prototype._onCaptureGestureTap = function(e) {
                var t = this,
                  n = new r.EditorMouseEvent(e, this.viewHelper.viewDomNode),
                  i = this._createMouseTarget(n, !1)
                i.position && this.viewController.moveTo(i.position),
                  n.browserEvent.fromElement
                    ? (n.preventDefault(), this.viewHelper.focusTextArea())
                    : setTimeout(function() {
                        t.viewHelper.focusTextArea()
                      })
              }),
              (t.prototype._onGestureChange = function(e) {
                var t = this._context.viewLayout
                t.setScrollPosition({
                  scrollLeft: t.getScrollLeft() - e.translationX,
                  scrollTop: t.getScrollTop() - e.translationY
                })
              }),
              (t.prototype.dispose = function() {
                window.clearTimeout(this._installGestureHandlerTimeout),
                  e.prototype.dispose.call(this)
              }),
              t
            )
          })(o.MouseHandler),
          l = (function(e) {
            function t(t, o, s) {
              var a = e.call(this, t, o, s) || this
              return (
                (a.gesture = new i.Gesture(a.viewHelper.linesContentDomNode)),
                a._register(
                  n.addDisposableListener(
                    a.viewHelper.linesContentDomNode,
                    i.EventType.Tap,
                    function(e) {
                      return a.onTap(e)
                    }
                  )
                ),
                a._register(
                  n.addDisposableListener(
                    a.viewHelper.linesContentDomNode,
                    i.EventType.Change,
                    function(e) {
                      return a.onChange(e)
                    }
                  )
                ),
                a._register(
                  n.addDisposableListener(
                    a.viewHelper.linesContentDomNode,
                    i.EventType.Contextmenu,
                    function(e) {
                      return a._onContextMenu(
                        new r.EditorMouseEvent(e, a.viewHelper.viewDomNode),
                        !1
                      )
                    }
                  )
                ),
                a
              )
            }
            return (
              f(t, e),
              (t.prototype.dispose = function() {
                this.gesture.dispose(), e.prototype.dispose.call(this)
              }),
              (t.prototype.onTap = function(e) {
                e.preventDefault(), this.viewHelper.focusTextArea()
                var t = this._createMouseTarget(
                  new r.EditorMouseEvent(e, this.viewHelper.viewDomNode),
                  !1
                )
                t.position && this.viewController.moveTo(t.position)
              }),
              (t.prototype.onChange = function(e) {
                var t = this._context.viewLayout
                t.setScrollPosition({
                  scrollLeft: t.getScrollLeft() - e.translationX,
                  scrollTop: t.getScrollTop() - e.translationY
                })
              }),
              t
            )
          })(o.MouseHandler),
          c = (function() {
            function e(e, t, n) {
              window.navigator.msPointerEnabled
                ? (this.handler = new a(e, t, n))
                : window.TouchEvent
                  ? (this.handler = new l(e, t, n))
                  : window.navigator.pointerEnabled
                    ? (this.handler = new u(e, t, n))
                    : (this.handler = new o.MouseHandler(e, t, n))
            }
            return (
              (e.prototype.getTargetAtClientPoint = function(e, t) {
                return this.handler.getTargetAtClientPoint(e, t)
              }),
              (e.prototype.dispose = function() {
                this.handler.dispose()
              }),
              e
            )
          })()
        t.PointerHandler = c
      }),
      define(d[479], h([0, 1, 3, 155, 11]), function(e, t, n, i, o) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = (function(e) {
          function t(t) {
            var n = e.call(this) || this
            return (
              (n._onDidScroll = n._register(new o.Emitter())),
              (n.onDidScroll = n._onDidScroll.event),
              (n._onDidGainFocus = n._register(new o.Emitter())),
              (n.onDidGainFocus = n._onDidGainFocus.event),
              (n._onDidLoseFocus = n._register(new o.Emitter())),
              (n.onDidLoseFocus = n._onDidLoseFocus.event),
              (n._onKeyDown = n._register(new o.Emitter())),
              (n.onKeyDown = n._onKeyDown.event),
              (n._onKeyUp = n._register(new o.Emitter())),
              (n.onKeyUp = n._onKeyUp.event),
              (n._onContextMenu = n._register(new o.Emitter())),
              (n.onContextMenu = n._onContextMenu.event),
              (n._onMouseMove = n._register(new o.Emitter())),
              (n.onMouseMove = n._onMouseMove.event),
              (n._onMouseLeave = n._register(new o.Emitter())),
              (n.onMouseLeave = n._onMouseLeave.event),
              (n._onMouseUp = n._register(new o.Emitter())),
              (n.onMouseUp = n._onMouseUp.event),
              (n._onMouseDown = n._register(new o.Emitter())),
              (n.onMouseDown = n._onMouseDown.event),
              (n._onMouseDrag = n._register(new o.Emitter())),
              (n.onMouseDrag = n._onMouseDrag.event),
              (n._onMouseDrop = n._register(new o.Emitter())),
              (n.onMouseDrop = n._onMouseDrop.event),
              (n._viewModel = t),
              n
            )
          }
          return (
            f(t, e),
            (t.prototype.emitScrollChanged = function(e) {
              this._onDidScroll.fire(e)
            }),
            (t.prototype.emitViewFocusGained = function() {
              this._onDidGainFocus.fire()
            }),
            (t.prototype.emitViewFocusLost = function() {
              this._onDidLoseFocus.fire()
            }),
            (t.prototype.emitKeyDown = function(e) {
              this._onKeyDown.fire(e)
            }),
            (t.prototype.emitKeyUp = function(e) {
              this._onKeyUp.fire(e)
            }),
            (t.prototype.emitContextMenu = function(e) {
              this._onContextMenu.fire(this._convertViewToModelMouseEvent(e))
            }),
            (t.prototype.emitMouseMove = function(e) {
              this._onMouseMove.fire(this._convertViewToModelMouseEvent(e))
            }),
            (t.prototype.emitMouseLeave = function(e) {
              this._onMouseLeave.fire(this._convertViewToModelMouseEvent(e))
            }),
            (t.prototype.emitMouseUp = function(e) {
              this._onMouseUp.fire(this._convertViewToModelMouseEvent(e))
            }),
            (t.prototype.emitMouseDown = function(e) {
              this._onMouseDown.fire(this._convertViewToModelMouseEvent(e))
            }),
            (t.prototype.emitMouseDrag = function(e) {
              this._onMouseDrag.fire(this._convertViewToModelMouseEvent(e))
            }),
            (t.prototype.emitMouseDrop = function(e) {
              this._onMouseDrop.fire(this._convertViewToModelMouseEvent(e))
            }),
            (t.prototype._convertViewToModelMouseEvent = function(e) {
              return e.target
                ? {
                    event: e.event,
                    target: this._convertViewToModelMouseTarget(e.target)
                  }
                : e
            }),
            (t.prototype._convertViewToModelMouseTarget = function(e) {
              return new s(
                e.element,
                e.type,
                e.mouseColumn,
                e.position
                  ? this._convertViewToModelPosition(e.position)
                  : null,
                e.range ? this._convertViewToModelRange(e.range) : null,
                e.detail
              )
            }),
            (t.prototype._convertViewToModelPosition = function(e) {
              return this._viewModel.coordinatesConverter.convertViewPositionToModelPosition(
                e
              )
            }),
            (t.prototype._convertViewToModelRange = function(e) {
              return this._viewModel.coordinatesConverter.convertViewRangeToModelRange(
                e
              )
            }),
            t
          )
        })(n.Disposable)
        t.ViewOutgoingEvents = r
        var s = (function() {
          function e(e, t, n, i, o, r) {
            ;(this.element = e),
              (this.type = t),
              (this.mouseColumn = n),
              (this.position = i),
              (this.range = o),
              (this.detail = r)
          }
          return (
            (e.prototype.toString = function() {
              return i.MouseTarget.toString(this)
            }),
            e
          )
        })()
      }),
      define(d[480], h([
        0,
        1,
        18,
        2,
        12,
        127,
        157,
        65,
        80,
        35,
        56,
        379
      ]), function(e, t, n, i, o, r, s, a, u, l, c) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var d = (function() {
            function e() {
              this._currentVisibleRange = new i.Range(1, 1, 1, 1)
            }
            return (
              (e.prototype.getCurrentVisibleRange = function() {
                return this._currentVisibleRange
              }),
              (e.prototype.setCurrentVisibleRange = function(e) {
                this._currentVisibleRange = e
              }),
              e
            )
          })(),
          h = (function(e) {
            function t(t, i) {
              var o = e.call(this, t) || this
              ;(o._linesContent = i),
                (o._textRangeRestingSpot = document.createElement('div')),
                (o._visibleLines = new r.VisibleLinesCollection(o)),
                (o.domNode = o._visibleLines.domNode)
              var u = o._context.configuration
              return (
                (o._lineHeight = u.editor.lineHeight),
                (o._typicalHalfwidthCharacterWidth =
                  u.editor.fontInfo.typicalHalfwidthCharacterWidth),
                (o._isViewportWrapping =
                  u.editor.wrappingInfo.isViewportWrapping),
                (o._revealHorizontalRightPadding =
                  u.editor.viewInfo.revealHorizontalRightPadding),
                (o._canUseLayerHinting = u.editor.canUseLayerHinting),
                (o._viewLineOptions = new s.ViewLineOptions(
                  u,
                  o._context.theme.type
                )),
                l.PartFingerprints.write(o.domNode, 7),
                o.domNode.setClassName('view-lines'),
                a.Configuration.applyFontInfo(o.domNode, u.editor.fontInfo),
                (o._maxLineWidth = 0),
                (o._asyncUpdateLineWidths = new n.RunOnceScheduler(function() {
                  o._updateLineWidths()
                }, 200)),
                (o._lastRenderedData = new d()),
                (o._lastCursorRevealRangeHorizontallyEvent = null),
                o
              )
            }
            return (
              f(t, e),
              (t.prototype.dispose = function() {
                this._asyncUpdateLineWidths.dispose(),
                  e.prototype.dispose.call(this)
              }),
              (t.prototype.getDomNode = function() {
                return this.domNode
              }),
              (t.prototype.createVisibleLine = function() {
                return new s.ViewLine(this._viewLineOptions)
              }),
              (t.prototype.onConfigurationChanged = function(e) {
                this._visibleLines.onConfigurationChanged(e),
                  e.wrappingInfo && (this._maxLineWidth = 0)
                var t = this._context.configuration
                return (
                  e.lineHeight && (this._lineHeight = t.editor.lineHeight),
                  e.fontInfo &&
                    (this._typicalHalfwidthCharacterWidth =
                      t.editor.fontInfo.typicalHalfwidthCharacterWidth),
                  e.wrappingInfo &&
                    (this._isViewportWrapping =
                      t.editor.wrappingInfo.isViewportWrapping),
                  e.viewInfo &&
                    (this._revealHorizontalRightPadding =
                      t.editor.viewInfo.revealHorizontalRightPadding),
                  e.canUseLayerHinting &&
                    (this._canUseLayerHinting = t.editor.canUseLayerHinting),
                  e.fontInfo &&
                    a.Configuration.applyFontInfo(
                      this.domNode,
                      t.editor.fontInfo
                    ),
                  this._onOptionsMaybeChanged(),
                  e.layoutInfo && (this._maxLineWidth = 0),
                  !0
                )
              }),
              (t.prototype._onOptionsMaybeChanged = function() {
                var e = this._context.configuration,
                  t = new s.ViewLineOptions(e, this._context.theme.type)
                if (!this._viewLineOptions.equals(t)) {
                  this._viewLineOptions = t
                  for (
                    var n = this._visibleLines.getStartLineNumber(),
                      i = this._visibleLines.getEndLineNumber(),
                      o = n;
                    o <= i;
                    o++
                  )
                    this._visibleLines
                      .getVisibleLine(o)
                      .onOptionsChanged(this._viewLineOptions)
                  return !0
                }
                return !1
              }),
              (t.prototype.onCursorStateChanged = function(e) {
                for (
                  var t = this._visibleLines.getStartLineNumber(),
                    n = this._visibleLines.getEndLineNumber(),
                    i = !1,
                    o = t;
                  o <= n;
                  o++
                )
                  i =
                    this._visibleLines.getVisibleLine(o).onSelectionChanged() ||
                    i
                return i
              }),
              (t.prototype.onDecorationsChanged = function(e) {
                for (
                  var t = this._visibleLines.getStartLineNumber(),
                    n = this._visibleLines.getEndLineNumber(),
                    i = t;
                  i <= n;
                  i++
                )
                  this._visibleLines.getVisibleLine(i).onDecorationsChanged()
                return !0
              }),
              (t.prototype.onFlushed = function(e) {
                var t = this._visibleLines.onFlushed(e)
                return (this._maxLineWidth = 0), t
              }),
              (t.prototype.onLinesChanged = function(e) {
                return this._visibleLines.onLinesChanged(e)
              }),
              (t.prototype.onLinesDeleted = function(e) {
                return this._visibleLines.onLinesDeleted(e)
              }),
              (t.prototype.onLinesInserted = function(e) {
                return this._visibleLines.onLinesInserted(e)
              }),
              (t.prototype.onRevealRangeRequest = function(e) {
                var t = this._computeScrollTopToRevealRange(
                  this._context.viewLayout.getCurrentViewport(),
                  e.range,
                  e.verticalType
                )
                return (
                  e.revealHorizontal &&
                    (this._lastCursorRevealRangeHorizontallyEvent = e),
                  this._context.viewLayout.setScrollPosition({ scrollTop: t }),
                  !0
                )
              }),
              (t.prototype.onScrollChanged = function(e) {
                return (
                  this.domNode.setWidth(e.scrollWidth),
                  this._visibleLines.onScrollChanged(e) || !0
                )
              }),
              (t.prototype.onTokensChanged = function(e) {
                return this._visibleLines.onTokensChanged(e)
              }),
              (t.prototype.onZonesChanged = function(e) {
                return this._visibleLines.onZonesChanged(e)
              }),
              (t.prototype.onThemeChanged = function(e) {
                return this._onOptionsMaybeChanged()
              }),
              (t.prototype.getPositionFromDOMInfo = function(e, t) {
                var n = this._getViewLineDomNode(e)
                if (null === n) return null
                var i = this._getLineNumberFor(n)
                if (-1 === i) return null
                if (i < 1 || i > this._context.model.getLineCount()) return null
                if (1 === this._context.model.getLineMaxColumn(i))
                  return new o.Position(i, 1)
                var r = this._visibleLines.getStartLineNumber(),
                  s = this._visibleLines.getEndLineNumber()
                if (i < r || i > s) return null
                var a = this._visibleLines
                    .getVisibleLine(i)
                    .getColumnOfNodeOffset(i, e, t),
                  u = this._context.model.getLineMinColumn(i)
                return a < u && (a = u), new o.Position(i, a)
              }),
              (t.prototype._getViewLineDomNode = function(e) {
                for (; e && 1 === e.nodeType; ) {
                  if (e.className === s.ViewLine.CLASS_NAME) return e
                  e = e.parentElement
                }
                return null
              }),
              (t.prototype._getLineNumberFor = function(e) {
                for (
                  var t = this._visibleLines.getStartLineNumber(),
                    n = this._visibleLines.getEndLineNumber(),
                    i = t;
                  i <= n;
                  i++
                )
                  if (e === this._visibleLines.getVisibleLine(i).getDomNode())
                    return i
                return -1
              }),
              (t.prototype.getLineWidth = function(e) {
                var t = this._visibleLines.getStartLineNumber(),
                  n = this._visibleLines.getEndLineNumber()
                return e < t || e > n
                  ? -1
                  : this._visibleLines.getVisibleLine(e).getWidth()
              }),
              (t.prototype.linesVisibleRangesForRange = function(e, t) {
                if (this.shouldRender()) return null
                var n = e.endLineNumber
                if (
                  !(e = i.Range.intersectRanges(
                    e,
                    this._lastRenderedData.getCurrentVisibleRange()
                  ))
                )
                  return null
                var r,
                  a = [],
                  l = new s.DomReadingContext(
                    this.domNode.domNode,
                    this._textRangeRestingSpot
                  )
                t &&
                  (r = this._context.model.coordinatesConverter.convertViewPositionToModelPosition(
                    new o.Position(e.startLineNumber, 1)
                  ).lineNumber)
                for (
                  var c = this._visibleLines.getStartLineNumber(),
                    d = this._visibleLines.getEndLineNumber(),
                    h = e.startLineNumber;
                  h <= e.endLineNumber;
                  h++
                )
                  if (!(h < c || h > d)) {
                    var p = h === e.startLineNumber ? e.startColumn : 1,
                      f =
                        h === e.endLineNumber
                          ? e.endColumn
                          : this._context.model.getLineMaxColumn(h),
                      g = this._visibleLines
                        .getVisibleLine(h)
                        .getVisibleRangesForRange(p, f, l)
                    g &&
                      0 !== g.length &&
                      (t &&
                        h < n &&
                        r !==
                          (r = this._context.model.coordinatesConverter.convertViewPositionToModelPosition(
                            new o.Position(h + 1, 1)
                          ).lineNumber) &&
                        (g[
                          g.length - 1
                        ].width += this._typicalHalfwidthCharacterWidth),
                      a.push(new u.LineVisibleRanges(h, g)))
                  }
                return 0 === a.length ? null : a
              }),
              (t.prototype.visibleRangesForRange2 = function(e) {
                if (this.shouldRender()) return null
                if (
                  !(e = i.Range.intersectRanges(
                    e,
                    this._lastRenderedData.getCurrentVisibleRange()
                  ))
                )
                  return null
                for (
                  var t = [],
                    n = new s.DomReadingContext(
                      this.domNode.domNode,
                      this._textRangeRestingSpot
                    ),
                    o = this._visibleLines.getStartLineNumber(),
                    r = this._visibleLines.getEndLineNumber(),
                    a = e.startLineNumber;
                  a <= e.endLineNumber;
                  a++
                )
                  if (!(a < o || a > r)) {
                    var u = a === e.startLineNumber ? e.startColumn : 1,
                      l =
                        a === e.endLineNumber
                          ? e.endColumn
                          : this._context.model.getLineMaxColumn(a),
                      c = this._visibleLines
                        .getVisibleLine(a)
                        .getVisibleRangesForRange(u, l, n)
                    c && 0 !== c.length && (t = t.concat(c))
                  }
                return 0 === t.length ? null : t
              }),
              (t.prototype._updateLineWidths = function() {
                for (
                  var e = this._visibleLines.getStartLineNumber(),
                    t = this._visibleLines.getEndLineNumber(),
                    n = 1,
                    i = e;
                  i <= t;
                  i++
                ) {
                  var o = this._visibleLines.getVisibleLine(i).getWidth()
                  n = Math.max(n, o)
                }
                1 === e &&
                  t === this._context.model.getLineCount() &&
                  (this._maxLineWidth = 0),
                  this._ensureMaxLineWidth(n)
              }),
              (t.prototype.prepareRender = function() {
                throw new Error('Not supported')
              }),
              (t.prototype.render = function() {
                throw new Error('Not supported')
              }),
              (t.prototype.renderText = function(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._lastCursorRevealRangeHorizontallyEvent)
                ) {
                  var t = this._lastCursorRevealRangeHorizontallyEvent.range
                  ;(this._lastCursorRevealRangeHorizontallyEvent = null),
                    this.onDidRender()
                  var n = this._computeScrollLeftToRevealRange(t)
                  this._isViewportWrapping ||
                    this._ensureMaxLineWidth(n.maxHorizontalOffset),
                    this._context.viewLayout.setScrollPosition({
                      scrollLeft: n.scrollLeft
                    })
                }
                this._linesContent.setLayerHinting(this._canUseLayerHinting)
                var i =
                  this._context.viewLayout.getScrollTop() - e.bigNumbersDelta
                this._linesContent.setTop(-i),
                  this._linesContent.setLeft(
                    -this._context.viewLayout.getScrollLeft()
                  ),
                  this._asyncUpdateLineWidths.schedule()
              }),
              (t.prototype._ensureMaxLineWidth = function(e) {
                var t = Math.ceil(e)
                this._maxLineWidth < t &&
                  ((this._maxLineWidth = t),
                  this._context.viewLayout.onMaxLineWidthChanged(
                    this._maxLineWidth
                  ))
              }),
              (t.prototype._computeScrollTopToRevealRange = function(e, t, n) {
                var i,
                  o,
                  r = e.top,
                  s = e.height,
                  a = r + s
                ;(i = this._context.viewLayout.getVerticalOffsetForLineNumber(
                  t.startLineNumber
                )),
                  (o =
                    this._context.viewLayout.getVerticalOffsetForLineNumber(
                      t.endLineNumber
                    ) + this._lineHeight),
                  (0 !== n && 4 !== n) || (o += this._lineHeight)
                var u
                if (1 === n || 2 === n)
                  if (2 === n && r <= i && o <= a) u = r
                  else {
                    var l = (i + o) / 2
                    u = Math.max(0, l - s / 2)
                  }
                else
                  u = this._computeMinimumScrolling(
                    r,
                    a,
                    i,
                    o,
                    3 === n,
                    4 === n
                  )
                return u
              }),
              (t.prototype._computeScrollLeftToRevealRange = function(e) {
                var n = 0
                if (e.startLineNumber !== e.endLineNumber)
                  return { scrollLeft: 0, maxHorizontalOffset: n }
                var i = this._context.viewLayout.getCurrentViewport(),
                  o = i.left,
                  r = o + i.width,
                  s = this.visibleRangesForRange2(e),
                  a = Number.MAX_VALUE,
                  u = 0
                if (!s) return { scrollLeft: o, maxHorizontalOffset: n }
                for (var l = 0; l < s.length; l++) {
                  var c = s[l]
                  c.left < a && (a = c.left),
                    c.left + c.width > u && (u = c.left + c.width)
                }
                return (
                  (n = u),
                  (a = Math.max(0, a - t.HORIZONTAL_EXTRA_PX)),
                  (u += this._revealHorizontalRightPadding),
                  {
                    scrollLeft: this._computeMinimumScrolling(o, r, a, u),
                    maxHorizontalOffset: n
                  }
                )
              }),
              (t.prototype._computeMinimumScrolling = function(
                e,
                t,
                n,
                i,
                o,
                r
              ) {
                ;(o = !!o), (r = !!r)
                var s = (t |= 0) - (e |= 0)
                return (i |= 0) - (n |= 0) < s
                  ? o
                    ? n
                    : r
                      ? Math.max(0, i - s)
                      : n < e
                        ? n
                        : i > t
                          ? Math.max(0, i - s)
                          : e
                  : n
              }),
              t
            )
          })(l.ViewPart)
        ;(h.HORIZONTAL_EXTRA_PX = 30), (t.ViewLines = h)
      }),
      define(d[481], h([
        0,
        1,
        35,
        214,
        6,
        136,
        26,
        127,
        2,
        56,
        97,
        15,
        14,
        23,
        325
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p) {
        'use strict'
        function g(e) {
          return 2 === e ? 4 : 4 === e ? 6 : 1 === e ? 2 : 3
        }
        function m(e) {
          return 2 === e ? 2 : 4 === e ? 2 : 1
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var v
        !(function(e) {
          ;(e[(e.None = 0)] = 'None'),
            (e[(e.Small = 1)] = 'Small'),
            (e[(e.Large = 2)] = 'Large'),
            (e[(e.SmallBlocks = 3)] = 'SmallBlocks'),
            (e[(e.LargeBlocks = 4)] = 'LargeBlocks')
        })(v || (v = {}))
        var _ = 140,
          y = (function() {
            function e(e) {
              var t = e.editor.pixelRatio,
                n = e.editor.layoutInfo,
                i = e.editor.viewInfo,
                o = e.editor.fontInfo
              ;(this.renderMinimap = 0 | n.renderMinimap),
                (this.scrollBeyondLastLine = i.scrollBeyondLastLine),
                (this.showSlider = i.minimap.showSlider),
                (this.pixelRatio = t),
                (this.typicalHalfwidthCharacterWidth =
                  o.typicalHalfwidthCharacterWidth),
                (this.lineHeight = e.editor.lineHeight),
                (this.minimapWidth = n.minimapWidth),
                (this.minimapHeight = n.height),
                (this.canvasInnerWidth = Math.max(
                  1,
                  Math.floor(t * this.minimapWidth)
                )),
                (this.canvasInnerHeight = Math.max(
                  1,
                  Math.floor(t * this.minimapHeight)
                )),
                (this.canvasOuterWidth = this.canvasInnerWidth / t),
                (this.canvasOuterHeight = this.canvasInnerHeight / t)
            }
            return (
              (e.prototype.equals = function(e) {
                return (
                  this.renderMinimap === e.renderMinimap &&
                  this.scrollBeyondLastLine === e.scrollBeyondLastLine &&
                  this.showSlider === e.showSlider &&
                  this.pixelRatio === e.pixelRatio &&
                  this.typicalHalfwidthCharacterWidth ===
                    e.typicalHalfwidthCharacterWidth &&
                  this.lineHeight === e.lineHeight &&
                  this.minimapWidth === e.minimapWidth &&
                  this.minimapHeight === e.minimapHeight &&
                  this.canvasInnerWidth === e.canvasInnerWidth &&
                  this.canvasInnerHeight === e.canvasInnerHeight &&
                  this.canvasOuterWidth === e.canvasOuterWidth &&
                  this.canvasOuterHeight === e.canvasOuterHeight
                )
              }),
              e
            )
          })(),
          b = (function() {
            function e(e, t, n, i, o, r, s) {
              ;(this.scrollTop = e),
                (this.scrollHeight = t),
                (this._computedSliderRatio = n),
                (this.sliderTop = i),
                (this.sliderHeight = o),
                (this.startLineNumber = r),
                (this.endLineNumber = s)
            }
            return (
              (e.prototype.getDesiredScrollTopFromDelta = function(e) {
                var t = this.sliderTop + e
                return Math.round(t / this._computedSliderRatio)
              }),
              (e.create = function(t, n, i, o, r, s, a, u, l) {
                var c,
                  d = t.pixelRatio,
                  h = g(t.renderMinimap),
                  p = Math.floor(t.canvasInnerHeight / h),
                  f = t.lineHeight
                if (r && i !== s) {
                  var m = i - n + 1
                  c = Math.floor((m * h) / d)
                } else {
                  var v = o / f
                  c = Math.floor((v * h) / d)
                }
                var _
                _ = t.scrollBeyondLastLine
                  ? ((s - 1) * h) / d
                  : Math.max(0, (s * h) / d - c)
                var y = (_ = Math.min(t.minimapHeight - c, _)) / (u - o),
                  b = a * y
                if (p >= s) return new e(a, u, y, b, c, (C = 1), (w = s))
                var C = Math.max(1, Math.floor(n - (b * d) / h))
                l &&
                  l.scrollHeight === u &&
                  (l.scrollTop > a && (C = Math.min(C, l.startLineNumber)),
                  l.scrollTop < a && (C = Math.max(C, l.startLineNumber)))
                var w = Math.min(s, C + p - 1)
                return new e(a, u, y, b, c, C, w)
              }),
              e
            )
          })(),
          C = (function() {
            function e(e) {
              this.dy = e
            }
            return (
              (e.prototype.onContentChanged = function() {
                this.dy = -1
              }),
              (e.prototype.onTokensChanged = function() {
                this.dy = -1
              }),
              e
            )
          })()
        C.INVALID = new C(-1)
        var w = (function() {
            function e(e, t, n) {
              ;(this.renderedLayout = e),
                (this._imageData = t),
                (this._renderedLines = new a.RenderedLinesCollection(
                  function() {
                    return C.INVALID
                  }
                )),
                this._renderedLines._set(e.startLineNumber, n)
            }
            return (
              (e.prototype.linesEquals = function(e) {
                if (this.renderedLayout.startLineNumber !== e.startLineNumber)
                  return !1
                if (this.renderedLayout.endLineNumber !== e.endLineNumber)
                  return !1
                for (
                  var t = this._renderedLines._get().lines, n = 0, i = t.length;
                  n < i;
                  n++
                )
                  if (-1 === t[n].dy) return !1
                return !0
              }),
              (e.prototype._get = function() {
                var e = this._renderedLines._get()
                return {
                  imageData: this._imageData,
                  rendLineNumberStart: e.rendLineNumberStart,
                  lines: e.lines
                }
              }),
              (e.prototype.onLinesChanged = function(e) {
                return this._renderedLines.onLinesChanged(
                  e.fromLineNumber,
                  e.toLineNumber
                )
              }),
              (e.prototype.onLinesDeleted = function(e) {
                this._renderedLines.onLinesDeleted(
                  e.fromLineNumber,
                  e.toLineNumber
                )
              }),
              (e.prototype.onLinesInserted = function(e) {
                this._renderedLines.onLinesInserted(
                  e.fromLineNumber,
                  e.toLineNumber
                )
              }),
              (e.prototype.onTokensChanged = function(e) {
                return this._renderedLines.onTokensChanged(e.ranges)
              }),
              e
            )
          })(),
          S = (function() {
            function e(t, n, i, o) {
              ;(this._backgroundFillData = e._createBackgroundFillData(
                n,
                i,
                o
              )),
                (this._buffers = [
                  t.createImageData(n, i),
                  t.createImageData(n, i)
                ]),
                (this._lastUsedBuffer = 0)
            }
            return (
              (e.prototype.getBuffer = function() {
                this._lastUsedBuffer = 1 - this._lastUsedBuffer
                var e = this._buffers[this._lastUsedBuffer]
                return e.data.set(this._backgroundFillData), e
              }),
              (e._createBackgroundFillData = function(e, t, n) {
                for (
                  var i = n.r,
                    o = n.g,
                    r = n.b,
                    s = new Uint8ClampedArray(e * t * 4),
                    a = 0,
                    u = 0;
                  u < t;
                  u++
                )
                  for (var l = 0; l < e; l++)
                    (s[a] = i),
                      (s[a + 1] = o),
                      (s[a + 2] = r),
                      (s[a + 3] = 255),
                      (a += 4)
                return s
              }),
              e
            )
          })(),
          E = (function(e) {
            function t(t) {
              var a = e.call(this, t) || this
              return (
                (a._options = new y(a._context.configuration)),
                (a._lastRenderData = null),
                (a._buffers = null),
                (a._domNode = s.createFastDomNode(
                  document.createElement('div')
                )),
                n.PartFingerprints.write(a._domNode, 8),
                a._domNode.setClassName(a._getMinimapDomNodeClassName()),
                a._domNode.setPosition('absolute'),
                a._domNode.setAttribute('role', 'presentation'),
                a._domNode.setAttribute('aria-hidden', 'true'),
                a._domNode.setRight(
                  a._context.configuration.editor.layoutInfo
                    .verticalScrollbarWidth
                ),
                (a._shadow = s.createFastDomNode(
                  document.createElement('div')
                )),
                a._shadow.setClassName('minimap-shadow-hidden'),
                a._domNode.appendChild(a._shadow),
                (a._canvas = s.createFastDomNode(
                  document.createElement('canvas')
                )),
                a._canvas.setPosition('absolute'),
                a._canvas.setLeft(0),
                a._domNode.appendChild(a._canvas),
                (a._slider = s.createFastDomNode(
                  document.createElement('div')
                )),
                a._slider.setPosition('absolute'),
                a._slider.setClassName('minimap-slider'),
                a._slider.setLayerHinting(!0),
                a._domNode.appendChild(a._slider),
                (a._sliderHorizontal = s.createFastDomNode(
                  document.createElement('div')
                )),
                a._sliderHorizontal.setPosition('absolute'),
                a._sliderHorizontal.setClassName('minimap-slider-horizontal'),
                a._slider.appendChild(a._sliderHorizontal),
                (a._tokensColorTracker = r.MinimapTokensColorTracker.getInstance()),
                (a._minimapCharRenderer = i.getOrCreateMinimapCharRenderer()),
                a._applyLayout(),
                (a._mouseDownListener = o.addStandardDisposableListener(
                  a._canvas.domNode,
                  'mousedown',
                  function(e) {
                    e.preventDefault()
                    var t = a._options.renderMinimap
                    if (0 !== t && a._lastRenderData) {
                      var n = g(t),
                        i = a._options.pixelRatio * e.browserEvent.offsetY,
                        o =
                          Math.floor(i / n) +
                          a._lastRenderData.renderedLayout.startLineNumber
                      ;(o = Math.min(o, a._context.model.getLineCount())),
                        a._context.privateViewEventBus.emit(
                          new l.ViewRevealRangeRequestEvent(
                            new u.Range(o, 1, o, 1),
                            1,
                            !1
                          )
                        )
                    }
                  }
                )),
                (a._sliderMouseMoveMonitor = new c.GlobalMouseMoveMonitor()),
                (a._sliderMouseDownListener = o.addStandardDisposableListener(
                  a._slider.domNode,
                  'mousedown',
                  function(e) {
                    if (
                      (e.preventDefault(), e.leftButton && a._lastRenderData)
                    ) {
                      var t = e.posy,
                        n = e.posx,
                        i = a._lastRenderData.renderedLayout
                      a._slider.toggleClassName('active', !0),
                        a._sliderMouseMoveMonitor.startMonitoring(
                          c.standardMouseMoveMerger,
                          function(e) {
                            var o = Math.abs(e.posx - n)
                            if (d.isWindows && o > _)
                              a._context.viewLayout.setScrollPosition({
                                scrollTop: i.scrollTop
                              })
                            else {
                              var r = e.posy - t
                              a._context.viewLayout.setScrollPosition({
                                scrollTop: i.getDesiredScrollTopFromDelta(r)
                              })
                            }
                          },
                          function() {
                            a._slider.toggleClassName('active', !1)
                          }
                        )
                    }
                  }
                )),
                a
              )
            }
            return (
              f(t, e),
              (t.prototype.dispose = function() {
                this._mouseDownListener.dispose(),
                  this._sliderMouseMoveMonitor.dispose(),
                  this._sliderMouseDownListener.dispose(),
                  e.prototype.dispose.call(this)
              }),
              (t.prototype._getMinimapDomNodeClassName = function() {
                return 'always' === this._options.showSlider
                  ? 'minimap slider-always'
                  : 'minimap slider-mouseover'
              }),
              (t.prototype.getDomNode = function() {
                return this._domNode
              }),
              (t.prototype._applyLayout = function() {
                this._domNode.setWidth(this._options.minimapWidth),
                  this._domNode.setHeight(this._options.minimapHeight),
                  this._shadow.setHeight(this._options.minimapHeight),
                  this._canvas.setWidth(this._options.canvasOuterWidth),
                  this._canvas.setHeight(this._options.canvasOuterHeight),
                  (this._canvas.domNode.width = this._options.canvasInnerWidth),
                  (this._canvas.domNode.height = this._options.canvasInnerHeight),
                  this._slider.setWidth(this._options.minimapWidth)
              }),
              (t.prototype._getBuffer = function() {
                return (
                  this._buffers ||
                    (this._buffers = new S(
                      this._canvas.domNode.getContext('2d'),
                      this._options.canvasInnerWidth,
                      this._options.canvasInnerHeight,
                      this._tokensColorTracker.getColor(2)
                    )),
                  this._buffers.getBuffer()
                )
              }),
              (t.prototype._onOptionsMaybeChanged = function() {
                var e = new y(this._context.configuration)
                return (
                  !this._options.equals(e) &&
                  ((this._options = e),
                  (this._lastRenderData = null),
                  (this._buffers = null),
                  this._applyLayout(),
                  this._domNode.setClassName(
                    this._getMinimapDomNodeClassName()
                  ),
                  !0)
                )
              }),
              (t.prototype.onConfigurationChanged = function(e) {
                return this._onOptionsMaybeChanged()
              }),
              (t.prototype.onFlushed = function(e) {
                return (this._lastRenderData = null), !0
              }),
              (t.prototype.onLinesChanged = function(e) {
                return (
                  !!this._lastRenderData &&
                  this._lastRenderData.onLinesChanged(e)
                )
              }),
              (t.prototype.onLinesDeleted = function(e) {
                return (
                  this._lastRenderData &&
                    this._lastRenderData.onLinesDeleted(e),
                  !0
                )
              }),
              (t.prototype.onLinesInserted = function(e) {
                return (
                  this._lastRenderData &&
                    this._lastRenderData.onLinesInserted(e),
                  !0
                )
              }),
              (t.prototype.onScrollChanged = function(e) {
                return !0
              }),
              (t.prototype.onTokensChanged = function(e) {
                return (
                  !!this._lastRenderData &&
                  this._lastRenderData.onTokensChanged(e)
                )
              }),
              (t.prototype.onTokensColorsChanged = function(e) {
                return (this._lastRenderData = null), (this._buffers = null), !0
              }),
              (t.prototype.onZonesChanged = function(e) {
                return (this._lastRenderData = null), !0
              }),
              (t.prototype.prepareRender = function(e) {}),
              (t.prototype.render = function(e) {
                if (0 !== this._options.renderMinimap) {
                  e.scrollLeft + e.viewportWidth >= e.scrollWidth
                    ? this._shadow.setClassName('minimap-shadow-hidden')
                    : this._shadow.setClassName('minimap-shadow-visible')
                  var t = b.create(
                    this._options,
                    e.visibleRange.startLineNumber,
                    e.visibleRange.endLineNumber,
                    e.viewportHeight,
                    e.viewportData.whitespaceViewportData.length > 0,
                    this._context.model.getLineCount(),
                    e.scrollTop,
                    e.scrollHeight,
                    this._lastRenderData
                      ? this._lastRenderData.renderedLayout
                      : null
                  )
                  this._slider.setTop(t.sliderTop),
                    this._slider.setHeight(t.sliderHeight)
                  var n =
                      e.scrollLeft /
                      this._options.typicalHalfwidthCharacterWidth,
                    i = Math.min(
                      this._options.minimapWidth,
                      Math.round(
                        (n * m(this._options.renderMinimap)) /
                          this._options.pixelRatio
                      )
                    )
                  this._sliderHorizontal.setLeft(i),
                    this._sliderHorizontal.setWidth(
                      this._options.minimapWidth - i
                    ),
                    this._sliderHorizontal.setTop(0),
                    this._sliderHorizontal.setHeight(t.sliderHeight),
                    (this._lastRenderData = this.renderLines(t))
                } else this._shadow.setClassName('minimap-shadow-hidden')
              }),
              (t.prototype.renderLines = function(e) {
                var n = this._options.renderMinimap,
                  i = e.startLineNumber,
                  o = e.endLineNumber,
                  r = g(n)
                if (
                  this._lastRenderData &&
                  this._lastRenderData.linesEquals(e)
                ) {
                  var s = this._lastRenderData._get()
                  return new w(e, s.imageData, s.lines)
                }
                for (
                  var a = this._getBuffer(),
                    u = t._renderUntouchedLines(
                      a,
                      i,
                      o,
                      r,
                      this._lastRenderData
                    ),
                    l = this._context.model.getMinimapLinesRenderingData(
                      i,
                      o,
                      u
                    ),
                    c = l.tabSize,
                    d = this._tokensColorTracker.getColor(2),
                    h = this._tokensColorTracker.backgroundIsLight(),
                    p = 0,
                    f = [],
                    m = 0,
                    v = o - i + 1;
                  m < v;
                  m++
                )
                  u[m] &&
                    t._renderLine(
                      a,
                      d,
                      h,
                      n,
                      this._tokensColorTracker,
                      this._minimapCharRenderer,
                      p,
                      c,
                      l.data[m]
                    ),
                    (f[m] = new C(p)),
                    (p += r)
                return (
                  this._canvas.domNode.getContext('2d').putImageData(a, 0, 0),
                  new w(e, a, f)
                )
              }),
              (t._renderUntouchedLines = function(e, t, n, i, o) {
                var r = []
                if (!o) {
                  for (var s = 0, a = n - t + 1; s < a; s++) r[s] = !0
                  return r
                }
                for (
                  var u = o._get(),
                    l = u.imageData.data,
                    c = u.rendLineNumberStart,
                    d = u.lines,
                    h = d.length,
                    p = e.width,
                    f = e.data,
                    g = -1,
                    m = -1,
                    v = -1,
                    _ = -1,
                    y = 0,
                    b = t;
                  b <= n;
                  b++
                ) {
                  var C = b - t,
                    w = b - c,
                    S = w >= 0 && w < h ? d[w].dy : -1
                  if (-1 !== S) {
                    var E = S * p * 4,
                      L = (S + i) * p * 4,
                      x = y * p * 4,
                      N = (y + i) * p * 4
                    m === E && _ === x
                      ? ((m = L), (_ = N))
                      : (-1 !== g && f.set(l.subarray(g, m), v),
                        (g = E),
                        (m = L),
                        (v = x),
                        (_ = N)),
                      (r[C] = !1),
                      (y += i)
                  } else (r[C] = !0), (y += i)
                }
                return -1 !== g && f.set(l.subarray(g, m), v), r
              }),
              (t._renderLine = function(e, t, n, i, o, r, s, a, u) {
                for (
                  var l = u.content,
                    c = u.tokens,
                    d = m(i),
                    h = e.width - d,
                    p = 0,
                    f = 0,
                    g = 0,
                    v = 0,
                    _ = c.length;
                  v < _;
                  v++
                )
                  for (
                    var y = c[v],
                      b = y.endIndex,
                      C = y.getForeground(),
                      w = o.getColor(C);
                    f < b;
                    f++
                  ) {
                    if (p > h) return
                    var S = l.charCodeAt(f)
                    if (9 === S) {
                      var E = a - ((f + g) % a)
                      ;(g += E - 1), (p += E * d)
                    } else
                      32 === S
                        ? (p += d)
                        : (2 === i
                            ? r.x2RenderChar(e, p, s, S, w, t, n)
                            : 1 === i
                              ? r.x1RenderChar(e, p, s, S, w, t, n)
                              : 4 === i
                                ? r.x2BlockRenderChar(e, p, s, w, t, n)
                                : r.x1BlockRenderChar(e, p, s, w, t, n),
                          (p += d))
                  }
              }),
              t
            )
          })(n.ViewPart)
        ;(t.Minimap = E),
          h.registerThemingParticipant(function(e, t) {
            var n = e.getColor(p.scrollbarSliderBackground)
            if (n) {
              var i = n.transparent(0.5)
              t.addRule(
                '.monaco-editor .minimap-slider, .monaco-editor .minimap-slider .minimap-slider-horizontal { background: ' +
                  i +
                  '; }'
              )
            }
            var o = e.getColor(p.scrollbarSliderHoverBackground)
            if (o) {
              var r = o.transparent(0.5)
              t.addRule(
                '.monaco-editor .minimap-slider:hover, .monaco-editor .minimap-slider:hover .minimap-slider-horizontal { background: ' +
                  r +
                  '; }'
              )
            }
            var s = e.getColor(p.scrollbarSliderActiveBackground)
            if (s) {
              var a = s.transparent(0.5)
              t.addRule(
                '.monaco-editor .minimap-slider.active, .monaco-editor .minimap-slider.active .minimap-slider-horizontal { background: ' +
                  a +
                  '; }'
              )
            }
            var u = e.getColor(p.scrollbarShadow)
            u &&
              t.addRule(
                '.monaco-editor .minimap-shadow-visible { box-shadow: ' +
                  u +
                  ' -6px 0 6px -6px inset; }'
              )
          })
      }),
      define(d[482], h([0, 1, 26, 35, 14, 23, 317]), function(
        e,
        t,
        n,
        i,
        o,
        r
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = (function(e) {
          function t(t) {
            var i = e.call(this, t) || this
            return (
              (i._scrollTop = 0),
              (i._width = 0),
              i._updateWidth(),
              (i._shouldShow = !1),
              (i._useShadows =
                i._context.configuration.editor.viewInfo.scrollbar.useShadows),
              (i._domNode = n.createFastDomNode(document.createElement('div'))),
              i._domNode.setAttribute('role', 'presentation'),
              i._domNode.setAttribute('aria-hidden', 'true'),
              i
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              e.prototype.dispose.call(this)
            }),
            (t.prototype._updateShouldShow = function() {
              var e = this._useShadows && this._scrollTop > 0
              return this._shouldShow !== e && ((this._shouldShow = e), !0)
            }),
            (t.prototype.getDomNode = function() {
              return this._domNode
            }),
            (t.prototype._updateWidth = function() {
              var e = this._context.configuration.editor.layoutInfo,
                t = e.width - e.minimapWidth
              return this._width !== t && ((this._width = t), !0)
            }),
            (t.prototype.onConfigurationChanged = function(e) {
              var t = !1
              return (
                e.viewInfo &&
                  (this._useShadows = this._context.configuration.editor.viewInfo.scrollbar.useShadows),
                e.layoutInfo && (t = this._updateWidth()),
                this._updateShouldShow() || t
              )
            }),
            (t.prototype.onScrollChanged = function(e) {
              return (this._scrollTop = e.scrollTop), this._updateShouldShow()
            }),
            (t.prototype.prepareRender = function(e) {}),
            (t.prototype.render = function(e) {
              this._domNode.setWidth(this._width),
                this._domNode.setClassName(
                  this._shouldShow ? 'scroll-decoration' : ''
                )
            }),
            t
          )
        })(i.ViewPart)
        ;(t.ScrollDecorationViewPart = s),
          o.registerThemingParticipant(function(e, t) {
            var n = e.getColor(r.scrollbarShadow)
            n &&
              t.addRule(
                '.monaco-editor .scroll-decoration { box-shadow: ' +
                  n +
                  ' 0 6px 6px -6px inset; }'
              )
          })
      }),
      define(d[483], h([0, 1, 14, 23, 60, 30, 315]), function(
        e,
        t,
        n,
        i,
        o,
        r
      ) {
        'use strict'
        function s(e) {
          return new l(e)
        }
        function a(e) {
          return new c(e.lineNumber, e.ranges.map(s))
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var u
        !(function(e) {
          ;(e[(e.EXTERN = 0)] = 'EXTERN'),
            (e[(e.INTERN = 1)] = 'INTERN'),
            (e[(e.FLAT = 2)] = 'FLAT')
        })(u || (u = {}))
        var l = (function() {
            return function(e) {
              ;(this.left = e.left),
                (this.width = e.width),
                (this.startStyle = null),
                (this.endStyle = null)
            }
          })(),
          c = (function() {
            return function(e, t) {
              ;(this.lineNumber = e), (this.ranges = t)
            }
          })(),
          d = r.isEdgeOrIE,
          h = (function(e) {
            function t(t) {
              var n = e.call(this) || this
              return (
                (n._previousFrameVisibleRangesWithStyle = []),
                (n._context = t),
                (n._lineHeight = n._context.configuration.editor.lineHeight),
                (n._roundedSelection =
                  n._context.configuration.editor.viewInfo.roundedSelection),
                (n._selections = []),
                (n._renderResult = null),
                n._context.addEventHandler(n),
                n
              )
            }
            return (
              f(t, e),
              (t.prototype.dispose = function() {
                this._context.removeEventHandler(this),
                  (this._context = null),
                  (this._selections = null),
                  (this._renderResult = null),
                  e.prototype.dispose.call(this)
              }),
              (t.prototype.onConfigurationChanged = function(e) {
                return (
                  e.lineHeight &&
                    (this._lineHeight = this._context.configuration.editor.lineHeight),
                  e.viewInfo &&
                    (this._roundedSelection = this._context.configuration.editor.viewInfo.roundedSelection),
                  !0
                )
              }),
              (t.prototype.onCursorStateChanged = function(e) {
                return (this._selections = e.selections.slice(0)), !0
              }),
              (t.prototype.onDecorationsChanged = function(e) {
                return !0
              }),
              (t.prototype.onFlushed = function(e) {
                return !0
              }),
              (t.prototype.onLinesChanged = function(e) {
                return !0
              }),
              (t.prototype.onLinesDeleted = function(e) {
                return !0
              }),
              (t.prototype.onLinesInserted = function(e) {
                return !0
              }),
              (t.prototype.onScrollChanged = function(e) {
                return e.scrollTopChanged
              }),
              (t.prototype.onZonesChanged = function(e) {
                return !0
              }),
              (t.prototype._visibleRangesHaveGaps = function(e) {
                for (var t = 0, n = e.length; t < n; t++)
                  if (e[t].ranges.length > 1) return !0
                return !1
              }),
              (t.prototype._enrichVisibleRangesWithStyle = function(e, t) {
                var n = null,
                  i = null
                if (t && t.length > 0 && e.length > 0) {
                  for (var o = e[0].lineNumber, r = 0; !n && r < t.length; r++)
                    t[r].lineNumber === o && (n = t[r].ranges[0])
                  for (
                    var s = e[e.length - 1].lineNumber, r = t.length - 1;
                    !i && r >= 0;
                    r--
                  )
                    t[r].lineNumber === s && (i = t[r].ranges[0])
                  n && !n.startStyle && (n = null),
                    i && !i.startStyle && (i = null)
                }
                for (var r = 0, a = e.length; r < a; r++) {
                  var u = e[r].ranges[0],
                    l = u.left,
                    c = u.left + u.width,
                    d = { top: 0, bottom: 0 },
                    h = { top: 0, bottom: 0 }
                  if (r > 0) {
                    var p = e[r - 1].ranges[0].left,
                      f = e[r - 1].ranges[0].left + e[r - 1].ranges[0].width
                    l === p ? (d.top = 2) : l > p && (d.top = 1),
                      c === f ? (h.top = 2) : p < c && c < f && (h.top = 1)
                  } else
                    n && ((d.top = n.startStyle.top), (h.top = n.endStyle.top))
                  if (r + 1 < a) {
                    var g = e[r + 1].ranges[0].left,
                      m = e[r + 1].ranges[0].left + e[r + 1].ranges[0].width
                    l === g ? (d.bottom = 2) : g < l && l < m && (d.bottom = 1),
                      c === m ? (h.bottom = 2) : c < m && (h.bottom = 1)
                  } else
                    i &&
                      ((d.bottom = i.startStyle.bottom),
                      (h.bottom = i.endStyle.bottom))
                  ;(u.startStyle = d), (u.endStyle = h)
                }
              }),
              (t.prototype._getVisibleRangesWithStyle = function(e, t, n) {
                var i = (t.linesVisibleRangesForRange(e, !0) || []).map(a),
                  o = this._visibleRangesHaveGaps(i)
                return (
                  d ||
                    o ||
                    !this._roundedSelection ||
                    this._enrichVisibleRangesWithStyle(i, n),
                  i
                )
              }),
              (t.prototype._createSelectionPiece = function(e, t, n, i, o) {
                return (
                  '<div class="cslr ' +
                  n +
                  '" style="top:' +
                  e.toString() +
                  'px;left:' +
                  i.toString() +
                  'px;width:' +
                  o.toString() +
                  'px;height:' +
                  t +
                  'px;"></div>'
                )
              }),
              (t.prototype._actualRenderOneSelection = function(e, n, i, o) {
                for (
                  var r = o.length > 0 && o[0].ranges[0].startStyle,
                    s = this._lineHeight.toString(),
                    a = (this._lineHeight - 1).toString(),
                    u = o.length > 0 ? o[0].lineNumber : 0,
                    l = o.length > 0 ? o[o.length - 1].lineNumber : 0,
                    c = 0,
                    d = o.length;
                  c < d;
                  c++
                ) {
                  for (
                    var h = o[c],
                      p = h.lineNumber,
                      f = p - n,
                      g = i && (p === l || p === u) ? a : s,
                      m = i && p === u ? 1 : 0,
                      v = '',
                      _ = 0,
                      y = h.ranges.length;
                    _ < y;
                    _++
                  ) {
                    var b = h.ranges[_]
                    if (r) {
                      if (1 === b.startStyle.top || 1 === b.startStyle.bottom) {
                        v += this._createSelectionPiece(
                          m,
                          g,
                          t.SELECTION_CLASS_NAME,
                          b.left - t.ROUNDED_PIECE_WIDTH,
                          t.ROUNDED_PIECE_WIDTH
                        )
                        var C = t.EDITOR_BACKGROUND_CLASS_NAME
                        1 === b.startStyle.top &&
                          (C += ' ' + t.SELECTION_TOP_RIGHT),
                          1 === b.startStyle.bottom &&
                            (C += ' ' + t.SELECTION_BOTTOM_RIGHT),
                          (v += this._createSelectionPiece(
                            m,
                            g,
                            C,
                            b.left - t.ROUNDED_PIECE_WIDTH,
                            t.ROUNDED_PIECE_WIDTH
                          ))
                      }
                      if (1 === b.endStyle.top || 1 === b.endStyle.bottom) {
                        v += this._createSelectionPiece(
                          m,
                          g,
                          t.SELECTION_CLASS_NAME,
                          b.left + b.width,
                          t.ROUNDED_PIECE_WIDTH
                        )
                        var w = t.EDITOR_BACKGROUND_CLASS_NAME
                        1 === b.endStyle.top &&
                          (w += ' ' + t.SELECTION_TOP_LEFT),
                          1 === b.endStyle.bottom &&
                            (w += ' ' + t.SELECTION_BOTTOM_LEFT),
                          (v += this._createSelectionPiece(
                            m,
                            g,
                            w,
                            b.left + b.width,
                            t.ROUNDED_PIECE_WIDTH
                          ))
                      }
                    }
                    var S = t.SELECTION_CLASS_NAME
                    r &&
                      (0 === b.startStyle.top &&
                        (S += ' ' + t.SELECTION_TOP_LEFT),
                      0 === b.startStyle.bottom &&
                        (S += ' ' + t.SELECTION_BOTTOM_LEFT),
                      0 === b.endStyle.top &&
                        (S += ' ' + t.SELECTION_TOP_RIGHT),
                      0 === b.endStyle.bottom &&
                        (S += ' ' + t.SELECTION_BOTTOM_RIGHT)),
                      (v += this._createSelectionPiece(
                        m,
                        g,
                        S,
                        b.left,
                        b.width
                      ))
                  }
                  e[f] += v
                }
              }),
              (t.prototype.prepareRender = function(e) {
                for (
                  var t = [],
                    n = e.visibleRange.startLineNumber,
                    i = e.visibleRange.endLineNumber,
                    o = n;
                  o <= i;
                  o++
                )
                  t[o - n] = ''
                for (
                  var r = [], s = 0, a = this._selections.length;
                  s < a;
                  s++
                ) {
                  var u = this._selections[s]
                  if (u.isEmpty()) r.push(null)
                  else {
                    var l = this._getVisibleRangesWithStyle(
                      u,
                      e,
                      this._previousFrameVisibleRangesWithStyle[s]
                    )
                    r.push(l),
                      this._actualRenderOneSelection(
                        t,
                        n,
                        this._selections.length > 1,
                        l
                      )
                  }
                }
                ;(this._previousFrameVisibleRangesWithStyle = r),
                  (this._renderResult = t)
              }),
              (t.prototype.render = function(e, t) {
                if (!this._renderResult) return ''
                var n = t - e
                if (n < 0 || n >= this._renderResult.length)
                  throw new Error('Unexpected render request')
                return this._renderResult[n]
              }),
              t
            )
          })(o.DynamicViewOverlay)
        ;(h.SELECTION_CLASS_NAME = 'selected-text'),
          (h.SELECTION_TOP_LEFT = 'top-left-radius'),
          (h.SELECTION_BOTTOM_LEFT = 'bottom-left-radius'),
          (h.SELECTION_TOP_RIGHT = 'top-right-radius'),
          (h.SELECTION_BOTTOM_RIGHT = 'bottom-right-radius'),
          (h.EDITOR_BACKGROUND_CLASS_NAME = 'monaco-editor-background'),
          (h.ROUNDED_PIECE_WIDTH = 10),
          (t.SelectionsOverlay = h),
          n.registerThemingParticipant(function(e, t) {
            var n = e.getColor(i.editorSelectionBackground)
            n &&
              t.addRule(
                '.monaco-editor .focused .selected-text { background-color: ' +
                  n +
                  '; }'
              )
            var o = e.getColor(i.editorInactiveSelection)
            o &&
              t.addRule(
                '.monaco-editor .selected-text { background-color: ' + o + '; }'
              )
            var r = e.getColor(i.editorSelectionForeground)
            r &&
              t.addRule(
                '.monaco-editor .view-line span.inline-selected-text { color: ' +
                  r +
                  '; }'
              )
          })
      }),
      define(d[36], h([0, 1, 330, 23, 14, 34]), function(e, t, n, i, o, r) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.editorLineHighlight = i.registerColor(
            'editor.lineHighlightBackground',
            { dark: null, light: null, hc: null },
            n.localize(0, null)
          )),
          (t.editorLineHighlightBorder = i.registerColor(
            'editor.lineHighlightBorder',
            { dark: '#282828', light: '#eeeeee', hc: '#f38518' },
            n.localize(1, null)
          )),
          (t.editorRangeHighlight = i.registerColor(
            'editor.rangeHighlightBackground',
            { dark: '#ffffff0b', light: '#fdff0033', hc: null },
            n.localize(2, null)
          )),
          (t.editorCursor = i.registerColor(
            'editorCursor.foreground',
            { dark: '#AEAFAD', light: r.Color.black, hc: r.Color.white },
            n.localize(3, null)
          )),
          (t.editorWhitespaces = i.registerColor(
            'editorWhitespace.foreground',
            { dark: '#e3e4e229', light: '#33333333', hc: '#e3e4e229' },
            n.localize(4, null)
          )),
          (t.editorIndentGuides = i.registerColor(
            'editorIndentGuide.background',
            {
              dark: t.editorWhitespaces,
              light: t.editorWhitespaces,
              hc: t.editorWhitespaces
            },
            n.localize(5, null)
          )),
          (t.editorLineNumbers = i.registerColor(
            'editorLineNumber.foreground',
            { dark: '#5A5A5A', light: '#2B91AF', hc: r.Color.white },
            n.localize(6, null)
          )),
          (t.editorRuler = i.registerColor(
            'editorRuler.foreground',
            { dark: '#5A5A5A', light: r.Color.lightgrey, hc: r.Color.white },
            n.localize(7, null)
          )),
          (t.editorCodeLensForeground = i.registerColor(
            'editorCodeLens.foreground',
            { dark: '#999999', light: '#999999', hc: '#999999' },
            n.localize(8, null)
          )),
          (t.editorBracketMatchBackground = i.registerColor(
            'editorBracketMatch.background',
            { dark: '#0064001a', light: '#0064001a', hc: '#0064001a' },
            n.localize(9, null)
          )),
          (t.editorBracketMatchBorder = i.registerColor(
            'editorBracketMatch.border',
            { dark: '#888', light: '#B9B9B9', hc: '#fff' },
            n.localize(10, null)
          )),
          (t.editorOverviewRulerBorder = i.registerColor(
            'editorOverviewRuler.border',
            { dark: '#7f7f7f4d', light: '#7f7f7f4d', hc: '#7f7f7f4d' },
            n.localize(11, null)
          )),
          (t.editorGutter = i.registerColor(
            'editorGutter.background',
            {
              dark: i.editorBackground,
              light: i.editorBackground,
              hc: i.editorBackground
            },
            n.localize(12, null)
          )),
          (t.editorErrorForeground = i.registerColor(
            'editorError.foreground',
            { dark: '#FF0000', light: '#FF0000', hc: null },
            n.localize(13, null)
          )),
          (t.editorErrorBorder = i.registerColor(
            'editorError.border',
            {
              dark: null,
              light: null,
              hc: r.Color.fromHex('#E47777').transparent(0.8)
            },
            n.localize(14, null)
          )),
          (t.editorWarningForeground = i.registerColor(
            'editorWarning.foreground',
            { dark: '#008000', light: '#008000', hc: null },
            n.localize(15, null)
          )),
          (t.editorWarningBorder = i.registerColor(
            'editorWarning.border',
            {
              dark: null,
              light: null,
              hc: r.Color.fromHex('#71B771').transparent(0.8)
            },
            n.localize(16, null)
          )),
          o.registerThemingParticipant(function(e, n) {
            var o = e.getColor(i.editorBackground)
            o &&
              n.addRule(
                '.monaco-editor, .monaco-editor-background, .monaco-editor .inputarea.ime-input { background-color: ' +
                  o +
                  '; }'
              )
            var r = e.getColor(i.editorForeground)
            r &&
              n.addRule(
                '.monaco-editor, .monaco-editor .inputarea.ime-input { color: ' +
                  r +
                  '; }'
              )
            var s = e.getColor(t.editorGutter)
            s &&
              n.addRule(
                '.monaco-editor .margin { background-color: ' + s + '; }'
              )
            var a = e.getColor(t.editorRangeHighlight)
            a &&
              n.addRule(
                '.monaco-editor .rangeHighlight { background-color: ' +
                  a +
                  '; }'
              )
            var u = e.getColor(i.activeContrastBorder)
            u &&
              n.addRule(
                '.monaco-editor .rangeHighlight { border: 1px dotted ' +
                  u +
                  '; }; }'
              )
            var l = e.getColor(t.editorWhitespaces)
            l && n.addRule('.vs-whitespace { color: ' + l + ' !important; }')
          })
      }),
      define(d[485], h([0, 1, 60, 14, 36, 385]), function(e, t, n, i, o) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = (function(e) {
          function t(t) {
            var n = e.call(this) || this
            return (
              (n._context = t),
              (n._lineHeight = n._context.configuration.editor.lineHeight),
              (n._readOnly = n._context.configuration.editor.readOnly),
              (n._renderLineHighlight =
                n._context.configuration.editor.viewInfo.renderLineHighlight),
              (n._selectionIsEmpty = !0),
              (n._primaryCursorIsInEditableRange = !0),
              (n._primaryCursorLineNumber = 1),
              (n._scrollWidth = 0),
              (n._contentWidth =
                n._context.configuration.editor.layoutInfo.contentWidth),
              n._context.addEventHandler(n),
              n
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              this._context.removeEventHandler(this),
                (this._context = null),
                e.prototype.dispose.call(this)
            }),
            (t.prototype.onConfigurationChanged = function(e) {
              return (
                e.lineHeight &&
                  (this._lineHeight = this._context.configuration.editor.lineHeight),
                e.readOnly &&
                  (this._readOnly = this._context.configuration.editor.readOnly),
                e.viewInfo &&
                  (this._renderLineHighlight = this._context.configuration.editor.viewInfo.renderLineHighlight),
                e.layoutInfo &&
                  (this._contentWidth = this._context.configuration.editor.layoutInfo.contentWidth),
                !0
              )
            }),
            (t.prototype.onCursorStateChanged = function(e) {
              var t = !1
              this._primaryCursorIsInEditableRange !== e.isInEditableRange &&
                ((this._primaryCursorIsInEditableRange = e.isInEditableRange),
                (t = !0))
              var n = e.selections[0].positionLineNumber
              this._primaryCursorLineNumber !== n &&
                ((this._primaryCursorLineNumber = n), (t = !0))
              var i = e.selections[0].isEmpty()
              return this._selectionIsEmpty !== i
                ? ((this._selectionIsEmpty = i), (t = !0), !0)
                : t
            }),
            (t.prototype.onFlushed = function(e) {
              return !0
            }),
            (t.prototype.onLinesDeleted = function(e) {
              return !0
            }),
            (t.prototype.onLinesInserted = function(e) {
              return !0
            }),
            (t.prototype.onScrollChanged = function(e) {
              return e.scrollWidthChanged
            }),
            (t.prototype.onZonesChanged = function(e) {
              return !0
            }),
            (t.prototype.prepareRender = function(e) {
              this._scrollWidth = e.scrollWidth
            }),
            (t.prototype.render = function(e, t) {
              return t === this._primaryCursorLineNumber &&
                this._shouldShowCurrentLine()
                ? '<div class="current-line" style="width:' +
                    String(Math.max(this._scrollWidth, this._contentWidth)) +
                    'px; height:' +
                    String(this._lineHeight) +
                    'px;"></div>'
                : ''
            }),
            (t.prototype._shouldShowCurrentLine = function() {
              return (
                ('line' === this._renderLineHighlight ||
                  'all' === this._renderLineHighlight) &&
                this._selectionIsEmpty &&
                this._primaryCursorIsInEditableRange
              )
            }),
            t
          )
        })(n.DynamicViewOverlay)
        ;(t.CurrentLineHighlightOverlay = r),
          i.registerThemingParticipant(function(e, t) {
            var n = e.getColor(o.editorLineHighlight)
            if (
              (n &&
                t.addRule(
                  '.monaco-editor .view-overlays .current-line { background-color: ' +
                    n +
                    '; }'
                ),
              !n || n.isTransparent() || e.defines(o.editorLineHighlightBorder))
            ) {
              var i = e.getColor(o.editorLineHighlightBorder)
              i &&
                (t.addRule(
                  '.monaco-editor .view-overlays .current-line { border: 2px solid ' +
                    i +
                    '; }'
                ),
                'hc' === e.type &&
                  t.addRule(
                    '.monaco-editor .view-overlays .current-line { border-width: 1px; }'
                  ))
            }
          })
      }),
      define(d[486], h([0, 1, 60, 14, 36, 384]), function(e, t, n, i, o) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var r = (function(e) {
          function t(t) {
            var n = e.call(this) || this
            return (
              (n._context = t),
              (n._lineHeight = n._context.configuration.editor.lineHeight),
              (n._renderLineHighlight =
                n._context.configuration.editor.viewInfo.renderLineHighlight),
              (n._primaryCursorIsInEditableRange = !0),
              (n._primaryCursorLineNumber = 1),
              (n._contentLeft =
                n._context.configuration.editor.layoutInfo.contentLeft),
              n._context.addEventHandler(n),
              n
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              this._context.removeEventHandler(this),
                (this._context = null),
                e.prototype.dispose.call(this)
            }),
            (t.prototype.onConfigurationChanged = function(e) {
              return (
                e.lineHeight &&
                  (this._lineHeight = this._context.configuration.editor.lineHeight),
                e.viewInfo &&
                  (this._renderLineHighlight = this._context.configuration.editor.viewInfo.renderLineHighlight),
                e.layoutInfo &&
                  (this._contentLeft = this._context.configuration.editor.layoutInfo.contentLeft),
                !0
              )
            }),
            (t.prototype.onCursorStateChanged = function(e) {
              var t = !1
              this._primaryCursorIsInEditableRange !== e.isInEditableRange &&
                ((this._primaryCursorIsInEditableRange = e.isInEditableRange),
                (t = !0))
              var n = e.selections[0].positionLineNumber
              return (
                this._primaryCursorLineNumber !== n &&
                  ((this._primaryCursorLineNumber = n), (t = !0)),
                t
              )
            }),
            (t.prototype.onFlushed = function(e) {
              return !0
            }),
            (t.prototype.onLinesDeleted = function(e) {
              return !0
            }),
            (t.prototype.onLinesInserted = function(e) {
              return !0
            }),
            (t.prototype.onZonesChanged = function(e) {
              return !0
            }),
            (t.prototype.prepareRender = function(e) {}),
            (t.prototype.render = function(e, t) {
              return t === this._primaryCursorLineNumber &&
                this._shouldShowCurrentLine()
                ? '<div class="current-line-margin" style="width:' +
                    String(this._contentLeft) +
                    'px; height:' +
                    String(this._lineHeight) +
                    'px;"></div>'
                : ''
            }),
            (t.prototype._shouldShowCurrentLine = function() {
              return (
                ('gutter' === this._renderLineHighlight ||
                  'all' === this._renderLineHighlight) &&
                this._primaryCursorIsInEditableRange
              )
            }),
            t
          )
        })(n.DynamicViewOverlay)
        ;(t.CurrentLineMarginHighlightOverlay = r),
          i.registerThemingParticipant(function(e, t) {
            var n = e.getColor(o.editorLineHighlight)
            if (n)
              t.addRule(
                '.monaco-editor .margin-view-overlays .current-line-margin { background-color: ' +
                  n +
                  '; border: none; }'
              )
            else {
              var i = e.getColor(o.editorLineHighlightBorder)
              i &&
                t.addRule(
                  '.monaco-editor .margin-view-overlays .current-line-margin { border: 2px solid ' +
                    i +
                    '; }'
                ),
                'hc' === e.type &&
                  t.addRule(
                    '.monaco-editor .margin-view-overlays .current-line-margin { border-width: 1px; }'
                  )
            }
          })
      }),
      define(d[487], h([0, 1, 60, 14, 36, 6, 381]), function(e, t, n, i, o, r) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = (function(e) {
          function t(t) {
            var n = e.call(this) || this
            return (
              (n._context = t),
              (n._lineHeight = n._context.configuration.editor.lineHeight),
              (n._spaceWidth =
                n._context.configuration.editor.fontInfo.spaceWidth),
              (n._enabled =
                n._context.configuration.editor.viewInfo.renderIndentGuides),
              (n._renderResult = null),
              n._context.addEventHandler(n),
              n
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              this._context.removeEventHandler(this),
                (this._context = null),
                (this._renderResult = null),
                e.prototype.dispose.call(this)
            }),
            (t.prototype.onConfigurationChanged = function(e) {
              return (
                e.lineHeight &&
                  (this._lineHeight = this._context.configuration.editor.lineHeight),
                e.fontInfo &&
                  (this._spaceWidth = this._context.configuration.editor.fontInfo.spaceWidth),
                e.viewInfo &&
                  (this._enabled = this._context.configuration.editor.viewInfo.renderIndentGuides),
                !0
              )
            }),
            (t.prototype.onFlushed = function(e) {
              return !0
            }),
            (t.prototype.onLinesChanged = function(e) {
              return !0
            }),
            (t.prototype.onLinesDeleted = function(e) {
              return !0
            }),
            (t.prototype.onLinesInserted = function(e) {
              return !0
            }),
            (t.prototype.onScrollChanged = function(e) {
              return e.scrollTopChanged
            }),
            (t.prototype.onZonesChanged = function(e) {
              return !0
            }),
            (t.prototype.prepareRender = function(e) {
              if (this._enabled) {
                for (
                  var t = e.visibleRange.startLineNumber,
                    n = e.visibleRange.endLineNumber,
                    i = this._context.model.getTabSize() * this._spaceWidth,
                    o = this._lineHeight,
                    s = r.computeScreenAwareSize(1),
                    a = [],
                    u = t;
                  u <= n;
                  u++
                ) {
                  for (
                    var l = u - t,
                      c = this._context.model.getLineIndentGuide(u),
                      d = '',
                      h = 0,
                      p = 0;
                    p < c;
                    p++
                  )
                    (d +=
                      '<div class="cigr" style="left:' +
                      h +
                      'px;height:' +
                      o +
                      'px;width:' +
                      s +
                      'px"></div>'),
                      (h += i)
                  a[l] = d
                }
                this._renderResult = a
              } else this._renderResult = null
            }),
            (t.prototype.render = function(e, t) {
              if (!this._renderResult) return ''
              var n = t - e
              if (n < 0 || n >= this._renderResult.length)
                throw new Error('Unexpected render request')
              return this._renderResult[n]
            }),
            t
          )
        })(n.DynamicViewOverlay)
        ;(t.IndentGuidesOverlay = s),
          i.registerThemingParticipant(function(e, t) {
            var n = e.getColor(o.editorIndentGuides)
            n &&
              t.addRule(
                '.monaco-editor .lines-content .cigr { background-color: ' +
                  n +
                  '; }'
              )
          })
      }),
      define(d[171], h([0, 1, 36, 14, 15, 60, 12, 380]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = (function(e) {
          function t(t) {
            var n = e.call(this) || this
            return (
              (n._context = t),
              n._readConfig(),
              (n._lastCursorModelPosition = new s.Position(1, 1)),
              (n._renderResult = null),
              n._context.addEventHandler(n),
              n
            )
          }
          return (
            f(t, e),
            (t.prototype._readConfig = function() {
              var e = this._context.configuration.editor
              ;(this._lineHeight = e.lineHeight),
                (this._renderLineNumbers = e.viewInfo.renderLineNumbers),
                (this._renderCustomLineNumbers =
                  e.viewInfo.renderCustomLineNumbers),
                (this._renderRelativeLineNumbers =
                  e.viewInfo.renderRelativeLineNumbers),
                (this._lineNumbersLeft = e.layoutInfo.lineNumbersLeft),
                (this._lineNumbersWidth = e.layoutInfo.lineNumbersWidth)
            }),
            (t.prototype.dispose = function() {
              this._context.removeEventHandler(this),
                (this._context = null),
                (this._renderResult = null),
                e.prototype.dispose.call(this)
            }),
            (t.prototype.onConfigurationChanged = function(e) {
              return this._readConfig(), !0
            }),
            (t.prototype.onCursorStateChanged = function(e) {
              var t = e.selections[0].getPosition()
              return (
                (this._lastCursorModelPosition = this._context.model.coordinatesConverter.convertViewPositionToModelPosition(
                  t
                )),
                !!this._renderRelativeLineNumbers
              )
            }),
            (t.prototype.onFlushed = function(e) {
              return !0
            }),
            (t.prototype.onLinesChanged = function(e) {
              return !0
            }),
            (t.prototype.onLinesDeleted = function(e) {
              return !0
            }),
            (t.prototype.onLinesInserted = function(e) {
              return !0
            }),
            (t.prototype.onScrollChanged = function(e) {
              return e.scrollTopChanged
            }),
            (t.prototype.onZonesChanged = function(e) {
              return !0
            }),
            (t.prototype._getLineRenderLineNumber = function(e) {
              var t = this._context.model.coordinatesConverter.convertViewPositionToModelPosition(
                new s.Position(e, 1)
              )
              if (1 !== t.column) return ''
              var n = t.lineNumber
              if (this._renderCustomLineNumbers)
                return this._renderCustomLineNumbers(n)
              if (this._renderRelativeLineNumbers) {
                var i = Math.abs(this._lastCursorModelPosition.lineNumber - n)
                return 0 === i
                  ? '<span class="relative-current-line-number">' +
                      n +
                      '</span>'
                  : String(i)
              }
              return String(n)
            }),
            (t.prototype.prepareRender = function(e) {
              if (this._renderLineNumbers) {
                for (
                  var n = o.isLinux
                      ? this._lineHeight % 2 == 0
                        ? ' lh-even'
                        : ' lh-odd'
                      : '',
                    i = e.visibleRange.startLineNumber,
                    r = e.visibleRange.endLineNumber,
                    s =
                      '<div class="' +
                      t.CLASS_NAME +
                      n +
                      '" style="left:' +
                      this._lineNumbersLeft.toString() +
                      'px;width:' +
                      this._lineNumbersWidth.toString() +
                      'px;">',
                    a = [],
                    u = i;
                  u <= r;
                  u++
                ) {
                  var l = u - i,
                    c = this._getLineRenderLineNumber(u)
                  a[l] = c ? s + c + '</div>' : ''
                }
                this._renderResult = a
              } else this._renderResult = null
            }),
            (t.prototype.render = function(e, t) {
              if (!this._renderResult) return ''
              var n = t - e
              if (n < 0 || n >= this._renderResult.length)
                throw new Error('Unexpected render request')
              return this._renderResult[n]
            }),
            t
          )
        })(r.DynamicViewOverlay)
        ;(a.CLASS_NAME = 'line-numbers'),
          (t.LineNumbersOverlay = a),
          i.registerThemingParticipant(function(e, t) {
            var i = e.getColor(n.editorLineNumbers)
            i && t.addRule('.monaco-editor .line-numbers { color: ' + i + '; }')
          })
      }),
      define(d[489], h([
        0,
        1,
        15,
        30,
        179,
        178,
        2,
        22,
        12,
        65,
        56,
        26,
        35,
        153,
        171,
        386
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g) {
        'use strict'
        function m(e, t) {
          var n = document.createElement('canvas').getContext('2d')
          n.font = v(t)
          var o = n.measureText(e)
          return i.isFirefox ? o.width + 2 : o.width
        }
        function v(e) {
          return _(
            'normal',
            e.fontWeight,
            e.fontSize,
            e.lineHeight,
            e.fontFamily
          )
        }
        function _(e, t, n, i, o) {
          return e + ' normal ' + t + ' ' + n + 'px / ' + i + 'px ' + o
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var y = (function() {
            function e(e, t, n) {
              ;(this.top = e), (this.left = t), (this.width = n)
            }
            return (
              (e.prototype.setWidth = function(t) {
                return new e(this.top, this.left, t)
              }),
              e
            )
          })(),
          b = i.isEdgeOrIE || i.isFirefox,
          C = (function(e) {
            function t(t, n, u) {
              var l = e.call(this, t) || this
              ;(l._primaryCursorVisibleRange = null),
                (l._viewController = n),
                (l._viewHelper = u)
              var p = l._context.configuration.editor
              ;(l._pixelRatio = p.pixelRatio),
                (l._accessibilitySupport = p.accessibilitySupport),
                (l._contentLeft = p.layoutInfo.contentLeft),
                (l._contentWidth = p.layoutInfo.contentWidth),
                (l._contentHeight = p.layoutInfo.contentHeight),
                (l._scrollLeft = 0),
                (l._scrollTop = 0),
                (l._fontInfo = p.fontInfo),
                (l._lineHeight = p.lineHeight),
                (l._emptySelectionClipboard = p.emptySelectionClipboard),
                (l._visibleTextArea = null),
                (l._selections = [new a.Selection(1, 1, 1, 1)]),
                (l._lastCopiedValue = null),
                (l._lastCopiedValueIsFromEmptySelection = !1),
                (l.textArea = d.createFastDomNode(
                  document.createElement('textarea')
                )),
                h.PartFingerprints.write(l.textArea, 6),
                l.textArea.setClassName('inputarea'),
                l.textArea.setAttribute('wrap', 'off'),
                l.textArea.setAttribute('autocorrect', 'off'),
                l.textArea.setAttribute('autocapitalize', 'off'),
                l.textArea.setAttribute('autocomplete', 'off'),
                l.textArea.setAttribute('spellcheck', 'false'),
                l.textArea.setAttribute('aria-label', p.viewInfo.ariaLabel),
                l.textArea.setAttribute('role', 'textbox'),
                l.textArea.setAttribute('aria-multiline', 'true'),
                l.textArea.setAttribute('aria-haspopup', 'false'),
                l.textArea.setAttribute('aria-autocomplete', 'both'),
                (l.textAreaCover = d.createFastDomNode(
                  document.createElement('div')
                )),
                l.textAreaCover.setPosition('absolute')
              var f = {
                  getLineCount: function() {
                    return l._context.model.getLineCount()
                  },
                  getLineMaxColumn: function(e) {
                    return l._context.model.getLineMaxColumn(e)
                  },
                  getValueInRange: function(e, t) {
                    return l._context.model.getValueInRange(e, t)
                  }
                },
                g = {
                  getPlainTextToCopy: function() {
                    var e = l._context.model.getPlainTextToCopy(
                      l._selections,
                      l._emptySelectionClipboard
                    )
                    if (l._emptySelectionClipboard) {
                      i.isFirefox
                        ? (l._lastCopiedValue = e.replace(/\r\n/g, '\n'))
                        : (l._lastCopiedValue = e)
                      var t = l._selections
                      l._lastCopiedValueIsFromEmptySelection =
                        1 === t.length && t[0].isEmpty()
                    }
                    return e
                  },
                  getHTMLToCopy: function() {
                    return l._context.model.getHTMLToCopy(
                      l._selections,
                      l._emptySelectionClipboard
                    )
                  },
                  getScreenReaderContent: function(e) {
                    return i.isIPad
                      ? r.TextAreaState.EMPTY
                      : 1 === l._accessibilitySupport
                        ? r.TextAreaState.EMPTY
                        : r.PagedScreenReaderStrategy.fromEditorSelection(
                            e,
                            f,
                            l._selections[0]
                          )
                  }
                }
              return (
                (l._textAreaInput = l._register(
                  new o.TextAreaInput(g, l.textArea)
                )),
                l._register(
                  l._textAreaInput.onKeyDown(function(e) {
                    l._viewController.emitKeyDown(e)
                  })
                ),
                l._register(
                  l._textAreaInput.onKeyUp(function(e) {
                    l._viewController.emitKeyUp(e)
                  })
                ),
                l._register(
                  l._textAreaInput.onPaste(function(e) {
                    var t = !1
                    l._emptySelectionClipboard &&
                      (t =
                        e.text === l._lastCopiedValue &&
                        l._lastCopiedValueIsFromEmptySelection),
                      l._viewController.paste('keyboard', e.text, t)
                  })
                ),
                l._register(
                  l._textAreaInput.onCut(function() {
                    l._viewController.cut('keyboard')
                  })
                ),
                l._register(
                  l._textAreaInput.onType(function(e) {
                    e.replaceCharCnt
                      ? l._viewController.replacePreviousChar(
                          'keyboard',
                          e.text,
                          e.replaceCharCnt
                        )
                      : l._viewController.type('keyboard', e.text)
                  })
                ),
                l._register(
                  l._textAreaInput.onCompositionStart(function() {
                    var e = l._selections[0].startLineNumber,
                      t = l._selections[0].startColumn
                    l._context.privateViewEventBus.emit(
                      new c.ViewRevealRangeRequestEvent(
                        new s.Range(e, t, e, t),
                        0,
                        !0
                      )
                    )
                    var n = l._viewHelper.visibleRangeForPositionRelativeToEditor(
                      e,
                      t
                    )
                    n &&
                      ((l._visibleTextArea = new y(
                        l._context.viewLayout.getVerticalOffsetForLineNumber(e),
                        n.left,
                        b ? 0 : 1
                      )),
                      l._render()),
                      l.textArea.setClassName('inputarea ime-input'),
                      l._viewController.compositionStart('keyboard')
                  })
                ),
                l._register(
                  l._textAreaInput.onCompositionUpdate(function(e) {
                    i.isEdgeOrIE
                      ? (l._visibleTextArea = l._visibleTextArea.setWidth(0))
                      : (l._visibleTextArea = l._visibleTextArea.setWidth(
                          m(e.data, l._fontInfo)
                        )),
                      l._render()
                  })
                ),
                l._register(
                  l._textAreaInput.onCompositionEnd(function() {
                    ;(l._visibleTextArea = null),
                      l._render(),
                      l.textArea.setClassName('inputarea'),
                      l._viewController.compositionEnd('keyboard')
                  })
                ),
                l._register(
                  l._textAreaInput.onFocus(function() {
                    l._context.privateViewEventBus.emit(
                      new c.ViewFocusChangedEvent(!0)
                    )
                  })
                ),
                l._register(
                  l._textAreaInput.onBlur(function() {
                    l._context.privateViewEventBus.emit(
                      new c.ViewFocusChangedEvent(!1)
                    )
                  })
                ),
                l
              )
            }
            return (
              f(t, e),
              (t.prototype.dispose = function() {
                e.prototype.dispose.call(this)
              }),
              (t.prototype.onConfigurationChanged = function(e) {
                var t = this._context.configuration.editor
                return (
                  e.fontInfo && (this._fontInfo = t.fontInfo),
                  e.viewInfo &&
                    this.textArea.setAttribute(
                      'aria-label',
                      t.viewInfo.ariaLabel
                    ),
                  e.layoutInfo &&
                    ((this._contentLeft = t.layoutInfo.contentLeft),
                    (this._contentWidth = t.layoutInfo.contentWidth),
                    (this._contentHeight = t.layoutInfo.contentHeight)),
                  e.lineHeight && (this._lineHeight = t.lineHeight),
                  e.pixelRatio && (this._pixelRatio = t.pixelRatio),
                  e.accessibilitySupport &&
                    ((this._accessibilitySupport = t.accessibilitySupport),
                    this._textAreaInput.writeScreenReaderContent(
                      'strategy changed'
                    )),
                  e.emptySelectionClipboard &&
                    (this._emptySelectionClipboard = t.emptySelectionClipboard),
                  !0
                )
              }),
              (t.prototype.onCursorStateChanged = function(e) {
                return (
                  (this._selections = e.selections.slice(0)),
                  this._textAreaInput.writeScreenReaderContent(
                    'selection changed'
                  ),
                  !0
                )
              }),
              (t.prototype.onDecorationsChanged = function(e) {
                return !0
              }),
              (t.prototype.onFlushed = function(e) {
                return !0
              }),
              (t.prototype.onLinesChanged = function(e) {
                return !0
              }),
              (t.prototype.onLinesDeleted = function(e) {
                return !0
              }),
              (t.prototype.onLinesInserted = function(e) {
                return !0
              }),
              (t.prototype.onScrollChanged = function(e) {
                return (
                  (this._scrollLeft = e.scrollLeft),
                  (this._scrollTop = e.scrollTop),
                  !0
                )
              }),
              (t.prototype.onZonesChanged = function(e) {
                return !0
              }),
              (t.prototype.isFocused = function() {
                return this._textAreaInput.isFocused()
              }),
              (t.prototype.focusTextArea = function() {
                this._textAreaInput.focusTextArea()
              }),
              (t.prototype.setAriaActiveDescendant = function(e) {
                e
                  ? (this.textArea.setAttribute('role', 'combobox'),
                    this.textArea.getAttribute('aria-activedescendant') !== e &&
                      (this.textArea.setAttribute('aria-haspopup', 'true'),
                      this.textArea.setAttribute('aria-activedescendant', e)))
                  : (this.textArea.setAttribute('role', 'textbox'),
                    this.textArea.removeAttribute('aria-activedescendant'),
                    this.textArea.removeAttribute('aria-haspopup'))
              }),
              (t.prototype.prepareRender = function(e) {
                if (2 === this._accessibilitySupport)
                  this._primaryCursorVisibleRange = null
                else {
                  var t = new u.Position(
                    this._selections[0].positionLineNumber,
                    this._selections[0].positionColumn
                  )
                  this._primaryCursorVisibleRange = e.visibleRangeForPosition(t)
                }
              }),
              (t.prototype.render = function(e) {
                this._textAreaInput.writeScreenReaderContent('render'),
                  this._render()
              }),
              (t.prototype._render = function() {
                if (this._visibleTextArea)
                  this._renderInsideEditor(
                    this._visibleTextArea.top - this._scrollTop,
                    this._contentLeft +
                      this._visibleTextArea.left -
                      this._scrollLeft,
                    this._visibleTextArea.width,
                    this._lineHeight,
                    !0
                  )
                else if (this._primaryCursorVisibleRange) {
                  var e =
                    this._contentLeft +
                    this._primaryCursorVisibleRange.left -
                    this._scrollLeft
                  if (
                    e < this._contentLeft ||
                    e > this._contentLeft + this._contentWidth
                  )
                    this._renderAtTopLeft()
                  else {
                    var t =
                      this._context.viewLayout.getVerticalOffsetForLineNumber(
                        this._selections[0].positionLineNumber
                      ) - this._scrollTop
                    t < 0 || t > this._contentHeight
                      ? this._renderAtTopLeft()
                      : this._renderInsideEditor(t, e, b ? 0 : 1, b ? 0 : 1, !1)
                  }
                } else this._renderAtTopLeft()
              }),
              (t.prototype._renderInsideEditor = function(e, t, n, i, o) {
                var r = this.textArea,
                  s = this.textAreaCover
                o
                  ? l.Configuration.applyFontInfo(r, this._fontInfo)
                  : (r.setFontSize(1),
                    r.setLineHeight(this._fontInfo.lineHeight)),
                  r.setTop(e),
                  r.setLeft(t),
                  r.setWidth(n),
                  r.setHeight(i),
                  s.setTop(0),
                  s.setLeft(0),
                  s.setWidth(0),
                  s.setHeight(0)
              }),
              (t.prototype._renderAtTopLeft = function() {
                var e = this.textArea,
                  t = this.textAreaCover
                if (
                  (l.Configuration.applyFontInfo(e, this._fontInfo),
                  e.setTop(0),
                  e.setLeft(0),
                  t.setTop(0),
                  t.setLeft(0),
                  b)
                )
                  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),
                  this._context.configuration.editor.viewInfo.glyphMargin
                    ? t.setClassName(
                        'monaco-editor-background textAreaCover ' +
                          p.Margin.CLASS_NAME
                      )
                    : this._context.configuration.editor.viewInfo
                        .renderLineNumbers
                      ? t.setClassName(
                          'monaco-editor-background textAreaCover ' +
                            g.LineNumbersOverlay.CLASS_NAME
                        )
                      : t.setClassName('monaco-editor-background textAreaCover')
              }),
              t
            )
          })(h.ViewPart)
        t.TextAreaHandler = C
      }),
      define(d[490], h([0, 1, 26, 35, 14, 36, 6, 318]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = (function(e) {
          function t(t) {
            var i = e.call(this, t) || this
            return (
              (i.domNode = n.createFastDomNode(document.createElement('div'))),
              i.domNode.setAttribute('role', 'presentation'),
              i.domNode.setAttribute('aria-hidden', 'true'),
              i.domNode.setClassName('view-rulers'),
              (i._renderedRulers = []),
              (i._rulers = i._context.configuration.editor.viewInfo.rulers),
              (i._height =
                i._context.configuration.editor.layoutInfo.contentHeight),
              (i._typicalHalfwidthCharacterWidth =
                i._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth),
              i
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              e.prototype.dispose.call(this)
            }),
            (t.prototype.onConfigurationChanged = function(e) {
              return (
                !!(e.viewInfo || e.layoutInfo || e.fontInfo) &&
                ((this._rulers = this._context.configuration.editor.viewInfo.rulers),
                (this._height = this._context.configuration.editor.layoutInfo.contentHeight),
                (this._typicalHalfwidthCharacterWidth = this._context.configuration.editor.fontInfo.typicalHalfwidthCharacterWidth),
                !0)
              )
            }),
            (t.prototype.onScrollChanged = function(e) {
              return e.scrollHeightChanged
            }),
            (t.prototype.prepareRender = function(e) {}),
            (t.prototype._ensureRulersCount = function() {
              var e = this._renderedRulers.length,
                t = this._rulers.length
              if (e !== t)
                if (e < t)
                  for (var i = s.computeScreenAwareSize(1), o = t - e; o > 0; )
                    (a = n.createFastDomNode(
                      document.createElement('div')
                    )).setClassName('view-ruler'),
                      a.setWidth(i),
                      this.domNode.appendChild(a),
                      this._renderedRulers.push(a),
                      o--
                else
                  for (var r = e - t; r > 0; ) {
                    var a = this._renderedRulers.pop()
                    this.domNode.removeChild(a), r--
                  }
            }),
            (t.prototype.render = function(e) {
              this._ensureRulersCount()
              for (var t = 0, n = this._rulers.length; t < n; t++) {
                var i = this._renderedRulers[t]
                i.setHeight(Math.min(e.scrollHeight, 1e6)),
                  i.setLeft(
                    this._rulers[t] * this._typicalHalfwidthCharacterWidth
                  )
              }
            }),
            t
          )
        })(i.ViewPart)
        ;(t.Rulers = a),
          o.registerThemingParticipant(function(e, t) {
            var n = e.getColor(r.editorRuler)
            n &&
              t.addRule(
                '.monaco-editor .view-ruler { background-color: ' + n + '; }'
              )
          })
      }),
      define(d[491], h([0, 1, 35, 434, 26, 18, 14, 36, 49, 306]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var l = (function(e) {
          function t(t) {
            var n = e.call(this, t) || this
            return (
              (n._readOnly = n._context.configuration.editor.readOnly),
              (n._cursorBlinking =
                n._context.configuration.editor.viewInfo.cursorBlinking),
              (n._cursorStyle =
                n._context.configuration.editor.viewInfo.cursorStyle),
              (n._selectionIsEmpty = !0),
              (n._primaryCursor = new i.ViewCursor(n._context, !1)),
              (n._secondaryCursors = []),
              (n._renderData = []),
              (n._domNode = o.createFastDomNode(document.createElement('div'))),
              n._domNode.setAttribute('role', 'presentation'),
              n._domNode.setAttribute('aria-hidden', 'true'),
              n._updateDomClassName(),
              n._domNode.appendChild(n._primaryCursor.getDomNode()),
              (n._startCursorBlinkAnimation = new r.TimeoutTimer()),
              (n._cursorFlatBlinkInterval = new r.IntervalTimer()),
              (n._blinkingEnabled = !1),
              (n._editorHasFocus = !1),
              n._updateBlinking(),
              n
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              e.prototype.dispose.call(this),
                this._startCursorBlinkAnimation.dispose(),
                this._cursorFlatBlinkInterval.dispose()
            }),
            (t.prototype.getDomNode = function() {
              return this._domNode
            }),
            (t.prototype.onConfigurationChanged = function(e) {
              e.readOnly &&
                (this._readOnly = this._context.configuration.editor.readOnly),
                e.viewInfo &&
                  ((this._cursorBlinking = this._context.configuration.editor.viewInfo.cursorBlinking),
                  (this._cursorStyle = this._context.configuration.editor.viewInfo.cursorStyle)),
                this._primaryCursor.onConfigurationChanged(e),
                this._updateBlinking(),
                e.viewInfo && this._updateDomClassName()
              for (var t = 0, n = this._secondaryCursors.length; t < n; t++)
                this._secondaryCursors[t].onConfigurationChanged(e)
              return !0
            }),
            (t.prototype._onCursorPositionChanged = function(e, t, n) {
              if (
                (this._primaryCursor.onCursorPositionChanged(e, n),
                this._updateBlinking(),
                this._secondaryCursors.length < t.length)
              )
                for (
                  var o = t.length - this._secondaryCursors.length, r = 0;
                  r < o;
                  r++
                ) {
                  var s = new i.ViewCursor(this._context, !0)
                  this._domNode.domNode.insertBefore(
                    s.getDomNode().domNode,
                    this._primaryCursor.getDomNode().domNode.nextSibling
                  ),
                    this._secondaryCursors.push(s)
                }
              else if (this._secondaryCursors.length > t.length)
                for (
                  var a = this._secondaryCursors.length - t.length, r = 0;
                  r < a;
                  r++
                )
                  this._domNode.removeChild(
                    this._secondaryCursors[0].getDomNode()
                  ),
                    this._secondaryCursors.splice(0, 1)
              for (r = 0; r < t.length; r++)
                this._secondaryCursors[r].onCursorPositionChanged(t[r], n)
            }),
            (t.prototype.onCursorStateChanged = function(e) {
              for (var t = [], n = 0, i = e.selections.length; n < i; n++)
                t[n] = e.selections[n].getPosition()
              this._onCursorPositionChanged(
                t[0],
                t.slice(1),
                e.isInEditableRange
              )
              var o = e.selections[0].isEmpty()
              return (
                this._selectionIsEmpty !== o &&
                  ((this._selectionIsEmpty = o), this._updateDomClassName()),
                !0
              )
            }),
            (t.prototype.onDecorationsChanged = function(e) {
              return !0
            }),
            (t.prototype.onFlushed = function(e) {
              return !0
            }),
            (t.prototype.onFocusChanged = function(e) {
              return (
                (this._editorHasFocus = e.isFocused), this._updateBlinking(), !1
              )
            }),
            (t.prototype.onLinesChanged = function(e) {
              return !0
            }),
            (t.prototype.onLinesDeleted = function(e) {
              return !0
            }),
            (t.prototype.onLinesInserted = function(e) {
              return !0
            }),
            (t.prototype.onScrollChanged = function(e) {
              return !0
            }),
            (t.prototype.onTokensChanged = function(e) {
              var t = function(t) {
                for (var n = 0, i = e.ranges.length; n < i; n++)
                  if (
                    e.ranges[n].fromLineNumber <= t.lineNumber &&
                    t.lineNumber <= e.ranges[n].toLineNumber
                  )
                    return !0
                return !1
              }
              if (t(this._primaryCursor.getPosition())) return !0
              for (var n = 0; n < this._secondaryCursors.length; n++)
                if (t(this._secondaryCursors[n].getPosition())) return !0
              return !1
            }),
            (t.prototype.onZonesChanged = function(e) {
              return !0
            }),
            (t.prototype.getPosition = function() {
              return this._primaryCursor.getPosition()
            }),
            (t.prototype._getCursorBlinking = function() {
              return this._editorHasFocus
                ? this._readOnly || !this._primaryCursor.getIsInEditableRange()
                  ? u.TextEditorCursorBlinkingStyle.Solid
                  : this._cursorBlinking
                : u.TextEditorCursorBlinkingStyle.Hidden
            }),
            (t.prototype._updateBlinking = function() {
              var e = this
              this._startCursorBlinkAnimation.cancel(),
                this._cursorFlatBlinkInterval.cancel()
              var n = this._getCursorBlinking(),
                i = n === u.TextEditorCursorBlinkingStyle.Hidden,
                o = n === u.TextEditorCursorBlinkingStyle.Solid
              i ? this._hide() : this._show(),
                (this._blinkingEnabled = !1),
                this._updateDomClassName(),
                i ||
                  o ||
                  (n === u.TextEditorCursorBlinkingStyle.Blink
                    ? this._cursorFlatBlinkInterval.cancelAndSet(function() {
                        e._isVisible ? e._hide() : e._show()
                      }, t.BLINK_INTERVAL)
                    : this._startCursorBlinkAnimation.setIfNotSet(function() {
                        ;(e._blinkingEnabled = !0), e._updateDomClassName()
                      }, t.BLINK_INTERVAL))
            }),
            (t.prototype._updateDomClassName = function() {
              this._domNode.setClassName(this._getClassName())
            }),
            (t.prototype._getClassName = function() {
              var e = 'cursors-layer'
              switch (
                (this._selectionIsEmpty || (e += ' has-selection'),
                this._cursorStyle)
              ) {
                case u.TextEditorCursorStyle.Line:
                  e += ' cursor-line-style'
                  break
                case u.TextEditorCursorStyle.Block:
                  e += ' cursor-block-style'
                  break
                case u.TextEditorCursorStyle.Underline:
                  e += ' cursor-underline-style'
                  break
                case u.TextEditorCursorStyle.LineThin:
                  e += ' cursor-line-thin-style'
                  break
                case u.TextEditorCursorStyle.BlockOutline:
                  e += ' cursor-block-outline-style'
                  break
                case u.TextEditorCursorStyle.UnderlineThin:
                  e += ' cursor-underline-thin-style'
                  break
                default:
                  e += ' cursor-line-style'
              }
              if (this._blinkingEnabled)
                switch (this._getCursorBlinking()) {
                  case u.TextEditorCursorBlinkingStyle.Blink:
                    e += ' cursor-blink'
                    break
                  case u.TextEditorCursorBlinkingStyle.Smooth:
                    e += ' cursor-smooth'
                    break
                  case u.TextEditorCursorBlinkingStyle.Phase:
                    e += ' cursor-phase'
                    break
                  case u.TextEditorCursorBlinkingStyle.Expand:
                    e += ' cursor-expand'
                    break
                  case u.TextEditorCursorBlinkingStyle.Solid:
                    e += ' cursor-solid'
                    break
                  default:
                    e += ' cursor-solid'
                }
              else e += ' cursor-solid'
              return e
            }),
            (t.prototype._show = function() {
              this._primaryCursor.show()
              for (var e = 0, t = this._secondaryCursors.length; e < t; e++)
                this._secondaryCursors[e].show()
              this._isVisible = !0
            }),
            (t.prototype._hide = function() {
              this._primaryCursor.hide()
              for (var e = 0, t = this._secondaryCursors.length; e < t; e++)
                this._secondaryCursors[e].hide()
              this._isVisible = !1
            }),
            (t.prototype.prepareRender = function(e) {
              this._primaryCursor.prepareRender(e)
              for (var t = 0, n = this._secondaryCursors.length; t < n; t++)
                this._secondaryCursors[t].prepareRender(e)
            }),
            (t.prototype.render = function(e) {
              ;(this._renderData = []),
                this._renderData.push(this._primaryCursor.render(e))
              for (var t = 0, n = this._secondaryCursors.length; t < n; t++)
                this._renderData.push(this._secondaryCursors[t].render(e))
              this._renderData = this._renderData.filter(function(e) {
                return !!e
              })
            }),
            (t.prototype.getLastRenderData = function() {
              return this._renderData
            }),
            t
          )
        })(n.ViewPart)
        ;(l.BLINK_INTERVAL = 500),
          (t.ViewCursors = l),
          s.registerThemingParticipant(function(e, t) {
            var n = e.getColor(a.editorCursor)
            if (n) {
              var i = n.opposite()
              t.addRule(
                '.monaco-editor .cursor { background-color: ' +
                  n +
                  '; border-color: ' +
                  n +
                  '; color: ' +
                  i +
                  '; }'
              ),
                'hc' === e.type &&
                  t.addRule(
                    '.monaco-editor .cursors-layer.has-selection .cursor { border-left: 1px solid ' +
                      i +
                      '; border-right: 1px solid ' +
                      i +
                      '; }'
                  )
            }
          })
      }),
      define(d[492], h([
        0,
        1,
        293,
        3,
        6,
        26,
        109,
        79,
        65,
        12,
        14,
        23,
        61,
        36,
        69,
        55,
        13,
        19,
        41,
        304
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g, m, _, y, b) {
        'use strict'
        function C(e) {
          for (
            var t = e.get(b.ICodeEditorService).listDiffEditors(),
              n = 0,
              i = t.length;
            n < i;
            n++
          ) {
            var o = t[n]
            if (o.hasWidgetFocus()) return o
          }
          return null
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var w
        !(function(e) {
          ;(e[(e.Equal = 0)] = 'Equal'),
            (e[(e.Insert = 1)] = 'Insert'),
            (e[(e.Delete = 2)] = 'Delete')
        })(w || (w = {}))
        var S = (function() {
            function e(e, t, n, i) {
              ;(this.originalLineStart = e),
                (this.originalLineEnd = t),
                (this.modifiedLineStart = n),
                (this.modifiedLineEnd = i)
            }
            return (
              (e.prototype.getType = function() {
                return 0 === this.originalLineStart
                  ? 1
                  : 0 === this.modifiedLineStart
                    ? 2
                    : 0
              }),
              e
            )
          })(),
          E = (function() {
            return function(e) {
              this.entries = e
            }
          })(),
          L = (function(e) {
            function t(t) {
              var i = e.call(this) || this
              return (
                (i._width = 0),
                (i._diffEditor = t),
                (i._isVisible = !1),
                (i.shadow = r.createFastDomNode(document.createElement('div'))),
                i.shadow.setClassName('diff-review-shadow'),
                (i.actionBarContainer = r.createFastDomNode(
                  document.createElement('div')
                )),
                i.actionBarContainer.setClassName('diff-review-actions'),
                (i._actionBar = i._register(
                  new g.ActionBar(i.actionBarContainer.domNode)
                )),
                i._actionBar.push(
                  new m.Action(
                    'diffreview.close',
                    n.localize(0, null),
                    'close-diff-review',
                    !0,
                    function() {
                      return i.hide(), null
                    }
                  ),
                  { label: !1, icon: !0 }
                ),
                (i.domNode = r.createFastDomNode(
                  document.createElement('div')
                )),
                i.domNode.setClassName('diff-review monaco-editor-background'),
                (i._content = r.createFastDomNode(
                  document.createElement('div')
                )),
                i._content.setClassName('diff-review-content'),
                (i.scrollbar = i._register(
                  new h.DomScrollableElement(i._content.domNode, {})
                )),
                i.domNode.domNode.appendChild(i.scrollbar.getDomNode()),
                i._register(
                  t.onDidUpdateDiff(function() {
                    i._isVisible && ((i._diffs = i._compute()), i._render())
                  })
                ),
                i._register(
                  t.getModifiedEditor().onDidChangeCursorPosition(function() {
                    i._isVisible && i._render()
                  })
                ),
                i._register(
                  t.getOriginalEditor().onDidFocusEditor(function() {
                    i._isVisible && i.hide()
                  })
                ),
                i._register(
                  t.getModifiedEditor().onDidFocusEditor(function() {
                    i._isVisible && i.hide()
                  })
                ),
                i._register(
                  o.addStandardDisposableListener(
                    i.domNode.domNode,
                    'click',
                    function(e) {
                      e.preventDefault()
                      var t = o.findParentWithClass(e.target, 'diff-review-row')
                      t && i._goToRow(t)
                    }
                  )
                ),
                i._register(
                  o.addStandardDisposableListener(
                    i.domNode.domNode,
                    'keydown',
                    function(e) {
                      ;(e.equals(18) || e.equals(2066) || e.equals(530)) &&
                        (e.preventDefault(), i._goToRow(i._getNextRow())),
                        (e.equals(16) || e.equals(2064) || e.equals(528)) &&
                          (e.preventDefault(), i._goToRow(i._getPrevRow())),
                        (e.equals(9) ||
                          e.equals(2057) ||
                          e.equals(521) ||
                          e.equals(1033)) &&
                          (e.preventDefault(), i.hide()),
                        (e.equals(10) || e.equals(3)) &&
                          (e.preventDefault(), i.accept())
                    }
                  )
                ),
                (i._diffs = []),
                (i._currentDiff = null),
                i
              )
            }
            return (
              f(t, e),
              (t.prototype.prev = function() {
                var e = 0
                if (
                  (this._isVisible || (this._diffs = this._compute()),
                  this._isVisible)
                ) {
                  for (var t = -1, n = 0, i = this._diffs.length; n < i; n++)
                    if (this._diffs[n] === this._currentDiff) {
                      t = n
                      break
                    }
                  e = this._diffs.length + t - 1
                } else e = this._findDiffIndex(this._diffEditor.getPosition())
                0 !== this._diffs.length &&
                  ((e %= this._diffs.length),
                  this._diffEditor.setPosition(
                    new l.Position(
                      this._diffs[e].entries[0].modifiedLineStart,
                      1
                    )
                  ),
                  (this._isVisible = !0),
                  this._diffEditor.doLayout(),
                  this._render(),
                  this._goToRow(this._getNextRow()))
              }),
              (t.prototype.next = function() {
                var e = 0
                if (
                  (this._isVisible || (this._diffs = this._compute()),
                  this._isVisible)
                ) {
                  for (var t = -1, n = 0, i = this._diffs.length; n < i; n++)
                    if (this._diffs[n] === this._currentDiff) {
                      t = n
                      break
                    }
                  e = t + 1
                } else e = this._findDiffIndex(this._diffEditor.getPosition())
                0 !== this._diffs.length &&
                  ((e %= this._diffs.length),
                  this._diffEditor.setPosition(
                    new l.Position(
                      this._diffs[e].entries[0].modifiedLineStart,
                      1
                    )
                  ),
                  (this._isVisible = !0),
                  this._diffEditor.doLayout(),
                  this._render(),
                  this._goToRow(this._getNextRow()))
              }),
              (t.prototype.accept = function() {
                var e = -1,
                  t = this._getCurrentFocusedRow()
                if (t) {
                  var n = parseInt(t.getAttribute('data-line'), 10)
                  isNaN(n) || (e = n)
                }
                this.hide(),
                  -1 !== e &&
                    (this._diffEditor.setPosition(new l.Position(e, 1)),
                    this._diffEditor.revealPosition(new l.Position(e, 1)))
              }),
              (t.prototype.hide = function() {
                ;(this._isVisible = !1),
                  this._diffEditor.focus(),
                  this._diffEditor.doLayout(),
                  this._render()
              }),
              (t.prototype._getPrevRow = function() {
                var e = this._getCurrentFocusedRow()
                return e
                  ? e.previousElementSibling
                    ? e.previousElementSibling
                    : e
                  : this._getFirstRow()
              }),
              (t.prototype._getNextRow = function() {
                var e = this._getCurrentFocusedRow()
                return e
                  ? e.nextElementSibling
                    ? e.nextElementSibling
                    : e
                  : this._getFirstRow()
              }),
              (t.prototype._getFirstRow = function() {
                return this.domNode.domNode.querySelector('.diff-review-row')
              }),
              (t.prototype._getCurrentFocusedRow = function() {
                var e = document.activeElement
                return e && /diff-review-row/.test(e.className) ? e : null
              }),
              (t.prototype._goToRow = function(e) {
                var t = this._getCurrentFocusedRow()
                ;(e.tabIndex = 0),
                  e.focus(),
                  t && t !== e && (t.tabIndex = -1),
                  this.scrollbar.scanDomNode()
              }),
              (t.prototype.isVisible = function() {
                return this._isVisible
              }),
              (t.prototype.layout = function(e, t, n) {
                ;(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(n),
                  this._content.setHeight(n),
                  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'))
              }),
              (t.prototype._compute = function() {
                var e = this._diffEditor.getLineChanges()
                if (!e || 0 === e.length) return []
                var n = this._diffEditor.getOriginalEditor().getModel(),
                  i = this._diffEditor.getModifiedEditor().getModel()
                return n && i
                  ? t._mergeAdjacent(e, n.getLineCount(), i.getLineCount())
                  : []
              }),
              (t._mergeAdjacent = function(e, t, n) {
                if (!e || 0 === e.length) return []
                for (var i = [], o = 0, r = 0, s = e.length; r < s; r++) {
                  var a = e[r],
                    u = a.originalStartLineNumber,
                    l = a.originalEndLineNumber,
                    c = a.modifiedStartLineNumber,
                    d = a.modifiedEndLineNumber,
                    h = [],
                    p = 0,
                    f = 0 === l ? u : u - 1,
                    g = 0 === d ? c : c - 1,
                    m = 1,
                    v = 1
                  if (r > 0) {
                    var _ = e[r - 1]
                    ;(m =
                      0 === _.originalEndLineNumber
                        ? _.originalStartLineNumber + 1
                        : _.originalEndLineNumber + 1),
                      (v =
                        0 === _.modifiedEndLineNumber
                          ? _.modifiedStartLineNumber + 1
                          : _.modifiedEndLineNumber + 1)
                  }
                  var y = f - 3 + 1,
                    b = g - 3 + 1
                  y < m && ((y += k = m - y), (b += k)),
                    b < v && ((y += k = v - b), (b += k)),
                    (h[p++] = new S(y, f, b, g)),
                    0 !== l && (h[p++] = new S(u, l, 0, 0)),
                    0 !== d && (h[p++] = new S(0, 0, c, d))
                  var C = 0 === l ? u + 1 : l + 1,
                    w = 0 === d ? c + 1 : d + 1,
                    L = t,
                    x = n
                  if (r + 1 < s) {
                    var N = e[r + 1]
                    ;(L =
                      0 === N.originalEndLineNumber
                        ? N.originalStartLineNumber
                        : N.originalStartLineNumber - 1),
                      (x =
                        0 === N.modifiedEndLineNumber
                          ? N.modifiedStartLineNumber
                          : N.modifiedStartLineNumber - 1)
                  }
                  var M = C + 3 - 1,
                    T = w + 3 - 1
                  if ((M > L && ((M += k = L - M), (T += k)), T > x)) {
                    var k = x - T
                    ;(M += k), (T += k)
                  }
                  ;(h[p++] = new S(C, M, w, T)), (i[o++] = new E(h))
                }
                for (
                  var I = i[0].entries, D = [], O = 0, r = 1, s = i.length;
                  r < s;
                  r++
                ) {
                  var R = i[r].entries,
                    P = I[I.length - 1],
                    A = R[0]
                  0 === P.getType() &&
                  0 === A.getType() &&
                  A.originalLineStart <= P.originalLineEnd
                    ? ((I[I.length - 1] = new S(
                        P.originalLineStart,
                        A.originalLineEnd,
                        P.modifiedLineStart,
                        A.modifiedLineEnd
                      )),
                      (I = I.concat(R.slice(1))))
                    : ((D[O++] = new E(I)), (I = R))
                }
                return (D[O++] = new E(I)), D
              }),
              (t.prototype._findDiffIndex = function(e) {
                for (
                  var t = e.lineNumber, n = 0, i = this._diffs.length;
                  n < i;
                  n++
                ) {
                  var o = this._diffs[n].entries
                  if (t <= o[o.length - 1].modifiedLineEnd) return n
                }
                return 0
              }),
              (t.prototype._render = function() {
                var e = this._diffEditor.getOriginalEditor().getConfiguration(),
                  i = this._diffEditor.getModifiedEditor().getConfiguration(),
                  r = this._diffEditor.getOriginalEditor().getModel(),
                  s = this._diffEditor.getModifiedEditor().getModel(),
                  a = r.getOptions(),
                  l = s.getOptions()
                if (!this._isVisible || !r || !s)
                  return (
                    o.clearNode(this._content.domNode),
                    (this._currentDiff = null),
                    void this.scrollbar.scanDomNode()
                  )
                var c = this._diffEditor.getPosition(),
                  d = this._findDiffIndex(c)
                if (this._diffs[d] !== this._currentDiff) {
                  this._currentDiff = this._diffs[d]
                  var h = this._diffs[d].entries,
                    p = document.createElement('div')
                  ;(p.className = 'diff-review-table'),
                    p.setAttribute('role', 'list'),
                    u.Configuration.applyFontInfoSlow(p, i.fontInfo)
                  for (
                    var f = 0, g = 0, m = 0, v = 0, _ = 0, y = h.length;
                    _ < y;
                    _++
                  ) {
                    var b = (N = h[_]).originalLineStart,
                      C = N.originalLineEnd,
                      w = N.modifiedLineStart,
                      S = N.modifiedLineEnd
                    0 !== b && (0 === f || b < f) && (f = b),
                      0 !== C && (0 === g || C > g) && (g = C),
                      0 !== w && (0 === m || w < m) && (m = w),
                      0 !== S && (0 === v || S > v) && (v = S)
                  }
                  var E = document.createElement('div')
                  E.className = 'diff-review-row'
                  var L = document.createElement('div')
                  ;(L.className = 'diff-review-cell diff-review-summary'),
                    L.appendChild(
                      document.createTextNode(
                        d +
                          1 +
                          '/' +
                          this._diffs.length +
                          ': @@ -' +
                          f +
                          ',' +
                          (g - f + 1) +
                          ' +' +
                          m +
                          ',' +
                          (v - m + 1) +
                          ' @@'
                      )
                    ),
                    E.setAttribute('data-line', String(m)),
                    E.setAttribute(
                      'aria-label',
                      n.localize(
                        1,
                        null,
                        d + 1,
                        this._diffs.length,
                        f,
                        g - f + 1,
                        m,
                        v - m + 1
                      )
                    ),
                    E.appendChild(L),
                    E.setAttribute('role', 'listitem'),
                    p.appendChild(E)
                  for (var x = m, _ = 0, y = h.length; _ < y; _++) {
                    var N = h[_]
                    t._renderSection(p, N, x, this._width, e, r, a, i, s, l),
                      0 !== N.modifiedLineStart && (x = N.modifiedLineEnd)
                  }
                  o.clearNode(this._content.domNode),
                    this._content.domNode.appendChild(p),
                    this.scrollbar.scanDomNode()
                }
              }),
              (t._renderSection = function(e, t, i, o, r, s, a, u, l, c) {
                var d = t.getType(),
                  h = 'diff-review-row',
                  p = '',
                  f = 'diff-review-spacer'
                switch (d) {
                  case 1:
                    ;(h = 'diff-review-row line-insert'),
                      (p = ' char-insert'),
                      (f = 'diff-review-spacer insert-sign')
                    break
                  case 2:
                    ;(h = 'diff-review-row line-delete'),
                      (p = ' char-delete'),
                      (f = 'diff-review-spacer delete-sign')
                }
                for (
                  var g = t.originalLineStart,
                    m = t.originalLineEnd,
                    v = t.modifiedLineStart,
                    _ = t.modifiedLineEnd,
                    y = Math.max(_ - v, m - g),
                    b =
                      r.layoutInfo.glyphMarginWidth +
                      r.layoutInfo.lineNumbersWidth,
                    C =
                      10 +
                      u.layoutInfo.glyphMarginWidth +
                      u.layoutInfo.lineNumbersWidth,
                    w = 0;
                  w <= y;
                  w++
                ) {
                  var S = 0 === g ? 0 : g + w,
                    E = 0 === v ? 0 : v + w,
                    L = document.createElement('div')
                  ;(L.style.minWidth = o + 'px'),
                    (L.className = h),
                    L.setAttribute('role', 'listitem'),
                    0 !== E && (i = E),
                    L.setAttribute('data-line', String(i))
                  var x = document.createElement('div')
                  ;(x.className = 'diff-review-cell'), L.appendChild(x)
                  var N = document.createElement('span')
                  ;(N.style.width = b + 'px'),
                    (N.style.minWidth = b + 'px'),
                    (N.className = 'diff-review-line-number' + p),
                    0 !== S
                      ? N.appendChild(document.createTextNode(String(S)))
                      : (N.innerHTML = '&nbsp;'),
                    x.appendChild(N)
                  var M = document.createElement('span')
                  ;(M.style.width = C + 'px'),
                    (M.style.minWidth = C + 'px'),
                    (M.style.paddingRight = '10px'),
                    (M.className = 'diff-review-line-number' + p),
                    0 !== E
                      ? M.appendChild(document.createTextNode(String(E)))
                      : (M.innerHTML = '&nbsp;'),
                    x.appendChild(M)
                  var T = document.createElement('span')
                  ;(T.className = f),
                    (T.innerHTML = '&nbsp;&nbsp;'),
                    x.appendChild(T)
                  var k = void 0
                  0 !== E
                    ? (x.insertAdjacentHTML(
                        'beforeend',
                        this._renderLine(l, u, c.tabSize, E)
                      ),
                      (k = l.getLineContent(E)))
                    : (x.insertAdjacentHTML(
                        'beforeend',
                        this._renderLine(s, r, a.tabSize, S)
                      ),
                      (k = s.getLineContent(S))),
                    0 === k.length && (k = n.localize(2, null))
                  var I = void 0
                  switch (d) {
                    case 0:
                      I = n.localize(3, null, S, E, k)
                      break
                    case 1:
                      I = n.localize(4, null, E, k)
                      break
                    case 2:
                      I = n.localize(5, null, S, k)
                  }
                  L.setAttribute('aria-label', I), e.appendChild(L)
                }
              }),
              (t._renderLine = function(e, t, n, i) {
                var o = e.getLineContent(i)
                return s.renderViewLine(
                  new s.RenderLineInput(
                    t.fontInfo.isMonospace &&
                      !t.viewInfo.disableMonospaceOptimizations,
                    o,
                    e.mightContainRTL(),
                    0,
                    [new a.ViewLineToken(o.length, 16793600)],
                    [],
                    n,
                    t.fontInfo.spaceWidth,
                    t.viewInfo.stopRenderingLineAfter,
                    t.viewInfo.renderWhitespace,
                    t.viewInfo.renderControlCharacters,
                    t.viewInfo.fontLigatures
                  )
                ).html
              }),
              t
            )
          })(i.Disposable)
        ;(t.DiffReview = L),
          c.registerThemingParticipant(function(e, t) {
            var n = e.getColor(p.editorLineNumbers)
            n &&
              t.addRule(
                '.monaco-diff-editor .diff-review-line-number { color: ' +
                  n +
                  '; }'
              )
            var i = e.getColor(d.scrollbarShadow)
            i &&
              t.addRule(
                '.monaco-diff-editor .diff-review-shadow { box-shadow: ' +
                  i +
                  ' 0 -6px 6px -6px inset; }'
              )
          })
        var x = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.diffReview.next',
                label: n.localize(6, null),
                alias: 'Go to Next Difference',
                precondition: y.ContextKeyExpr.has('isInDiffEditor'),
                kbOpts: { kbExpr: null, primary: 65 }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = C(e)
              n && n.diffReviewNext()
            }),
            t
          )
        })(_.EditorAction)
        x = v([_.editorAction], x)
        var N = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.diffReview.prev',
                label: n.localize(7, null),
                alias: 'Go to Previous Difference',
                precondition: y.ContextKeyExpr.has('isInDiffEditor'),
                kbOpts: { kbExpr: null, primary: 1089 }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = C(e)
              n && n.diffReviewPrev()
            }),
            t
          )
        })(_.EditorAction)
        N = v([_.editorAction], N)
      }),
      define(d[143], h([0, 1, 14]), function(e, t, n) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var i = (function() {
          return function(e, t, n, i) {
            ;(this.from = 0 | e),
              (this.to = 0 | t),
              (this.colorId = 0 | n),
              (this.position = 0 | i)
          }
        })()
        t.ColorZone = i
        var o = (function() {
          function e(e, t, n, i, o, r, s) {
            ;(this.startLineNumber = e),
              (this.endLineNumber = t),
              (this.position = n),
              (this.forceHeight = i),
              (this._color = o),
              (this._darkColor = r),
              (this._hcColor = s),
              (this._colorZones = null)
          }
          return (
            (e.prototype.getColor = function(e) {
              switch (e) {
                case n.HIGH_CONTRAST:
                  return this._hcColor
                case n.DARK:
                  return this._darkColor
              }
              return this._color
            }),
            (e.prototype.equals = function(e) {
              return (
                this.startLineNumber === e.startLineNumber &&
                this.endLineNumber === e.endLineNumber &&
                this.position === e.position &&
                this.forceHeight === e.forceHeight &&
                this._color === e._color &&
                this._darkColor === e._darkColor &&
                this._hcColor === e._hcColor
              )
            }),
            (e.prototype.compareTo = function(e) {
              return this.startLineNumber === e.startLineNumber
                ? this.endLineNumber === e.endLineNumber
                  ? this.forceHeight === e.forceHeight
                    ? this.position === e.position
                      ? this._darkColor === e._darkColor
                        ? this._color === e._color
                          ? this._hcColor === e._hcColor
                            ? 0
                            : this._hcColor < e._hcColor
                              ? -1
                              : 1
                          : this._color < e._color
                            ? -1
                            : 1
                        : this._darkColor < e._darkColor
                          ? -1
                          : 1
                      : this.position - e.position
                    : this.forceHeight - e.forceHeight
                  : this.endLineNumber - e.endLineNumber
                : this.startLineNumber - e.startLineNumber
            }),
            (e.prototype.setColorZones = function(e) {
              this._colorZones = e
            }),
            (e.prototype.getColorZones = function() {
              return this._colorZones
            }),
            e
          )
        })()
        t.OverviewRulerZone = o
        var r = (function() {
          function e(e) {
            ;(this._getVerticalOffsetForLine = e),
              (this._zones = []),
              (this._colorZonesInvalid = !1),
              (this._lineHeight = 0),
              (this._domWidth = 0),
              (this._domHeight = 0),
              (this._outerHeight = 0),
              (this._maximumHeight = 0),
              (this._minimumHeight = 0),
              (this._themeType = n.LIGHT),
              (this._pixelRatio = 1),
              (this._lastAssignedId = 0),
              (this._color2Id = Object.create(null)),
              (this._id2Color = [])
          }
          return (
            (e.prototype.getId2Color = function() {
              return this._id2Color
            }),
            (e.prototype.setZones = function(e) {
              e.sort(function(e, t) {
                return e.compareTo(t)
              })
              for (
                var t = this._zones,
                  n = 0,
                  i = this._zones.length,
                  o = 0,
                  r = e.length,
                  s = [];
                o < r;

              ) {
                var a = e[o]
                if (n >= i) s.push(a), o++
                else {
                  var u = t[n],
                    l = u.compareTo(a)
                  l < 0 ? n++ : l > 0 ? (s.push(a), o++) : (s.push(u), n++, o++)
                }
              }
              this._zones = s
            }),
            (e.prototype.setLineHeight = function(e) {
              return (
                this._lineHeight !== e &&
                ((this._lineHeight = e), (this._colorZonesInvalid = !0), !0)
              )
            }),
            (e.prototype.setPixelRatio = function(e) {
              ;(this._pixelRatio = e), (this._colorZonesInvalid = !0)
            }),
            (e.prototype.getDOMWidth = function() {
              return this._domWidth
            }),
            (e.prototype.getCanvasWidth = function() {
              return this._domWidth * this._pixelRatio
            }),
            (e.prototype.setDOMWidth = function(e) {
              return (
                this._domWidth !== e &&
                ((this._domWidth = e), (this._colorZonesInvalid = !0), !0)
              )
            }),
            (e.prototype.getDOMHeight = function() {
              return this._domHeight
            }),
            (e.prototype.getCanvasHeight = function() {
              return this._domHeight * this._pixelRatio
            }),
            (e.prototype.setDOMHeight = function(e) {
              return (
                this._domHeight !== e &&
                ((this._domHeight = e), (this._colorZonesInvalid = !0), !0)
              )
            }),
            (e.prototype.getOuterHeight = function() {
              return this._outerHeight
            }),
            (e.prototype.setOuterHeight = function(e) {
              return (
                this._outerHeight !== e &&
                ((this._outerHeight = e), (this._colorZonesInvalid = !0), !0)
              )
            }),
            (e.prototype.setMaximumHeight = function(e) {
              return (
                this._maximumHeight !== e &&
                ((this._maximumHeight = e), (this._colorZonesInvalid = !0), !0)
              )
            }),
            (e.prototype.setMinimumHeight = function(e) {
              return (
                this._minimumHeight !== e &&
                ((this._minimumHeight = e), (this._colorZonesInvalid = !0), !0)
              )
            }),
            (e.prototype.setThemeType = function(e) {
              return (
                this._themeType !== e &&
                ((this._themeType = e), (this._colorZonesInvalid = !0), !0)
              )
            }),
            (e.prototype.resolveColorZones = function() {
              for (
                var e = this._colorZonesInvalid,
                  t = Math.floor(this._lineHeight),
                  n = Math.floor(this.getCanvasHeight()),
                  i = Math.floor(this._maximumHeight * this._pixelRatio),
                  o = Math.floor(this._minimumHeight * this._pixelRatio),
                  r = this._themeType,
                  s = n / Math.floor(this._outerHeight),
                  a = [],
                  u = 0,
                  l = this._zones.length;
                u < l;
                u++
              ) {
                var c = this._zones[u]
                if (!e) {
                  var d = c.getColorZones()
                  if (d) {
                    for (var h = 0, p = d.length; h < p; h++) a.push(d[h])
                    continue
                  }
                }
                var f = []
                if (c.forceHeight) {
                  var g = Math.floor(c.forceHeight * this._pixelRatio),
                    m = Math.floor(
                      this._getVerticalOffsetForLine(c.startLineNumber)
                    ),
                    v = (m = Math.floor(m * s)) + g
                  f.push(
                    this.createZone(n, m, v, g, g, c.getColor(r), c.position)
                  )
                } else {
                  var m = Math.floor(
                      this._getVerticalOffsetForLine(c.startLineNumber)
                    ),
                    v =
                      Math.floor(
                        this._getVerticalOffsetForLine(c.endLineNumber)
                      ) + t
                  ;(m = Math.floor(m * s)), (v = Math.floor(v * s))
                  var _ = (c.endLineNumber - c.startLineNumber + 1) * i
                  if (v - m > _)
                    for (var y = c.startLineNumber; y <= c.endLineNumber; y++)
                      (v =
                        (m = Math.floor(this._getVerticalOffsetForLine(y))) +
                        t),
                        (m = Math.floor(m * s)),
                        (v = Math.floor(v * s)),
                        f.push(
                          this.createZone(
                            n,
                            m,
                            v,
                            o,
                            i,
                            c.getColor(r),
                            c.position
                          )
                        )
                  else
                    f.push(
                      this.createZone(n, m, v, o, _, c.getColor(r), c.position)
                    )
                }
                c.setColorZones(f)
                for (var h = 0, p = f.length; h < p; h++) a.push(f[h])
              }
              this._colorZonesInvalid = !1
              return (
                a.sort(function(e, t) {
                  return e.colorId === t.colorId
                    ? e.from === t.from
                      ? e.to - t.to
                      : e.from - t.from
                    : e.colorId - t.colorId
                }),
                a
              )
            }),
            (e.prototype.createZone = function(e, t, n, o, r, s, a) {
              ;(e = Math.floor(e)),
                (t = Math.floor(t)),
                (n = Math.floor(n)),
                (o = Math.floor(o)),
                (r = Math.floor(r))
              var u = Math.floor((t + n) / 2),
                l = n - u
              l > r / 2 && (l = r / 2),
                l < o / 2 && (l = o / 2),
                u - l < 0 && (u = l),
                u + l > e && (u = e - l)
              var c = this._color2Id[s]
              return (
                c ||
                  ((c = ++this._lastAssignedId),
                  (this._color2Id[s] = c),
                  (this._id2Color[c] = s)),
                new i(u - l, u + l, c, a)
              )
            }),
            e
          )
        })()
        t.OverviewZoneManager = r
      }),
      define(d[156], h([0, 1, 26, 21, 143, 14]), function(e, t, n, i, o, r) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var s = (function() {
          function e(e, t, i, s, a, u, l, c) {
            ;(this._canvasLeftOffset = e),
              (this._domNode = n.createFastDomNode(
                document.createElement('canvas')
              )),
              this._domNode.setClassName(t),
              this._domNode.setPosition('absolute'),
              this._domNode.setLayerHinting(!0),
              (this._lanesCount = 3),
              (this._background = null),
              (this._zoneManager = new o.OverviewZoneManager(c)),
              this._zoneManager.setMinimumHeight(u),
              this._zoneManager.setMaximumHeight(l),
              this._zoneManager.setThemeType(r.LIGHT),
              this._zoneManager.setDOMWidth(0),
              this._zoneManager.setDOMHeight(0),
              this._zoneManager.setOuterHeight(i),
              this._zoneManager.setLineHeight(s),
              this._zoneManager.setPixelRatio(a)
          }
          return (
            (e.prototype.dispose = function() {
              this._zoneManager = null
            }),
            (e.prototype.setLayout = function(e, t) {
              this._domNode.setTop(e.top), this._domNode.setRight(e.right)
              var n = !1
              ;(n = this._zoneManager.setDOMWidth(e.width) || n),
                (n = this._zoneManager.setDOMHeight(e.height) || n) &&
                  (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()),
                  t && this.render(!0))
            }),
            (e.prototype.getLanesCount = function() {
              return this._lanesCount
            }),
            (e.prototype.setLanesCount = function(e, t) {
              ;(this._lanesCount = e), t && this.render(!0)
            }),
            (e.prototype.setThemeType = function(e, t) {
              this._zoneManager.setThemeType(e), t && this.render(!0)
            }),
            (e.prototype.setUseBackground = function(e, t) {
              ;(this._background = e), t && this.render(!0)
            }),
            (e.prototype.getDomNode = function() {
              return this._domNode.domNode
            }),
            (e.prototype.getPixelWidth = function() {
              return this._zoneManager.getCanvasWidth()
            }),
            (e.prototype.getPixelHeight = function() {
              return this._zoneManager.getCanvasHeight()
            }),
            (e.prototype.setScrollHeight = function(e, t) {
              this._zoneManager.setOuterHeight(e), t && this.render(!0)
            }),
            (e.prototype.setLineHeight = function(e, t) {
              this._zoneManager.setLineHeight(e), t && this.render(!0)
            }),
            (e.prototype.setPixelRatio = function(e, t) {
              this._zoneManager.setPixelRatio(e),
                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()),
                t && this.render(!0)
            }),
            (e.prototype.setZones = function(e, t) {
              this._zoneManager.setZones(e), t && this.render(!1)
            }),
            (e.prototype.render = function(e) {
              if (0 === this._zoneManager.getOuterHeight()) return !1
              var t = this._zoneManager.getCanvasWidth(),
                n = this._zoneManager.getCanvasHeight(),
                i = this._zoneManager.resolveColorZones(),
                o = this._zoneManager.getId2Color(),
                r = this._domNode.domNode.getContext('2d')
              if (
                (null === this._background
                  ? r.clearRect(0, 0, t, n)
                  : ((r.fillStyle = this._background.toRGBHex()),
                    r.fillRect(0, 0, t, n)),
                i.length > 0)
              ) {
                var s = t - this._canvasLeftOffset
                this._lanesCount >= 3
                  ? this._renderThreeLanes(r, i, o, s)
                  : 2 === this._lanesCount
                    ? this._renderTwoLanes(r, i, o, s)
                    : 1 === this._lanesCount && this._renderOneLane(r, i, o, s)
              }
              return !0
            }),
            (e.prototype._renderOneLane = function(e, t, n, o) {
              this._renderVerticalPatch(
                e,
                t,
                n,
                i.OverviewRulerLane.Left |
                  i.OverviewRulerLane.Center |
                  i.OverviewRulerLane.Right,
                this._canvasLeftOffset,
                o
              )
            }),
            (e.prototype._renderTwoLanes = function(e, t, n, o) {
              var r = Math.floor(o / 2),
                s = o - r,
                a = this._canvasLeftOffset,
                u = this._canvasLeftOffset + r
              this._renderVerticalPatch(
                e,
                t,
                n,
                i.OverviewRulerLane.Left | i.OverviewRulerLane.Center,
                a,
                r
              ),
                this._renderVerticalPatch(
                  e,
                  t,
                  n,
                  i.OverviewRulerLane.Right,
                  u,
                  s
                )
            }),
            (e.prototype._renderThreeLanes = function(e, t, n, o) {
              var r = Math.floor(o / 3),
                s = Math.floor(o / 3),
                a = o - r - s,
                u = this._canvasLeftOffset,
                l = this._canvasLeftOffset + r,
                c = this._canvasLeftOffset + r + a
              this._renderVerticalPatch(
                e,
                t,
                n,
                i.OverviewRulerLane.Left,
                u,
                r
              ),
                this._renderVerticalPatch(
                  e,
                  t,
                  n,
                  i.OverviewRulerLane.Center,
                  l,
                  a
                ),
                this._renderVerticalPatch(
                  e,
                  t,
                  n,
                  i.OverviewRulerLane.Right,
                  c,
                  s
                )
            }),
            (e.prototype._renderVerticalPatch = function(e, t, n, i, o, r) {
              for (var s = 0, a = 0, u = 0, l = 0, c = t.length; l < c; l++) {
                var d = t[l]
                if (d.position & i) {
                  var h = d.colorId,
                    p = d.from,
                    f = d.to
                  h !== s
                    ? (e.fillRect(o, a, r, u - a),
                      (s = h),
                      (e.fillStyle = n[s]),
                      (a = p),
                      (u = f))
                    : u >= p
                      ? (u = Math.max(u, f))
                      : (e.fillRect(o, a, r, u - a), (a = p), (u = f))
                }
              }
              e.fillRect(o, a, r, u - a)
            }),
            e
          )
        })()
        t.OverviewRulerImpl = s
      }),
      define(d[495], h([0, 1, 21, 35, 156, 17, 143, 36, 34]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var l = (function(e) {
          function t(n) {
            var i = e.call(this, n) || this
            return (
              (i._overviewRuler = new o.OverviewRulerImpl(
                1,
                'decorationsOverviewRuler',
                i._context.viewLayout.getScrollHeight(),
                i._context.configuration.editor.lineHeight,
                i._context.configuration.editor.pixelRatio,
                t.MIN_DECORATION_HEIGHT,
                t.MAX_DECORATION_HEIGHT,
                function(e) {
                  return i._context.viewLayout.getVerticalOffsetForLineNumber(e)
                }
              )),
              i._overviewRuler.setLanesCount(
                i._context.configuration.editor.viewInfo.overviewRulerLanes,
                !1
              ),
              i._overviewRuler.setLayout(
                i._context.configuration.editor.layoutInfo.overviewRuler,
                !1
              ),
              (i._renderBorder =
                i._context.configuration.editor.viewInfo.overviewRulerBorder),
              i._updateColors(),
              i._updateBackground(!1),
              (i._tokensColorTrackerListener = r.TokenizationRegistry.onDidChange(
                function(e) {
                  e.changedColorMap && i._updateBackground(!0)
                }
              )),
              (i._shouldUpdateDecorations = !0),
              (i._zonesFromDecorations = []),
              (i._shouldUpdateCursorPosition = !0),
              (i._hideCursor =
                i._context.configuration.editor.viewInfo.hideCursorInOverviewRuler),
              (i._zonesFromCursors = []),
              (i._cursorPositions = []),
              i
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              e.prototype.dispose.call(this),
                this._overviewRuler.dispose(),
                this._tokensColorTrackerListener.dispose()
            }),
            (t.prototype._updateBackground = function(e) {
              var t = this._context.configuration.editor.viewInfo.minimap
                .enabled
              this._overviewRuler.setUseBackground(
                t ? r.TokenizationRegistry.getDefaultBackground() : null,
                e
              )
            }),
            (t.prototype.onConfigurationChanged = function(e) {
              var t = this._overviewRuler.getLanesCount(),
                n = this._context.configuration.editor.viewInfo
                  .overviewRulerLanes
              return (
                t !== n && this._overviewRuler.setLanesCount(n, !1),
                e.lineHeight &&
                  this._overviewRuler.setLineHeight(
                    this._context.configuration.editor.lineHeight,
                    !1
                  ),
                e.pixelRatio &&
                  this._overviewRuler.setPixelRatio(
                    this._context.configuration.editor.pixelRatio,
                    !1
                  ),
                e.viewInfo &&
                  ((this._renderBorder = this._context.configuration.editor.viewInfo.overviewRulerBorder),
                  (this._hideCursor = this._context.configuration.editor.viewInfo.hideCursorInOverviewRuler),
                  (this._shouldUpdateCursorPosition = !0),
                  this._updateBackground(!1)),
                e.layoutInfo &&
                  this._overviewRuler.setLayout(
                    this._context.configuration.editor.layoutInfo.overviewRuler,
                    !1
                  ),
                !0
              )
            }),
            (t.prototype.onCursorStateChanged = function(e) {
              ;(this._shouldUpdateCursorPosition = !0),
                (this._cursorPositions = [])
              for (var t = 0, n = e.selections.length; t < n; t++)
                this._cursorPositions[t] = e.selections[t].getPosition()
              return !0
            }),
            (t.prototype.onDecorationsChanged = function(e) {
              return (this._shouldUpdateDecorations = !0), !0
            }),
            (t.prototype.onFlushed = function(e) {
              return (
                (this._shouldUpdateCursorPosition = !0),
                (this._shouldUpdateDecorations = !0),
                !0
              )
            }),
            (t.prototype.onScrollChanged = function(t) {
              return (
                this._overviewRuler.setScrollHeight(t.scrollHeight, !1),
                e.prototype.onScrollChanged.call(this, t) ||
                  t.scrollHeightChanged
              )
            }),
            (t.prototype.onZonesChanged = function(e) {
              return !0
            }),
            (t.prototype.onThemeChanged = function(e) {
              return (
                this._updateColors(),
                (this._shouldUpdateDecorations = !0),
                (this._shouldUpdateCursorPosition = !0),
                !0
              )
            }),
            (t.prototype.getDomNode = function() {
              return this._overviewRuler.getDomNode()
            }),
            (t.prototype._updateColors = function() {
              var e = this._context.theme.getColor(a.editorOverviewRulerBorder)
              this._borderColor = e ? e.toString() : null
              var t = this._context.theme.getColor(a.editorCursor)
              ;(this._cursorColor = t ? t.transparent(0.7).toString() : null),
                this._overviewRuler.setThemeType(this._context.theme.type, !1)
            }),
            (t.prototype._createZonesFromDecorations = function() {
              for (
                var e = this._context.model.getAllOverviewRulerDecorations(),
                  t = [],
                  n = 0,
                  i = e.length;
                n < i;
                n++
              ) {
                var o = e[n],
                  r = o.source.options.overviewRuler
                t.push(
                  new s.OverviewRulerZone(
                    o.range.startLineNumber,
                    o.range.endLineNumber,
                    r.position,
                    0,
                    this.resolveRulerColor(r.color),
                    this.resolveRulerColor(r.darkColor),
                    this.resolveRulerColor(r.hcColor)
                  )
                )
              }
              return t
            }),
            (t.prototype.resolveRulerColor = function(e) {
              return n.isThemeColor(e)
                ? (
                    this._context.theme.getColor(e.id) || u.Color.transparent
                  ).toString()
                : e
            }),
            (t.prototype._createZonesFromCursors = function() {
              for (
                var e = [], t = 0, i = this._cursorPositions.length;
                t < i;
                t++
              ) {
                var o = this._cursorPositions[t]
                e.push(
                  new s.OverviewRulerZone(
                    o.lineNumber,
                    o.lineNumber,
                    n.OverviewRulerLane.Full,
                    2,
                    this._cursorColor,
                    this._cursorColor,
                    this._cursorColor
                  )
                )
              }
              return e
            }),
            (t.prototype.prepareRender = function(e) {}),
            (t.prototype.render = function(e) {
              if (
                this._shouldUpdateDecorations ||
                this._shouldUpdateCursorPosition
              ) {
                this._shouldUpdateDecorations &&
                  ((this._shouldUpdateDecorations = !1),
                  (this._zonesFromDecorations = this._createZonesFromDecorations())),
                  this._shouldUpdateCursorPosition &&
                    ((this._shouldUpdateCursorPosition = !1),
                    this._hideCursor
                      ? (this._zonesFromCursors = [])
                      : (this._zonesFromCursors = this._createZonesFromCursors()))
                var t = []
                ;(t = (t = t.concat(this._zonesFromCursors)).concat(
                  this._zonesFromDecorations
                )),
                  this._overviewRuler.setZones(t, !1)
              }
              if (
                this._overviewRuler.render(!1) &&
                this._renderBorder &&
                this._borderColor &&
                this._overviewRuler.getLanesCount() > 0 &&
                (this._zonesFromDecorations.length > 0 ||
                  this._zonesFromCursors.length > 0)
              ) {
                var n = this._overviewRuler.getDomNode().getContext('2d')
                n.beginPath(),
                  (n.lineWidth = 1),
                  (n.strokeStyle = this._borderColor),
                  n.moveTo(0, 0),
                  n.lineTo(0, this._overviewRuler.getPixelHeight()),
                  n.stroke(),
                  n.moveTo(0, 0),
                  n.lineTo(this._overviewRuler.getPixelWidth(), 0),
                  n.stroke()
              }
            }),
            t
          )
        })(i.ViewPart)
        ;(l.MIN_DECORATION_HEIGHT = 6),
          (l.MAX_DECORATION_HEIGHT = 60),
          (t.DecorationsOverviewRuler = l)
      }),
      define(d[496], h([0, 1, 87, 156]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var o = (function(e) {
          function t(t, n, o, r) {
            var s = e.call(this) || this
            return (
              (s._context = t),
              (s._overviewRuler = new i.OverviewRulerImpl(
                0,
                n,
                s._context.viewLayout.getScrollHeight(),
                s._context.configuration.editor.lineHeight,
                s._context.configuration.editor.pixelRatio,
                o,
                r,
                function(e) {
                  return s._context.viewLayout.getVerticalOffsetForLineNumber(e)
                }
              )),
              s._context.addEventHandler(s),
              s
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              this._context.removeEventHandler(this),
                this._overviewRuler.dispose(),
                e.prototype.dispose.call(this)
            }),
            (t.prototype.onConfigurationChanged = function(e) {
              return (
                e.lineHeight &&
                  this._overviewRuler.setLineHeight(
                    this._context.configuration.editor.lineHeight,
                    !0
                  ),
                e.pixelRatio &&
                  this._overviewRuler.setPixelRatio(
                    this._context.configuration.editor.pixelRatio,
                    !0
                  ),
                !0
              )
            }),
            (t.prototype.onFlushed = function(e) {
              return !0
            }),
            (t.prototype.onScrollChanged = function(t) {
              return (
                this._overviewRuler.setScrollHeight(t.scrollHeight, !0),
                e.prototype.onScrollChanged.call(this, t) ||
                  t.scrollHeightChanged
              )
            }),
            (t.prototype.onZonesChanged = function(e) {
              return !0
            }),
            (t.prototype.getDomNode = function() {
              return this._overviewRuler.getDomNode()
            }),
            (t.prototype.setLayout = function(e) {
              this._overviewRuler.setLayout(e, !0)
            }),
            (t.prototype.setZones = function(e) {
              this._overviewRuler.setZones(e, !0)
            }),
            t
          )
        })(n.ViewEventHandler)
        t.OverviewRuler = o
      }),
      define(d[497], h([
        0,
        1,
        10,
        6,
        26,
        2,
        87,
        489,
        478,
        439,
        216,
        433,
        229,
        485,
        486,
        230,
        116,
        171,
        487,
        480,
        153,
        232,
        234,
        235,
        495,
        496,
        490,
        482,
        483,
        491,
        236,
        35,
        215,
        80,
        479,
        220,
        474,
        481,
        56,
        14
      ]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c,
        d,
        h,
        p,
        g,
        m,
        v,
        _,
        y,
        b,
        C,
        w,
        S,
        E,
        L,
        x,
        N,
        M,
        T,
        k,
        I,
        D,
        O,
        R,
        P,
        A,
        F,
        W,
        B,
        V
      ) {
        'use strict'
        function H(e) {
          try {
            return e()
          } catch (e) {
            n.onUnexpectedError(e)
          }
        }
        function z(e, t) {
          try {
            return e(t)
          } catch (e) {
            n.onUnexpectedError(e)
          }
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var K = (function(e) {
          function t(t, n, i, o, r, s) {
            var d = e.call(this) || this
            ;(d._isDisposed = !1),
              (d._cursor = r),
              (d._renderAnimationFrame = null),
              (d.outgoingEvents = new P.ViewOutgoingEvents(o))
            var h = new l.ViewController(n, o, s, d.outgoingEvents, t)
            return (
              (d.eventDispatcher = new c.ViewEventDispatcher(function(e) {
                return d._renderOnce(e)
              })),
              d.eventDispatcher.addEventHandler(d),
              (d._context = new O.ViewContext(
                n,
                i.getTheme(),
                o,
                d.eventDispatcher
              )),
              d._register(
                i.onThemeChange(function(e) {
                  ;(d._context.theme = e),
                    d.eventDispatcher.emit(new B.ViewThemeChangedEvent()),
                    d.render(!0, !1)
                })
              ),
              (d.viewParts = []),
              (d._textAreaHandler = new a.TextAreaHandler(
                d._context,
                h,
                d.createTextAreaHandlerHelper()
              )),
              d.viewParts.push(d._textAreaHandler),
              d.createViewParts(),
              d._setLayout(),
              (d.pointerHandler = new u.PointerHandler(
                d._context,
                h,
                d.createPointerHandlerHelper()
              )),
              d._register(
                o.addEventListener(function(e) {
                  d.eventDispatcher.emitMany(e)
                })
              ),
              d._register(
                d._cursor.addEventListener(function(e) {
                  d.eventDispatcher.emitMany(e)
                })
              ),
              d
            )
          }
          return (
            f(t, e),
            (t.prototype.createViewParts = function() {
              ;(this.linesContent = o.createFastDomNode(
                document.createElement('div')
              )),
                this.linesContent.setClassName(
                  'lines-content monaco-editor-background'
                ),
                this.linesContent.setPosition('absolute'),
                (this.domNode = o.createFastDomNode(
                  document.createElement('div')
                )),
                this.domNode.setClassName(this.getEditorClassName()),
                (this.overflowGuardContainer = o.createFastDomNode(
                  document.createElement('div')
                )),
                D.PartFingerprints.write(this.overflowGuardContainer, 3),
                this.overflowGuardContainer.setClassName('overflow-guard'),
                (this._scrollbar = new F.EditorScrollbar(
                  this._context,
                  this.linesContent,
                  this.domNode,
                  this.overflowGuardContainer
                )),
                this.viewParts.push(this._scrollbar),
                (this.viewLines = new b.ViewLines(
                  this._context,
                  this.linesContent
                )),
                (this.viewZones = new I.ViewZones(this._context)),
                this.viewParts.push(this.viewZones)
              var e = new L.DecorationsOverviewRuler(this._context)
              this.viewParts.push(e)
              var t = new M.ScrollDecorationViewPart(this._context)
              this.viewParts.push(t)
              var n = new d.ContentViewOverlays(this._context)
              this.viewParts.push(n),
                n.addDynamicOverlay(
                  new p.CurrentLineHighlightOverlay(this._context)
                ),
                n.addDynamicOverlay(new T.SelectionsOverlay(this._context)),
                n.addDynamicOverlay(new m.DecorationsOverlay(this._context)),
                n.addDynamicOverlay(new y.IndentGuidesOverlay(this._context))
              var i = new d.MarginViewOverlays(this._context)
              this.viewParts.push(i),
                i.addDynamicOverlay(
                  new g.CurrentLineMarginHighlightOverlay(this._context)
                ),
                i.addDynamicOverlay(new v.GlyphMarginOverlay(this._context)),
                i.addDynamicOverlay(
                  new S.MarginViewLineDecorationsOverlay(this._context)
                ),
                i.addDynamicOverlay(
                  new w.LinesDecorationsOverlay(this._context)
                ),
                i.addDynamicOverlay(new _.LineNumbersOverlay(this._context))
              var r = new C.Margin(this._context)
              r.getDomNode().appendChild(this.viewZones.marginDomNode),
                r.getDomNode().appendChild(i.getDomNode()),
                this.viewParts.push(r),
                (this.contentWidgets = new h.ViewContentWidgets(
                  this._context,
                  this.domNode
                )),
                this.viewParts.push(this.contentWidgets),
                (this.viewCursors = new k.ViewCursors(this._context)),
                this.viewParts.push(this.viewCursors),
                (this.overlayWidgets = new E.ViewOverlayWidgets(this._context)),
                this.viewParts.push(this.overlayWidgets)
              var s = new N.Rulers(this._context)
              this.viewParts.push(s)
              var a = new W.Minimap(this._context)
              if ((this.viewParts.push(a), e)) {
                var u = this._scrollbar.getOverviewRulerLayoutInfo()
                u.parent.insertBefore(e.getDomNode(), u.insertBefore)
              }
              this.linesContent.appendChild(n.getDomNode()),
                this.linesContent.appendChild(s.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(r.getDomNode()),
                this.overflowGuardContainer.appendChild(
                  this._scrollbar.getDomNode()
                ),
                this.overflowGuardContainer.appendChild(t.getDomNode()),
                this.overflowGuardContainer.appendChild(
                  this._textAreaHandler.textArea
                ),
                this.overflowGuardContainer.appendChild(
                  this._textAreaHandler.textAreaCover
                ),
                this.overflowGuardContainer.appendChild(
                  this.overlayWidgets.getDomNode()
                ),
                this.overflowGuardContainer.appendChild(a.getDomNode()),
                this.domNode.appendChild(this.overflowGuardContainer),
                this.domNode.appendChild(
                  this.contentWidgets.overflowingContentWidgetsDomNode
                )
            }),
            (t.prototype._flushAccumulatedAndRenderNow = function() {
              this._renderNow()
            }),
            (t.prototype.createPointerHandlerHelper = function() {
              var e = this
              return {
                viewDomNode: this.domNode.domNode,
                linesContentDomNode: this.linesContent.domNode,
                focusTextArea: function() {
                  e.focus()
                },
                getLastViewCursorsRenderData: function() {
                  return e.viewCursors.getLastRenderData() || []
                },
                shouldSuppressMouseDownOnViewZone: function(t) {
                  return e.viewZones.shouldSuppressMouseDownOnViewZone(t)
                },
                shouldSuppressMouseDownOnWidget: function(t) {
                  return e.contentWidgets.shouldSuppressMouseDownOnWidget(t)
                },
                getPositionFromDOMInfo: function(t, n) {
                  return (
                    e._flushAccumulatedAndRenderNow(),
                    e.viewLines.getPositionFromDOMInfo(t, n)
                  )
                },
                visibleRangeForPosition2: function(t, n) {
                  e._flushAccumulatedAndRenderNow()
                  var i = e.viewLines.visibleRangesForRange2(
                    new r.Range(t, n, t, n)
                  )
                  return i ? i[0] : null
                },
                getLineWidth: function(t) {
                  return (
                    e._flushAccumulatedAndRenderNow(),
                    e.viewLines.getLineWidth(t)
                  )
                }
              }
            }),
            (t.prototype.createTextAreaHandlerHelper = function() {
              var e = this
              return {
                visibleRangeForPositionRelativeToEditor: function(t, n) {
                  e._flushAccumulatedAndRenderNow()
                  var i = e.viewLines.visibleRangesForRange2(
                    new r.Range(t, n, t, n)
                  )
                  return i ? i[0] : null
                }
              }
            }),
            (t.prototype._setLayout = function() {
              var e = this._context.configuration.editor.layoutInfo
              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)
            }),
            (t.prototype.getEditorClassName = function() {
              return (
                this._context.configuration.editor.editorClassName +
                ' ' +
                V.getThemeTypeSelector(this._context.theme.type)
              )
            }),
            (t.prototype.onConfigurationChanged = function(e) {
              return (
                e.editorClassName &&
                  this.domNode.setClassName(this.getEditorClassName()),
                e.layoutInfo && this._setLayout(),
                !1
              )
            }),
            (t.prototype.onFocusChanged = function(e) {
              return (
                this.domNode.toggleClassName('focused', e.isFocused),
                e.isFocused
                  ? this.outgoingEvents.emitViewFocusGained()
                  : this.outgoingEvents.emitViewFocusLost(),
                !1
              )
            }),
            (t.prototype.onScrollChanged = function(e) {
              return this.outgoingEvents.emitScrollChanged(e), !1
            }),
            (t.prototype.onThemeChanged = function(e) {
              return this.domNode.setClassName(this.getEditorClassName()), !1
            }),
            (t.prototype.dispose = function() {
              ;(this._isDisposed = !0),
                null !== this._renderAnimationFrame &&
                  (this._renderAnimationFrame.dispose(),
                  (this._renderAnimationFrame = null)),
                this.eventDispatcher.removeEventHandler(this),
                this.outgoingEvents.dispose(),
                this.pointerHandler.dispose(),
                this.viewLines.dispose()
              for (var t = 0, n = this.viewParts.length; t < n; t++)
                this.viewParts[t].dispose()
              ;(this.viewParts = []), e.prototype.dispose.call(this)
            }),
            (t.prototype._renderOnce = function(e) {
              var t = H(e)
              return this._scheduleRender(), t
            }),
            (t.prototype._scheduleRender = function() {
              null === this._renderAnimationFrame &&
                (this._renderAnimationFrame = i.runAtThisOrScheduleAtNextAnimationFrame(
                  this._onRenderScheduled.bind(this),
                  100
                ))
            }),
            (t.prototype._onRenderScheduled = function() {
              ;(this._renderAnimationFrame = null),
                this._flushAccumulatedAndRenderNow()
            }),
            (t.prototype._renderNow = function() {
              var e = this
              H(function() {
                return e._actualRender()
              })
            }),
            (t.prototype._getViewPartsToRender = function() {
              for (var e = [], t = 0, n = this.viewParts.length; t < n; t++) {
                var i = this.viewParts[t]
                i.shouldRender() && e.push(i)
              }
              return e
            }),
            (t.prototype._actualRender = function() {
              if (i.isInDOM(this.domNode.domNode)) {
                var e = this._getViewPartsToRender()
                if (this.viewLines.shouldRender() || 0 !== e.length) {
                  var t = this._context.viewLayout.getLinesViewportData()
                  this._context.model.setViewport(
                    t.startLineNumber,
                    t.endLineNumber,
                    t.centeredLineNumber
                  )
                  var n = new A.ViewportData(
                    this._cursor.getViewSelections(),
                    t,
                    this._context.viewLayout.getWhitespaceViewportData(),
                    this._context.model
                  )
                  this.viewLines.shouldRender() &&
                    (this.viewLines.renderText(n),
                    this.viewLines.onDidRender(),
                    (e = this._getViewPartsToRender()))
                  for (
                    var o = new R.RenderingContext(
                        this._context.viewLayout,
                        n,
                        this.viewLines
                      ),
                      r = 0,
                      s = e.length;
                    r < s;
                    r++
                  )
                    (a = e[r]).prepareRender(o)
                  for (var r = 0, s = e.length; r < s; r++) {
                    var a = e[r]
                    a.render(o), a.onDidRender()
                  }
                }
              }
            }),
            (t.prototype.delegateVerticalScrollbarMouseDown = function(e) {
              this._scrollbar.delegateVerticalScrollbarMouseDown(e)
            }),
            (t.prototype.getOffsetForColumn = function(e, t) {
              var n = this._context.model.validateModelPosition({
                  lineNumber: e,
                  column: t
                }),
                i = this._context.model.coordinatesConverter.convertModelPositionToViewPosition(
                  n
                )
              this._flushAccumulatedAndRenderNow()
              var o = this.viewLines.visibleRangesForRange2(
                new r.Range(i.lineNumber, i.column, i.lineNumber, i.column)
              )
              return o ? o[0].left : -1
            }),
            (t.prototype.getTargetAtClientPoint = function(e, t) {
              return this.pointerHandler.getTargetAtClientPoint(e, t)
            }),
            (t.prototype.getInternalEventBus = function() {
              return this.outgoingEvents
            }),
            (t.prototype.createOverviewRuler = function(e, t, n) {
              return new x.OverviewRuler(this._context, e, t, n)
            }),
            (t.prototype.change = function(e) {
              var t = this,
                n = !1
              return (
                this._renderOnce(function() {
                  var i = {
                    addZone: function(e) {
                      return (n = !0), t.viewZones.addZone(e)
                    },
                    removeZone: function(e) {
                      e && (n = t.viewZones.removeZone(e) || n)
                    },
                    layoutZone: function(e) {
                      e && (n = t.viewZones.layoutZone(e) || n)
                    }
                  }
                  z(e, i),
                    (i.addZone = null),
                    (i.removeZone = null),
                    n &&
                      (t._context.viewLayout.onHeightMaybeChanged(),
                      t._context.privateViewEventBus.emit(
                        new B.ViewZonesChangedEvent()
                      ))
                }),
                n
              )
            }),
            (t.prototype.render = function(e, t) {
              if (t) {
                this.viewLines.forceShouldRender()
                for (var n = 0, i = this.viewParts.length; n < i; n++)
                  this.viewParts[n].forceShouldRender()
              }
              e ? this._flushAccumulatedAndRenderNow() : this._scheduleRender()
            }),
            (t.prototype.setAriaActiveDescendant = function(e) {
              this._textAreaHandler.setAriaActiveDescendant(e)
            }),
            (t.prototype.focus = function() {
              this._textAreaHandler.focusTextArea()
            }),
            (t.prototype.isFocused = function() {
              return this._textAreaHandler.isFocused()
            }),
            (t.prototype.addContentWidget = function(e) {
              this.contentWidgets.addWidget(e.widget),
                this.layoutContentWidget(e),
                this._scheduleRender()
            }),
            (t.prototype.layoutContentWidget = function(e) {
              var t = e.position ? e.position.position : null,
                n = e.position ? e.position.preference : null
              this.contentWidgets.setWidgetPosition(e.widget, t, n),
                this._scheduleRender()
            }),
            (t.prototype.removeContentWidget = function(e) {
              this.contentWidgets.removeWidget(e.widget), this._scheduleRender()
            }),
            (t.prototype.addOverlayWidget = function(e) {
              this.overlayWidgets.addWidget(e.widget),
                this.layoutOverlayWidget(e),
                this._scheduleRender()
            }),
            (t.prototype.layoutOverlayWidget = function(e) {
              var t = e.position ? e.position.preference : null
              this.overlayWidgets.setWidgetPosition(e.widget, t) &&
                this._scheduleRender()
            }),
            (t.prototype.removeOverlayWidget = function(e) {
              this.overlayWidgets.removeWidget(e.widget), this._scheduleRender()
            }),
            t
          )
        })(s.ViewEventHandler)
        t.View = K
      }),
      define(d[198], h([
        0,
        1,
        10,
        6,
        16,
        31,
        19,
        437,
        2,
        41,
        65,
        497,
        3,
        11,
        176,
        14,
        36,
        303,
        302
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g, m, _) {
        'use strict'
        function b(e) {
          return S + encodeURIComponent(e.toString()) + E
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var C = (function(e) {
          function t(t, i, o, r, s, a, u) {
            var l = e.call(this, t, i, o, a) || this
            ;(l._onMouseUp = l._register(new p.Emitter())),
              (l.onMouseUp = l._onMouseUp.event),
              (l._onMouseDown = l._register(new p.Emitter())),
              (l.onMouseDown = l._onMouseDown.event),
              (l._onMouseDrag = l._register(new p.Emitter())),
              (l.onMouseDrag = l._onMouseDrag.event),
              (l._onMouseDrop = l._register(new p.Emitter())),
              (l.onMouseDrop = l._onMouseDrop.event),
              (l._onContextMenu = l._register(new p.Emitter())),
              (l.onContextMenu = l._onContextMenu.event),
              (l._onMouseMove = l._register(new p.Emitter())),
              (l.onMouseMove = l._onMouseMove.event),
              (l._onMouseLeave = l._register(new p.Emitter())),
              (l.onMouseLeave = l._onMouseLeave.event),
              (l._onKeyUp = l._register(new p.Emitter())),
              (l.onKeyUp = l._onKeyUp.event),
              (l._onKeyDown = l._register(new p.Emitter())),
              (l.onKeyDown = l._onKeyDown.event),
              (l._onDidScrollChange = l._register(new p.Emitter())),
              (l.onDidScrollChange = l._onDidScrollChange.event),
              (l._onDidChangeViewZones = l._register(new p.Emitter())),
              (l.onDidChangeViewZones = l._onDidChangeViewZones.event),
              (l._codeEditorService = r),
              (l._commandService = s),
              (l._themeService = u),
              (l._focusTracker = new w(t)),
              l._focusTracker.onChange(function() {
                l._focusTracker.hasFocus()
                  ? l._onDidFocusEditor.fire()
                  : l._onDidBlurEditor.fire()
              }),
              (l.contentWidgets = {}),
              (l.overlayWidgets = {})
            for (
              var c = l._getContributions(), d = 0, h = c.length;
              d < h;
              d++
            ) {
              var f = c[d]
              try {
                var m = l._instantiationService.createInstance(f, l)
                l._contributions[m.getId()] = m
              } catch (e) {
                n.onUnexpectedError(e)
              }
            }
            return (
              l._getActions().forEach(function(e) {
                var t = new g.InternalEditorAction(
                  e.id,
                  e.label,
                  e.alias,
                  e.precondition,
                  function() {
                    return l._instantiationService.invokeFunction(function(t) {
                      return e.runEditorCommand(t, l, null)
                    })
                  },
                  l._contextKeyService
                )
                l._actions[t.id] = t
              }),
              l._codeEditorService.addCodeEditor(l),
              l
            )
          }
          return (
            f(t, e),
            (t.prototype._createConfiguration = function(e) {
              return new c.Configuration(e, this.domElement)
            }),
            (t.prototype.dispose = function() {
              this._codeEditorService.removeCodeEditor(this),
                (this.contentWidgets = {}),
                (this.overlayWidgets = {}),
                this._focusTracker.dispose(),
                e.prototype.dispose.call(this)
            }),
            (t.prototype.createOverviewRuler = function(e, t, n) {
              return this._view.createOverviewRuler(e, t, n)
            }),
            (t.prototype.getDomNode = function() {
              return this.hasView ? this._view.domNode.domNode : null
            }),
            (t.prototype.getCompletelyVisibleLinesRangeInViewport = function() {
              if (!this.hasView) return null
              var e = this.viewModel.getCompletelyVisibleViewRange()
              return this.viewModel.coordinatesConverter.convertViewRangeToModelRange(
                e
              )
            }),
            (t.prototype.delegateVerticalScrollbarMouseDown = function(e) {
              this.hasView && this._view.delegateVerticalScrollbarMouseDown(e)
            }),
            (t.prototype.layout = function(e) {
              this._configuration.observeReferenceElement(e), this.render()
            }),
            (t.prototype.focus = function() {
              this.hasView && this._view.focus()
            }),
            (t.prototype.isFocused = function() {
              return this.hasView && this._view.isFocused()
            }),
            (t.prototype.hasWidgetFocus = function() {
              return this._focusTracker && this._focusTracker.hasFocus()
            }),
            (t.prototype.addContentWidget = function(e) {
              var 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.hasView && this._view.addContentWidget(t)
            }),
            (t.prototype.layoutContentWidget = function(e) {
              var t = e.getId()
              if (this.contentWidgets.hasOwnProperty(t)) {
                var n = this.contentWidgets[t]
                ;(n.position = e.getPosition()),
                  this.hasView && this._view.layoutContentWidget(n)
              }
            }),
            (t.prototype.removeContentWidget = function(e) {
              var t = e.getId()
              if (this.contentWidgets.hasOwnProperty(t)) {
                var n = this.contentWidgets[t]
                delete this.contentWidgets[t],
                  this.hasView && this._view.removeContentWidget(n)
              }
            }),
            (t.prototype.addOverlayWidget = function(e) {
              var 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.hasView && this._view.addOverlayWidget(t)
            }),
            (t.prototype.layoutOverlayWidget = function(e) {
              var t = e.getId()
              if (this.overlayWidgets.hasOwnProperty(t)) {
                var n = this.overlayWidgets[t]
                ;(n.position = e.getPosition()),
                  this.hasView && this._view.layoutOverlayWidget(n)
              }
            }),
            (t.prototype.removeOverlayWidget = function(e) {
              var t = e.getId()
              if (this.overlayWidgets.hasOwnProperty(t)) {
                var n = this.overlayWidgets[t]
                delete this.overlayWidgets[t],
                  this.hasView && this._view.removeOverlayWidget(n)
              }
            }),
            (t.prototype.changeViewZones = function(e) {
              this.hasView &&
                this._view.change(e) &&
                this._onDidChangeViewZones.fire()
            }),
            (t.prototype.getWhitespaces = function() {
              return this.hasView
                ? this.viewModel.viewLayout.getWhitespaces()
                : []
            }),
            (t.prototype._getVerticalOffsetForPosition = function(e, t) {
              var n = this.model.validatePosition({ lineNumber: e, column: t }),
                i = this.viewModel.coordinatesConverter.convertModelPositionToViewPosition(
                  n
                )
              return this.viewModel.viewLayout.getVerticalOffsetForLineNumber(
                i.lineNumber
              )
            }),
            (t.prototype.getTopForLineNumber = function(e) {
              return this.hasView
                ? this._getVerticalOffsetForPosition(e, 1)
                : -1
            }),
            (t.prototype.getTopForPosition = function(e, t) {
              return this.hasView
                ? this._getVerticalOffsetForPosition(e, t)
                : -1
            }),
            (t.prototype.getTargetAtClientPoint = function(e, t) {
              return this.hasView
                ? this._view.getTargetAtClientPoint(e, t)
                : null
            }),
            (t.prototype.getScrolledVisiblePosition = function(e) {
              if (!this.hasView) return null
              var t = this.model.validatePosition(e),
                n = this._configuration.editor.layoutInfo
              return {
                top:
                  this._getVerticalOffsetForPosition(t.lineNumber, t.column) -
                  this.getScrollTop(),
                left:
                  this._view.getOffsetForColumn(t.lineNumber, t.column) +
                  n.glyphMarginWidth +
                  n.lineNumbersWidth +
                  n.decorationsWidth -
                  this.getScrollLeft(),
                height: this._configuration.editor.lineHeight
              }
            }),
            (t.prototype.getOffsetForColumn = function(e, t) {
              return this.hasView ? this._view.getOffsetForColumn(e, t) : -1
            }),
            (t.prototype.render = function() {
              this.hasView && this._view.render(!0, !1)
            }),
            (t.prototype.setHiddenAreas = function(e) {
              this.viewModel &&
                this.viewModel.setHiddenAreas(
                  e.map(function(e) {
                    return u.Range.lift(e)
                  })
                )
            }),
            (t.prototype.setAriaActiveDescendant = function(e) {
              this.hasView && this._view.setAriaActiveDescendant(e)
            }),
            (t.prototype.applyFontInfo = function(e) {
              c.Configuration.applyFontInfoSlow(
                e,
                this._configuration.editor.fontInfo
              )
            }),
            (t.prototype._attachModel = function(t) {
              if (
                ((this._view = null),
                e.prototype._attachModel.call(this, t),
                this._view)
              ) {
                this.domElement.appendChild(this._view.domNode.domNode)
                for (
                  var n = Object.keys(this.contentWidgets), i = 0, o = n.length;
                  i < o;
                  i++
                ) {
                  r = n[i]
                  this._view.addContentWidget(this.contentWidgets[r])
                }
                for (
                  var i = 0, o = (n = Object.keys(this.overlayWidgets)).length;
                  i < o;
                  i++
                ) {
                  var r = n[i]
                  this._view.addOverlayWidget(this.overlayWidgets[r])
                }
                this._view.render(!1, !0), (this.hasView = !0)
              }
            }),
            (t.prototype._createView = function() {
              var e = this
              this._view = new d.View(
                this._commandService,
                this._configuration,
                this._themeService,
                this.viewModel,
                this.cursor,
                function(t, n) {
                  e.cursor && t.runCoreEditorCommand(e.cursor, n)
                }
              )
              var t = this._view.getInternalEventBus()
              this.listenersToRemove.push(
                t.onDidGainFocus(function() {
                  e._onDidFocusEditorText.fire(), e._onDidFocusEditor.fire()
                })
              ),
                this.listenersToRemove.push(
                  t.onDidScroll(function(t) {
                    e._onDidScrollChange.fire(t)
                  })
                ),
                this.listenersToRemove.push(
                  t.onDidLoseFocus(function() {
                    e._onDidBlurEditorText.fire()
                  })
                ),
                this.listenersToRemove.push(
                  t.onContextMenu(function(t) {
                    e._onContextMenu.fire(t)
                  })
                ),
                this.listenersToRemove.push(
                  t.onMouseDown(function(t) {
                    e._onMouseDown.fire(t)
                  })
                ),
                this.listenersToRemove.push(
                  t.onMouseUp(function(t) {
                    e._onMouseUp.fire(t)
                  })
                ),
                this.listenersToRemove.push(
                  t.onMouseDrag(function(t) {
                    e._onMouseDrag.fire(t)
                  })
                ),
                this.listenersToRemove.push(
                  t.onMouseDrop(function(t) {
                    e._onMouseDrop.fire(t)
                  })
                ),
                this.listenersToRemove.push(
                  t.onKeyUp(function(t) {
                    e._onKeyUp.fire(t)
                  })
                ),
                this.listenersToRemove.push(
                  t.onMouseMove(function(t) {
                    e._onMouseMove.fire(t)
                  })
                ),
                this.listenersToRemove.push(
                  t.onMouseLeave(function(t) {
                    e._onMouseLeave.fire(t)
                  })
                ),
                this.listenersToRemove.push(
                  t.onKeyDown(function(t) {
                    e._onKeyDown.fire(t)
                  })
                )
            }),
            (t.prototype._detachModel = function() {
              var t = null
              this._view &&
                (this._view.dispose(),
                (t = this._view.domNode.domNode),
                (this._view = null))
              var n = e.prototype._detachModel.call(this)
              return t && this.domElement.removeChild(t), n
            }),
            (t.prototype._registerDecorationType = function(e, t, n) {
              this._codeEditorService.registerDecorationType(e, t, n)
            }),
            (t.prototype._removeDecorationType = function(e) {
              this._codeEditorService.removeDecorationType(e)
            }),
            (t.prototype._resolveDecorationOptions = function(e, t) {
              return this._codeEditorService.resolveDecorationOptions(e, t)
            }),
            t
          )
        })(a.CommonCodeEditor)
        ;(C = v(
          [
            y(2, o.IInstantiationService),
            y(3, l.ICodeEditorService),
            y(4, r.ICommandService),
            y(5, s.IContextKeyService),
            y(6, m.IThemeService)
          ],
          C
        )),
          (t.CodeEditorWidget = C)
        var w = (function(e) {
            function t(t) {
              var n = e.call(this) || this
              return (
                (n._onChange = n._register(new p.Emitter())),
                (n.onChange = n._onChange.event),
                (n._hasFocus = !1),
                (n._domFocusTracker = n._register(i.trackFocus(t))),
                n._domFocusTracker.addFocusListener(function() {
                  ;(n._hasFocus = !0), n._onChange.fire(void 0)
                }),
                n._domFocusTracker.addBlurListener(function() {
                  ;(n._hasFocus = !1), n._onChange.fire(void 0)
                }),
                n
              )
            }
            return (
              f(t, e),
              (t.prototype.hasFocus = function() {
                return this._hasFocus
              }),
              t
            )
          })(h.Disposable),
          S = encodeURIComponent(
            "<svg xmlns='http://www.w3.org/2000/svg' height='3' width='6'><g fill='"
          ),
          E = 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>"
          )
        m.registerThemingParticipant(function(e, t) {
          var n = e.getColor(_.editorErrorBorder)
          n &&
            t.addRule(
              '.monaco-editor .redsquiggly { border-bottom: 4px double ' +
                n +
                '; }'
            )
          var i = e.getColor(_.editorErrorForeground)
          i &&
            t.addRule(
              '.monaco-editor .redsquiggly { background: url("data:image/svg+xml,' +
                b(i) +
                '") repeat-x bottom left; }'
            )
          var o = e.getColor(_.editorWarningBorder)
          o &&
            t.addRule(
              '.monaco-editor .greensquiggly { border-bottom: 4px double ' +
                o +
                '; }'
            )
          var r = e.getColor(_.editorWarningForeground)
          r &&
            t.addRule(
              '.monaco-editor .greensquiggly { background: url("data:image/svg+xml;utf8,' +
                b(r) +
                '") repeat-x bottom left; }'
            )
        })
      }),
      define(d[115], h([0, 1, 16, 31, 19, 41, 198, 13, 32, 14]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var c = (function(e) {
          function t(t, n, i, o, r, s, a) {
            return e.call(this, t, n, i, o, r, s, a) || this
          }
          return (
            f(t, e),
            (t.prototype._getContributions = function() {
              return []
                .concat(u.EditorBrowserRegistry.getEditorContributions())
                .concat(a.CommonEditorRegistry.getEditorContributions())
            }),
            (t.prototype._getActions = function() {
              return a.CommonEditorRegistry.getEditorActions()
            }),
            t
          )
        })(s.CodeEditorWidget)
        ;(c = v(
          [
            y(2, n.IInstantiationService),
            y(3, r.ICodeEditorService),
            y(4, i.ICommandService),
            y(5, o.IContextKeyService),
            y(6, l.IThemeService)
          ],
          c
        )),
          (t.CodeEditor = c)
      }),
      define(d[163], h([
        0,
        1,
        18,
        3,
        28,
        6,
        26,
        99,
        16,
        19,
        41,
        2,
        21,
        63,
        126,
        109,
        115,
        79,
        65,
        86,
        84,
        11,
        49,
        14,
        23,
        143,
        33,
        492,
        305
      ]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c,
        d,
        h,
        p,
        g,
        m,
        _,
        b,
        C,
        w,
        S,
        E,
        L,
        x,
        N,
        M,
        T,
        k
      ) {
        'use strict'
        function I(e, t, n, i, o) {
          return { range: new d.Range(e, t, n, i), options: o }
        }
        function D(e) {
          return e.modifiedEndLineNumber > 0
        }
        function O(e) {
          return e.originalEndLineNumber > 0
        }
        function R() {
          var e = document.createElement('div')
          return (e.className = 'diagonal-fill'), e
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var P = (function() {
            function e() {
              ;(this._zones = []),
                (this._zonesMap = {}),
                (this._decorations = [])
            }
            return (
              (e.prototype.getForeignViewZones = function(e) {
                var t = this
                return e.filter(function(e) {
                  return !t._zonesMap[String(e.id)]
                })
              }),
              (e.prototype.clean = function(e) {
                var t = this
                this._zones.length > 0 &&
                  e.changeViewZones(function(e) {
                    for (var n = 0, i = t._zones.length; n < i; n++)
                      e.removeZone(t._zones[n])
                  }),
                  (this._zones = []),
                  (this._zonesMap = {}),
                  this._decorations.length > 0 &&
                    e.changeDecorations(function(e) {
                      e.deltaDecorations(t._decorations, [])
                    }),
                  (this._decorations = [])
              }),
              (e.prototype.apply = function(e, t, n) {
                var i = this
                e.changeViewZones(function(e) {
                  for (var t = 0, o = i._zones.length; t < o; t++)
                    e.removeZone(i._zones[t])
                  ;(i._zones = []), (i._zonesMap = {})
                  for (var t = 0, r = n.zones.length; t < r; t++) {
                    n.zones[t].suppressMouseDown = !0
                    var s = e.addZone(n.zones[t])
                    i._zones.push(s), (i._zonesMap[String(s)] = !0)
                  }
                }),
                  (this._decorations = e.deltaDecorations(
                    this._decorations,
                    n.decorations
                  )),
                  t && t.setZones(n.overviewZones)
              }),
              e
            )
          })(),
          A = 0,
          F = (function(e) {
            function t(i, o, a, u, c, d, h) {
              var p = e.call(this) || this
              ;(p._onDidDispose = p._register(new E.Emitter())),
                (p.onDidDispose = p._onDidDispose.event),
                (p._onDidUpdateDiff = p._register(new E.Emitter())),
                (p.onDidUpdateDiff = p._onDidUpdateDiff.event),
                (p._editorWorkerService = a),
                (p._codeEditorService = d),
                (p._contextKeyService = u.createScoped(i)),
                p._contextKeyService.createKey('isInDiffEditor', !0),
                (p._themeService = h),
                (p.id = ++A),
                (p._domElement = i),
                (o = o || {}),
                (p._renderSideBySide = !0),
                void 0 !== o.renderSideBySide &&
                  (p._renderSideBySide = o.renderSideBySide),
                (p._ignoreTrimWhitespace = !0),
                void 0 !== o.ignoreTrimWhitespace &&
                  (p._ignoreTrimWhitespace = o.ignoreTrimWhitespace),
                (p._renderIndicators = !0),
                void 0 !== o.renderIndicators &&
                  (p._renderIndicators = o.renderIndicators),
                (p._originalIsEditable = !1),
                void 0 !== o.originalEditable &&
                  (p._originalIsEditable = Boolean(o.originalEditable)),
                (p._updateDecorationsRunner = p._register(
                  new n.RunOnceScheduler(function() {
                    return p._updateDecorations()
                  }, 0)
                )),
                (p._containerDomElement = document.createElement('div')),
                (p._containerDomElement.className = t._getClassName(
                  p._themeService.getTheme(),
                  p._renderSideBySide
                )),
                (p._containerDomElement.style.position = 'relative'),
                (p._containerDomElement.style.height = '100%'),
                p._domElement.appendChild(p._containerDomElement),
                (p._overviewViewportDomElement = s.createFastDomNode(
                  document.createElement('div')
                )),
                p._overviewViewportDomElement.setClassName('diffViewport'),
                p._overviewViewportDomElement.setPosition('absolute'),
                (p._overviewDomElement = document.createElement('div')),
                (p._overviewDomElement.className = 'diffOverview'),
                (p._overviewDomElement.style.position = 'absolute'),
                p._overviewDomElement.appendChild(
                  p._overviewViewportDomElement.domNode
                ),
                p._register(
                  r.addStandardDisposableListener(
                    p._overviewDomElement,
                    'mousedown',
                    function(e) {
                      p.modifiedEditor.delegateVerticalScrollbarMouseDown(e)
                    }
                  )
                ),
                p._containerDomElement.appendChild(p._overviewDomElement),
                p._createLeftHandSide(),
                p._createRightHandSide(),
                (p._beginUpdateDecorationsTimeout = -1),
                (p._currentlyChangingViewZones = !1),
                (p._diffComputationToken = 0),
                (p._originalEditorState = new P()),
                (p._modifiedEditorState = new P()),
                (p._isVisible = !0),
                (p._isHandlingScrollEvent = !1),
                (p._width = 0),
                (p._height = 0),
                (p._reviewHeight = 0),
                (p._lineChanges = null)
              var f = new S.ServiceCollection()
              f.set(l.IContextKeyService, p._contextKeyService)
              var g = c.createChild(f)
              return (
                p._createLeftHandSideEditor(o, g),
                p._createRightHandSideEditor(o, g),
                (p._reviewPane = new k.DiffReview(p)),
                p._containerDomElement.appendChild(
                  p._reviewPane.domNode.domNode
                ),
                p._containerDomElement.appendChild(
                  p._reviewPane.shadow.domNode
                ),
                p._containerDomElement.appendChild(
                  p._reviewPane.actionBarContainer.domNode
                ),
                o.automaticLayout &&
                  (p._measureDomElementToken = window.setInterval(function() {
                    return p._measureDomElement(!1)
                  }, 100)),
                (p._enableSplitViewResizing = !0),
                void 0 !== o.enableSplitViewResizing &&
                  (p._enableSplitViewResizing = o.enableSplitViewResizing),
                p._renderSideBySide
                  ? p._setStrategy(
                      new z(p._createDataSource(), p._enableSplitViewResizing)
                    )
                  : p._setStrategy(
                      new U(p._createDataSource(), p._enableSplitViewResizing)
                    ),
                p._codeEditorService.addDiffEditor(p),
                p._register(
                  h.onThemeChange(function(e) {
                    p._strategy &&
                      p._strategy.applyColors(e) &&
                      p._updateDecorationsRunner.schedule(),
                      (p._containerDomElement.className = t._getClassName(
                        p._themeService.getTheme(),
                        p._renderSideBySide
                      ))
                  })
                ),
                p
              )
            }
            return (
              f(t, e),
              Object.defineProperty(t.prototype, 'ignoreTrimWhitespace', {
                get: function() {
                  return this._ignoreTrimWhitespace
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(t.prototype, 'renderSideBySide', {
                get: function() {
                  return this._renderSideBySide
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(t.prototype, 'renderIndicators', {
                get: function() {
                  return this._renderIndicators
                },
                enumerable: !0,
                configurable: !0
              }),
              (t.prototype.hasWidgetFocus = function() {
                return r.isAncestor(document.activeElement, this._domElement)
              }),
              (t.prototype.diffReviewNext = function() {
                this._reviewPane.next()
              }),
              (t.prototype.diffReviewPrev = function() {
                this._reviewPane.prev()
              }),
              (t._getClassName = function(e, t) {
                var n = 'monaco-diff-editor monaco-editor-background '
                return (
                  t && (n += 'side-by-side '),
                  (n += x.getThemeTypeSelector(e.type))
                )
              }),
              (t.prototype._recreateOverviewRulers = function() {
                this._originalOverviewRuler &&
                  (this._overviewDomElement.removeChild(
                    this._originalOverviewRuler.getDomNode()
                  ),
                  this._originalOverviewRuler.dispose()),
                  (this._originalOverviewRuler = this.originalEditor.createOverviewRuler(
                    'original diffOverviewRuler',
                    4,
                    Number.MAX_VALUE
                  )),
                  this._overviewDomElement.appendChild(
                    this._originalOverviewRuler.getDomNode()
                  ),
                  this._modifiedOverviewRuler &&
                    (this._overviewDomElement.removeChild(
                      this._modifiedOverviewRuler.getDomNode()
                    ),
                    this._modifiedOverviewRuler.dispose()),
                  (this._modifiedOverviewRuler = this.modifiedEditor.createOverviewRuler(
                    'modified diffOverviewRuler',
                    4,
                    Number.MAX_VALUE
                  )),
                  this._overviewDomElement.appendChild(
                    this._modifiedOverviewRuler.getDomNode()
                  ),
                  this._layoutOverviewRulers()
              }),
              (t.prototype._createLeftHandSide = function() {
                ;(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)
              }),
              (t.prototype._createRightHandSide = function() {
                ;(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)
              }),
              (t.prototype._createLeftHandSideEditor = function(e, t) {
                var n = this
                ;(this.originalEditor = this._createInnerEditor(
                  t,
                  this._originalDomNode,
                  this._adjustOptionsForLeftHandSide(
                    e,
                    this._originalIsEditable
                  )
                )),
                  this._register(
                    this.originalEditor.onDidScrollChange(function(e) {
                      n._isHandlingScrollEvent ||
                        ((e.scrollTopChanged ||
                          e.scrollLeftChanged ||
                          e.scrollHeightChanged) &&
                          ((n._isHandlingScrollEvent = !0),
                          n.modifiedEditor.setScrollPosition({
                            scrollLeft: e.scrollLeft,
                            scrollTop: e.scrollTop
                          }),
                          (n._isHandlingScrollEvent = !1),
                          n._layoutOverviewViewport()))
                    })
                  ),
                  this._register(
                    this.originalEditor.onDidChangeViewZones(function() {
                      n._onViewZonesChanged()
                    })
                  ),
                  this._register(
                    this.originalEditor.onDidChangeModelContent(function() {
                      n._isVisible && n._beginUpdateDecorationsSoon()
                    })
                  )
              }),
              (t.prototype._createRightHandSideEditor = function(e, t) {
                var n = this
                ;(this.modifiedEditor = this._createInnerEditor(
                  t,
                  this._modifiedDomNode,
                  this._adjustOptionsForRightHandSide(e)
                )),
                  this._register(
                    this.modifiedEditor.onDidScrollChange(function(e) {
                      n._isHandlingScrollEvent ||
                        ((e.scrollTopChanged ||
                          e.scrollLeftChanged ||
                          e.scrollHeightChanged) &&
                          ((n._isHandlingScrollEvent = !0),
                          n.originalEditor.setScrollPosition({
                            scrollLeft: e.scrollLeft,
                            scrollTop: e.scrollTop
                          }),
                          (n._isHandlingScrollEvent = !1),
                          n._layoutOverviewViewport()))
                    })
                  ),
                  this._register(
                    this.modifiedEditor.onDidChangeViewZones(function() {
                      n._onViewZonesChanged()
                    })
                  ),
                  this._register(
                    this.modifiedEditor.onDidChangeConfiguration(function(e) {
                      e.fontInfo &&
                        n.modifiedEditor.getModel() &&
                        n._onViewZonesChanged()
                    })
                  ),
                  this._register(
                    this.modifiedEditor.onDidChangeModelContent(function() {
                      n._isVisible && n._beginUpdateDecorationsSoon()
                    })
                  )
              }),
              (t.prototype._createInnerEditor = function(e, t, n) {
                return e.createInstance(_.CodeEditor, t, n)
              }),
              (t.prototype.destroy = function() {
                this.dispose()
              }),
              (t.prototype.dispose = function() {
                this._codeEditorService.removeDiffEditor(this),
                  window.clearInterval(this._measureDomElementToken),
                  this._cleanViewZonesAndDecorations(),
                  this._originalOverviewRuler.dispose(),
                  this._modifiedOverviewRuler.dispose(),
                  this.originalEditor.dispose(),
                  this.modifiedEditor.dispose(),
                  this._strategy.dispose(),
                  this._reviewPane.dispose(),
                  this._onDidDispose.fire(),
                  e.prototype.dispose.call(this)
              }),
              (t.prototype.getId = function() {
                return this.getEditorType() + ':' + this.id
              }),
              (t.prototype.getEditorType = function() {
                return h.EditorType.IDiffEditor
              }),
              (t.prototype.getLineChanges = function() {
                return this._lineChanges
              }),
              (t.prototype.getOriginalEditor = function() {
                return this.originalEditor
              }),
              (t.prototype.getModifiedEditor = function() {
                return this.modifiedEditor
              }),
              (t.prototype.updateOptions = function(e) {
                var n = !1
                void 0 !== e.renderSideBySide &&
                  this._renderSideBySide !== e.renderSideBySide &&
                  ((this._renderSideBySide = e.renderSideBySide), (n = !0))
                var i = !1
                void 0 !== e.ignoreTrimWhitespace &&
                  this._ignoreTrimWhitespace !== e.ignoreTrimWhitespace &&
                  ((this._ignoreTrimWhitespace = e.ignoreTrimWhitespace),
                  (i = !0)),
                  void 0 !== e.renderIndicators &&
                    this._renderIndicators !== e.renderIndicators &&
                    ((this._renderIndicators = e.renderIndicators), (i = !0)),
                  i && this._beginUpdateDecorations(),
                  void 0 !== e.originalEditable &&
                    (this._originalIsEditable = Boolean(e.originalEditable)),
                  this.modifiedEditor.updateOptions(
                    this._adjustOptionsForRightHandSide(e)
                  ),
                  this.originalEditor.updateOptions(
                    this._adjustOptionsForLeftHandSide(
                      e,
                      this._originalIsEditable
                    )
                  ),
                  void 0 !== e.enableSplitViewResizing &&
                    (this._enableSplitViewResizing = e.enableSplitViewResizing),
                  this._strategy.setEnableSplitViewResizing(
                    this._enableSplitViewResizing
                  ),
                  n &&
                    (this._renderSideBySide
                      ? this._setStrategy(
                          new z(
                            this._createDataSource(),
                            this._enableSplitViewResizing
                          )
                        )
                      : this._setStrategy(
                          new U(
                            this._createDataSource(),
                            this._enableSplitViewResizing
                          )
                        ),
                    (this._containerDomElement.className = t._getClassName(
                      this._themeService.getTheme(),
                      this._renderSideBySide
                    )))
              }),
              (t.prototype.getValue = function(e) {
                return (
                  void 0 === e && (e = null), this.modifiedEditor.getValue(e)
                )
              }),
              (t.prototype.getModel = function() {
                return {
                  original: this.originalEditor.getModel(),
                  modified: this.modifiedEditor.getModel()
                }
              }),
              (t.prototype.setModel = function(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._lineChanges = null),
                  this._diffComputationToken++,
                  e
                    ? (this._recreateOverviewRulers(),
                      this._beginUpdateDecorations())
                    : (this._lineChanges = null),
                  this._layoutOverviewViewport()
              }),
              (t.prototype.getDomNode = function() {
                return this._domElement
              }),
              (t.prototype.getVisibleColumnFromPosition = function(e) {
                return this.modifiedEditor.getVisibleColumnFromPosition(e)
              }),
              (t.prototype.getPosition = function() {
                return this.modifiedEditor.getPosition()
              }),
              (t.prototype.setPosition = function(e, t, n, i) {
                this.modifiedEditor.setPosition(e, t, n, i)
              }),
              (t.prototype.revealLine = function(e) {
                this.modifiedEditor.revealLine(e)
              }),
              (t.prototype.revealLineInCenter = function(e) {
                this.modifiedEditor.revealLineInCenter(e)
              }),
              (t.prototype.revealLineInCenterIfOutsideViewport = function(e) {
                this.modifiedEditor.revealLineInCenterIfOutsideViewport(e)
              }),
              (t.prototype.revealPosition = function(e, t, n) {
                void 0 === t && (t = !1),
                  void 0 === n && (n = !1),
                  this.modifiedEditor.revealPosition(e, t, n)
              }),
              (t.prototype.revealPositionInCenter = function(e) {
                this.modifiedEditor.revealPositionInCenter(e)
              }),
              (t.prototype.revealPositionInCenterIfOutsideViewport = function(
                e
              ) {
                this.modifiedEditor.revealPositionInCenterIfOutsideViewport(e)
              }),
              (t.prototype.getSelection = function() {
                return this.modifiedEditor.getSelection()
              }),
              (t.prototype.getSelections = function() {
                return this.modifiedEditor.getSelections()
              }),
              (t.prototype.setSelection = function(e, t, n, i) {
                this.modifiedEditor.setSelection(e, t, n, i)
              }),
              (t.prototype.setSelections = function(e) {
                this.modifiedEditor.setSelections(e)
              }),
              (t.prototype.revealLines = function(e, t) {
                this.modifiedEditor.revealLines(e, t)
              }),
              (t.prototype.revealLinesInCenter = function(e, t) {
                this.modifiedEditor.revealLinesInCenter(e, t)
              }),
              (t.prototype.revealLinesInCenterIfOutsideViewport = function(
                e,
                t
              ) {
                this.modifiedEditor.revealLinesInCenterIfOutsideViewport(e, t)
              }),
              (t.prototype.revealRange = function(e, t, n) {
                void 0 === t && (t = !1),
                  void 0 === n && (n = !0),
                  this.modifiedEditor.revealRange(e, t, n)
              }),
              (t.prototype.revealRangeInCenter = function(e) {
                this.modifiedEditor.revealRangeInCenter(e)
              }),
              (t.prototype.revealRangeInCenterIfOutsideViewport = function(e) {
                this.modifiedEditor.revealRangeInCenterIfOutsideViewport(e)
              }),
              (t.prototype.revealRangeAtTop = function(e) {
                this.modifiedEditor.revealRangeAtTop(e)
              }),
              (t.prototype.getActions = function() {
                return this.modifiedEditor.getActions()
              }),
              (t.prototype.getSupportedActions = function() {
                return this.modifiedEditor.getSupportedActions()
              }),
              (t.prototype.getAction = function(e) {
                return this.modifiedEditor.getAction(e)
              }),
              (t.prototype.saveViewState = function() {
                return {
                  original: this.originalEditor.saveViewState(),
                  modified: this.modifiedEditor.saveViewState()
                }
              }),
              (t.prototype.restoreViewState = function(e) {
                if (e.original && e.original) {
                  var t = e
                  this.originalEditor.restoreViewState(t.original),
                    this.modifiedEditor.restoreViewState(t.modified)
                }
              }),
              (t.prototype.layout = function(e) {
                this._measureDomElement(!1, e)
              }),
              (t.prototype.focus = function() {
                this.modifiedEditor.focus()
              }),
              (t.prototype.isFocused = function() {
                return (
                  this.originalEditor.isFocused() ||
                  this.modifiedEditor.isFocused()
                )
              }),
              (t.prototype.onVisible = function() {
                ;(this._isVisible = !0),
                  this.originalEditor.onVisible(),
                  this.modifiedEditor.onVisible(),
                  this._beginUpdateDecorations()
              }),
              (t.prototype.onHide = function() {
                ;(this._isVisible = !1),
                  this.originalEditor.onHide(),
                  this.modifiedEditor.onHide(),
                  this._cleanViewZonesAndDecorations()
              }),
              (t.prototype.trigger = function(e, t, n) {
                this.modifiedEditor.trigger(e, t, n)
              }),
              (t.prototype.changeDecorations = function(e) {
                return this.modifiedEditor.changeDecorations(e)
              }),
              (t.prototype._measureDomElement = function(e, t) {
                if (
                  (t = t || {
                    width: this._containerDomElement.clientWidth,
                    height: this._containerDomElement.clientHeight
                  }).width <= 0
                )
                  return (
                    (this._width = 0),
                    (this._height = 0),
                    void (this._reviewHeight = 0)
                  )
                ;(e || t.width !== this._width || t.height !== this._height) &&
                  ((this._width = t.width),
                  (this._height = t.height),
                  (this._reviewHeight = this._reviewPane.isVisible()
                    ? this._height
                    : 0),
                  this._doLayout())
              }),
              (t.prototype._layoutOverviewRulers = function() {
                var e = t.ENTIRE_DIFF_OVERVIEW_WIDTH - 2 * t.ONE_OVERVIEW_WIDTH
                this.modifiedEditor.getLayoutInfo() &&
                  (this._originalOverviewRuler.setLayout({
                    top: 0,
                    width: t.ONE_OVERVIEW_WIDTH,
                    right: e + t.ONE_OVERVIEW_WIDTH,
                    height: this._height - this._reviewHeight
                  }),
                  this._modifiedOverviewRuler.setLayout({
                    top: 0,
                    right: 0,
                    width: t.ONE_OVERVIEW_WIDTH,
                    height: this._height - this._reviewHeight
                  }))
              }),
              (t.prototype._onViewZonesChanged = function() {
                this._currentlyChangingViewZones ||
                  this._updateDecorationsRunner.schedule()
              }),
              (t.prototype._beginUpdateDecorationsSoon = function() {
                var e = this
                ;-1 !== this._beginUpdateDecorationsTimeout &&
                  (window.clearTimeout(this._beginUpdateDecorationsTimeout),
                  (this._beginUpdateDecorationsTimeout = -1)),
                  (this._beginUpdateDecorationsTimeout = window.setTimeout(
                    function() {
                      return e._beginUpdateDecorations()
                    },
                    t.UPDATE_DIFF_DECORATIONS_DELAY
                  ))
              }),
              (t.prototype._beginUpdateDecorations = function() {
                var e = this
                this._beginUpdateDecorationsTimeout = -1
                var t = this.originalEditor.getModel(),
                  n = this.modifiedEditor.getModel()
                if (t && n) {
                  var i = ++this._diffComputationToken
                  this._editorWorkerService
                    .computeDiff(t.uri, n.uri, this._ignoreTrimWhitespace)
                    .then(
                      function(o) {
                        i === e._diffComputationToken &&
                          t === e.originalEditor.getModel() &&
                          n === e.modifiedEditor.getModel() &&
                          ((e._lineChanges = o),
                          e._updateDecorationsRunner.schedule(),
                          e._onDidUpdateDiff.fire())
                      },
                      function(o) {
                        i === e._diffComputationToken &&
                          t === e.originalEditor.getModel() &&
                          n === e.modifiedEditor.getModel() &&
                          ((e._lineChanges = null),
                          e._updateDecorationsRunner.schedule())
                      }
                    )
                }
              }),
              (t.prototype._cleanViewZonesAndDecorations = function() {
                this._originalEditorState.clean(this.originalEditor),
                  this._modifiedEditorState.clean(this.modifiedEditor)
              }),
              (t.prototype._updateDecorations = function() {
                if (
                  this.originalEditor.getModel() &&
                  this.modifiedEditor.getModel()
                ) {
                  var e = this._lineChanges || [],
                    t = this._originalEditorState.getForeignViewZones(
                      this.originalEditor.getWhitespaces()
                    ),
                    n = this._modifiedEditorState.getForeignViewZones(
                      this.modifiedEditor.getWhitespaces()
                    ),
                    i = this._strategy.getEditorsDiffDecorations(
                      e,
                      this._ignoreTrimWhitespace,
                      this._renderIndicators,
                      t,
                      n,
                      this.originalEditor,
                      this.modifiedEditor
                    )
                  try {
                    ;(this._currentlyChangingViewZones = !0),
                      this._originalEditorState.apply(
                        this.originalEditor,
                        this._originalOverviewRuler,
                        i.original
                      ),
                      this._modifiedEditorState.apply(
                        this.modifiedEditor,
                        this._modifiedOverviewRuler,
                        i.modified
                      )
                  } finally {
                    this._currentlyChangingViewZones = !1
                  }
                }
              }),
              (t.prototype._adjustOptionsForSubEditor = function(e) {
                var t = o.clone(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.lineDecorationsWidth = '2ch'),
                  t.minimap || (t.minimap = {}),
                  (t.minimap.enabled = !1),
                  t
                )
              }),
              (t.prototype._adjustOptionsForLeftHandSide = function(e, t) {
                var n = this._adjustOptionsForSubEditor(e)
                return (
                  (n.readOnly = !t),
                  (n.overviewRulerLanes = 1),
                  (n.extraEditorClassName = 'original-in-monaco-diff-editor'),
                  n
                )
              }),
              (t.prototype._adjustOptionsForRightHandSide = function(e) {
                var n = this._adjustOptionsForSubEditor(e)
                return (
                  (n.revealHorizontalRightPadding =
                    L.EDITOR_DEFAULTS.viewInfo.revealHorizontalRightPadding +
                    t.ENTIRE_DIFF_OVERVIEW_WIDTH),
                  (n.scrollbar.verticalHasArrows = !1),
                  (n.extraEditorClassName = 'modified-in-monaco-diff-editor'),
                  n
                )
              }),
              (t.prototype.doLayout = function() {
                this._measureDomElement(!0)
              }),
              (t.prototype._doLayout = function() {
                var e = this._strategy.layout()
                ;(this._originalDomNode.style.width = e + 'px'),
                  (this._originalDomNode.style.left = '0px'),
                  (this._modifiedDomNode.style.width = this._width - e + 'px'),
                  (this._modifiedDomNode.style.left = e + 'px'),
                  (this._overviewDomElement.style.top = '0px'),
                  (this._overviewDomElement.style.height =
                    this._height - this._reviewHeight + 'px'),
                  (this._overviewDomElement.style.width =
                    t.ENTIRE_DIFF_OVERVIEW_WIDTH + 'px'),
                  (this._overviewDomElement.style.left =
                    this._width - t.ENTIRE_DIFF_OVERVIEW_WIDTH + 'px'),
                  this._overviewViewportDomElement.setWidth(
                    t.ENTIRE_DIFF_OVERVIEW_WIDTH
                  ),
                  this._overviewViewportDomElement.setHeight(30),
                  this.originalEditor.layout({
                    width: e,
                    height: this._height - this._reviewHeight
                  }),
                  this.modifiedEditor.layout({
                    width: this._width - e - t.ENTIRE_DIFF_OVERVIEW_WIDTH,
                    height: this._height - this._reviewHeight
                  }),
                  (this._originalOverviewRuler ||
                    this._modifiedOverviewRuler) &&
                    this._layoutOverviewRulers(),
                  this._reviewPane.layout(
                    this._height - this._reviewHeight,
                    this._width,
                    this._reviewHeight
                  ),
                  this._layoutOverviewViewport()
              }),
              (t.prototype._layoutOverviewViewport = function() {
                var e = this._computeOverviewViewport()
                e
                  ? (this._overviewViewportDomElement.setTop(e.top),
                    this._overviewViewportDomElement.setHeight(e.height))
                  : (this._overviewViewportDomElement.setTop(0),
                    this._overviewViewportDomElement.setHeight(0))
              }),
              (t.prototype._computeOverviewViewport = function() {
                var e = this.modifiedEditor.getLayoutInfo()
                if (!e) return null
                var t = this.modifiedEditor.getScrollTop(),
                  n = this.modifiedEditor.getScrollHeight(),
                  i = Math.max(0, e.contentHeight),
                  o = Math.max(0, i - 0),
                  r = n > 0 ? o / n : 0
                return {
                  height: Math.max(0, Math.floor(e.contentHeight * r)),
                  top: Math.floor(t * r)
                }
              }),
              (t.prototype._createDataSource = function() {
                var e = this
                return {
                  getWidth: function() {
                    return e._width
                  },
                  getHeight: function() {
                    return e._height - e._reviewHeight
                  },
                  getContainerDomNode: function() {
                    return e._containerDomElement
                  },
                  relayoutEditors: function() {
                    e._doLayout()
                  },
                  getOriginalEditor: function() {
                    return e.originalEditor
                  },
                  getModifiedEditor: function() {
                    return e.modifiedEditor
                  }
                }
              }),
              (t.prototype._setStrategy = function(e) {
                this._strategy && this._strategy.dispose(),
                  (this._strategy = e),
                  e.applyColors(this._themeService.getTheme()),
                  this._lineChanges && this._updateDecorations(),
                  this._measureDomElement(!0)
              }),
              (t.prototype._getLineChangeAtOrBeforeLineNumber = function(e, t) {
                if (
                  0 === this._lineChanges.length ||
                  e < t(this._lineChanges[0])
                )
                  return null
                for (var n = 0, i = this._lineChanges.length - 1; n < i; ) {
                  var o = Math.floor((n + i) / 2),
                    r = t(this._lineChanges[o]),
                    s =
                      o + 1 <= i
                        ? t(this._lineChanges[o + 1])
                        : Number.MAX_VALUE
                  e < r
                    ? (i = o - 1)
                    : e >= s
                      ? (n = o + 1)
                      : ((n = o), (i = o))
                }
                return this._lineChanges[n]
              }),
              (t.prototype._getEquivalentLineForOriginalLineNumber = function(
                e
              ) {
                var t = this._getLineChangeAtOrBeforeLineNumber(e, function(e) {
                  return e.originalStartLineNumber
                })
                if (!t) return e
                var n =
                    t.originalStartLineNumber +
                    (t.originalEndLineNumber > 0 ? -1 : 0),
                  i =
                    t.modifiedStartLineNumber +
                    (t.modifiedEndLineNumber > 0 ? -1 : 0),
                  o =
                    t.originalEndLineNumber > 0
                      ? t.originalEndLineNumber - t.originalStartLineNumber + 1
                      : 0,
                  r =
                    t.modifiedEndLineNumber > 0
                      ? t.modifiedEndLineNumber - t.modifiedStartLineNumber + 1
                      : 0,
                  s = e - n
                return s <= o ? i + Math.min(s, r) : i + r - o + s
              }),
              (t.prototype._getEquivalentLineForModifiedLineNumber = function(
                e
              ) {
                var t = this._getLineChangeAtOrBeforeLineNumber(e, function(e) {
                  return e.modifiedStartLineNumber
                })
                if (!t) return e
                var n =
                    t.originalStartLineNumber +
                    (t.originalEndLineNumber > 0 ? -1 : 0),
                  i =
                    t.modifiedStartLineNumber +
                    (t.modifiedEndLineNumber > 0 ? -1 : 0),
                  o =
                    t.originalEndLineNumber > 0
                      ? t.originalEndLineNumber - t.originalStartLineNumber + 1
                      : 0,
                  r =
                    t.modifiedEndLineNumber > 0
                      ? t.modifiedEndLineNumber - t.modifiedStartLineNumber + 1
                      : 0,
                  s = e - i
                return s <= r ? n + Math.min(s, o) : n + o - r + s
              }),
              (t.prototype.getDiffLineInformationForOriginal = function(e) {
                return this._lineChanges
                  ? {
                      equivalentLineNumber: this._getEquivalentLineForOriginalLineNumber(
                        e
                      )
                    }
                  : null
              }),
              (t.prototype.getDiffLineInformationForModified = function(e) {
                return this._lineChanges
                  ? {
                      equivalentLineNumber: this._getEquivalentLineForModifiedLineNumber(
                        e
                      )
                    }
                  : null
              }),
              t
            )
          })(i.Disposable)
        ;(F.ONE_OVERVIEW_WIDTH = 15),
          (F.ENTIRE_DIFF_OVERVIEW_WIDTH = 30),
          (F.UPDATE_DIFF_DECORATIONS_DELAY = 200),
          (F = v(
            [
              y(2, p.IEditorWorkerService),
              y(3, l.IContextKeyService),
              y(4, u.IInstantiationService),
              y(5, c.ICodeEditorService),
              y(6, x.IThemeService)
            ],
            F
          )),
          (t.DiffEditorWidget = F)
        var W = (function(e) {
            function t(t) {
              var n = e.call(this) || this
              return (n._dataSource = t), n
            }
            return (
              f(t, e),
              (t.prototype.applyColors = function(e) {
                var t = (
                    e.getColor(N.diffInserted) || N.defaultInsertColor
                  ).transparent(2),
                  n = (
                    e.getColor(N.diffRemoved) || N.defaultRemoveColor
                  ).transparent(2),
                  i =
                    !t.equals(this._insertColor) || !n.equals(this._removeColor)
                return (this._insertColor = t), (this._removeColor = n), i
              }),
              (t.prototype.getEditorsDiffDecorations = function(
                e,
                t,
                n,
                i,
                o,
                r,
                s
              ) {
                ;(o = o.sort(function(e, t) {
                  return e.afterLineNumber - t.afterLineNumber
                })),
                  (i = i.sort(function(e, t) {
                    return e.afterLineNumber - t.afterLineNumber
                  }))
                var a = this._getViewZones(e, i, o, r, s, n),
                  u = this._getOriginalEditorDecorations(e, t, n, r, s),
                  l = this._getModifiedEditorDecorations(e, t, n, r, s)
                return {
                  original: {
                    decorations: u.decorations,
                    overviewZones: u.overviewZones,
                    zones: a.original
                  },
                  modified: {
                    decorations: l.decorations,
                    overviewZones: l.overviewZones,
                    zones: a.modified
                  }
                }
              }),
              (t.prototype._getViewZones = function(e, t, n, i, o, r) {
                return null
              }),
              (t.prototype._getOriginalEditorDecorations = function(
                e,
                t,
                n,
                i,
                o
              ) {
                return null
              }),
              (t.prototype._getModifiedEditorDecorations = function(
                e,
                t,
                n,
                i,
                o
              ) {
                return null
              }),
              t
            )
          })(i.Disposable),
          B = (function() {
            function e(e) {
              ;(this._source = e), (this._index = -1), this.advance()
            }
            return (
              (e.prototype.advance = function() {
                ++this._index < this._source.length
                  ? (this.current = this._source[this._index])
                  : (this.current = null)
              }),
              e
            )
          })(),
          V = (function() {
            function e(e, t, n) {
              ;(this.lineChanges = e),
                (this.originalForeignVZ = t),
                (this.modifiedForeignVZ = n)
            }
            return (
              (e.prototype.getViewZones = function() {
                for (
                  var e = { original: [], modified: [] },
                    t = 0,
                    n = 0,
                    i = 0,
                    o = 0,
                    r = 0,
                    s = 0,
                    a = function(e, t) {
                      return e.afterLineNumber - t.afterLineNumber
                    },
                    u = function(e, t) {
                      if (null === t.domNode && e.length > 0) {
                        var n = e[e.length - 1]
                        if (
                          n.afterLineNumber === t.afterLineNumber &&
                          null === n.domNode
                        )
                          return void (n.heightInLines += t.heightInLines)
                      }
                      e.push(t)
                    },
                    l = new B(this.modifiedForeignVZ),
                    c = new B(this.originalForeignVZ),
                    d = 0,
                    h = this.lineChanges.length;
                  d <= h;
                  d++
                ) {
                  var p = d < h ? this.lineChanges[d] : null
                  null !== p
                    ? ((i =
                        p.originalStartLineNumber +
                        (p.originalEndLineNumber > 0 ? -1 : 0)),
                      (o =
                        p.modifiedStartLineNumber +
                        (p.modifiedEndLineNumber > 0 ? -1 : 0)),
                      (n =
                        p.originalEndLineNumber > 0
                          ? p.originalEndLineNumber -
                            p.originalStartLineNumber +
                            1
                          : 0),
                      (t =
                        p.modifiedEndLineNumber > 0
                          ? p.modifiedEndLineNumber -
                            p.modifiedStartLineNumber +
                            1
                          : 0),
                      (r = Math.max(
                        p.originalStartLineNumber,
                        p.originalEndLineNumber
                      )),
                      (s = Math.max(
                        p.modifiedStartLineNumber,
                        p.modifiedEndLineNumber
                      )))
                    : ((r = i += 1e7 + n), (s = o += 1e7 + t))
                  for (
                    var f = [], g = [];
                    l.current && l.current.afterLineNumber <= s;

                  ) {
                    m = void 0
                    ;(m =
                      l.current.afterLineNumber <= o
                        ? i - o + l.current.afterLineNumber
                        : r),
                      f.push({
                        afterLineNumber: m,
                        heightInLines: l.current.heightInLines,
                        domNode: null
                      }),
                      l.advance()
                  }
                  for (; c.current && c.current.afterLineNumber <= r; ) {
                    var m = void 0
                    ;(m =
                      c.current.afterLineNumber <= i
                        ? o - i + c.current.afterLineNumber
                        : s),
                      g.push({
                        afterLineNumber: m,
                        heightInLines: c.current.heightInLines,
                        domNode: null
                      }),
                      c.advance()
                  }
                  if (
                    (null !== p &&
                      D(p) &&
                      (v = this._produceOriginalFromDiff(p, n, t)) &&
                      f.push(v),
                    null !== p && O(p))
                  ) {
                    var v = this._produceModifiedFromDiff(p, n, t)
                    v && g.push(v)
                  }
                  var _ = 0,
                    y = 0
                  for (
                    f = f.sort(a), g = g.sort(a);
                    _ < f.length && y < g.length;

                  ) {
                    var b = f[_],
                      C = g[y],
                      w = b.afterLineNumber - i,
                      S = C.afterLineNumber - o
                    w < S
                      ? (u(e.original, b), _++)
                      : S < w
                        ? (u(e.modified, C), y++)
                        : b.shouldNotShrink
                          ? (u(e.original, b), _++)
                          : C.shouldNotShrink
                            ? (u(e.modified, C), y++)
                            : b.heightInLines >= C.heightInLines
                              ? ((b.heightInLines -= C.heightInLines), y++)
                              : ((C.heightInLines -= b.heightInLines), _++)
                  }
                  for (; _ < f.length; ) u(e.original, f[_]), _++
                  for (; y < g.length; ) u(e.modified, g[y]), y++
                }
                var E = function(e) {
                  e.domNode || (e.domNode = R())
                }
                return e.original.forEach(E), e.modified.forEach(E), e
              }),
              e
            )
          })(),
          H = {
            charDelete: T.ModelDecorationOptions.register({
              className: 'char-delete'
            }),
            charDeleteWholeLine: T.ModelDecorationOptions.register({
              className: 'char-delete',
              isWholeLine: !0
            }),
            charInsert: T.ModelDecorationOptions.register({
              className: 'char-insert'
            }),
            charInsertWholeLine: T.ModelDecorationOptions.register({
              className: 'char-insert',
              isWholeLine: !0
            }),
            lineInsert: T.ModelDecorationOptions.register({
              className: 'line-insert',
              marginClassName: 'line-insert',
              isWholeLine: !0
            }),
            lineInsertWithSign: T.ModelDecorationOptions.register({
              className: 'line-insert',
              linesDecorationsClassName: 'insert-sign',
              marginClassName: 'line-insert',
              isWholeLine: !0
            }),
            lineDelete: T.ModelDecorationOptions.register({
              className: 'line-delete',
              marginClassName: 'line-delete',
              isWholeLine: !0
            }),
            lineDeleteWithSign: T.ModelDecorationOptions.register({
              className: 'line-delete',
              linesDecorationsClassName: 'delete-sign',
              marginClassName: 'line-delete',
              isWholeLine: !0
            }),
            lineDeleteMargin: T.ModelDecorationOptions.register({
              marginClassName: 'line-delete'
            })
          },
          z = (function(e) {
            function t(t, n) {
              var i = e.call(this, t) || this
              return (
                (i._disableSash = !1 === n),
                (i._sashRatio = null),
                (i._sashPosition = null),
                (i._sash = i._register(
                  new a.Sash(i._dataSource.getContainerDomNode(), i)
                )),
                i._disableSash && i._sash.disable(),
                i._sash.addListener('start', function() {
                  return i.onSashDragStart()
                }),
                i._sash.addListener('change', function(e) {
                  return i.onSashDrag(e)
                }),
                i._sash.addListener('end', function() {
                  return i.onSashDragEnd()
                }),
                i._sash.addListener('reset', function() {
                  return i.onSashReset()
                }),
                i
              )
            }
            return (
              f(t, e),
              (t.prototype.dispose = function() {
                e.prototype.dispose.call(this)
              }),
              (t.prototype.setEnableSplitViewResizing = function(e) {
                var t = !1 === e
                this._disableSash !== t &&
                  ((this._disableSash = t),
                  this._disableSash
                    ? this._sash.disable()
                    : this._sash.enable())
              }),
              (t.prototype.layout = function(e) {
                void 0 === e && (e = this._sashRatio)
                var n =
                    this._dataSource.getWidth() - F.ENTIRE_DIFF_OVERVIEW_WIDTH,
                  i = Math.floor((e || 0.5) * n),
                  o = Math.floor(0.5 * n)
                return (
                  (i = this._disableSash ? o : i || o),
                  n > 2 * t.MINIMUM_EDITOR_WIDTH
                    ? (i < t.MINIMUM_EDITOR_WIDTH &&
                        (i = t.MINIMUM_EDITOR_WIDTH),
                      i > n - t.MINIMUM_EDITOR_WIDTH &&
                        (i = n - t.MINIMUM_EDITOR_WIDTH))
                    : (i = o),
                  this._sashPosition !== i &&
                    ((this._sashPosition = i), this._sash.layout()),
                  this._sashPosition
                )
              }),
              (t.prototype.onSashDragStart = function() {
                this._startSashPosition = this._sashPosition
              }),
              (t.prototype.onSashDrag = function(e) {
                var t =
                    this._dataSource.getWidth() - F.ENTIRE_DIFF_OVERVIEW_WIDTH,
                  n = this.layout(
                    (this._startSashPosition + (e.currentX - e.startX)) / t
                  )
                ;(this._sashRatio = n / t), this._dataSource.relayoutEditors()
              }),
              (t.prototype.onSashDragEnd = function() {
                this._sash.layout()
              }),
              (t.prototype.onSashReset = function() {
                ;(this._sashRatio = 0.5),
                  this._dataSource.relayoutEditors(),
                  this._sash.layout()
              }),
              (t.prototype.getVerticalSashTop = function(e) {
                return 0
              }),
              (t.prototype.getVerticalSashLeft = function(e) {
                return this._sashPosition
              }),
              (t.prototype.getVerticalSashHeight = function(e) {
                return this._dataSource.getHeight()
              }),
              (t.prototype._getViewZones = function(e, t, n, i, o) {
                return new K(e, t, n).getViewZones()
              }),
              (t.prototype._getOriginalEditorDecorations = function(
                e,
                t,
                n,
                i,
                o
              ) {
                for (
                  var r = { decorations: [], overviewZones: [] },
                    s = i.getModel(),
                    a = 0,
                    u = e.length;
                  a < u;
                  a++
                ) {
                  var l = e[a]
                  if (O(l)) {
                    r.decorations.push({
                      range: new d.Range(
                        l.originalStartLineNumber,
                        1,
                        l.originalEndLineNumber,
                        Number.MAX_VALUE
                      ),
                      options: n ? H.lineDeleteWithSign : H.lineDelete
                    }),
                      (D(l) && l.charChanges) ||
                        r.decorations.push(
                          I(
                            l.originalStartLineNumber,
                            1,
                            l.originalEndLineNumber,
                            Number.MAX_VALUE,
                            H.charDeleteWholeLine
                          )
                        )
                    var c = this._removeColor.toString()
                    if (
                      (r.overviewZones.push(
                        new M.OverviewRulerZone(
                          l.originalStartLineNumber,
                          l.originalEndLineNumber,
                          h.OverviewRulerLane.Full,
                          0,
                          c,
                          c,
                          c
                        )
                      ),
                      l.charChanges)
                    )
                      for (var p = 0, f = l.charChanges.length; p < f; p++) {
                        var g = l.charChanges[p]
                        if (O(g))
                          if (t)
                            for (
                              var m = g.originalStartLineNumber;
                              m <= g.originalEndLineNumber;
                              m++
                            ) {
                              var v = void 0,
                                _ = void 0
                              ;(v =
                                m === g.originalStartLineNumber
                                  ? g.originalStartColumn
                                  : s.getLineFirstNonWhitespaceColumn(m)),
                                (_ =
                                  m === g.originalEndLineNumber
                                    ? g.originalEndColumn
                                    : s.getLineLastNonWhitespaceColumn(m)),
                                r.decorations.push(I(m, v, m, _, H.charDelete))
                            }
                          else
                            r.decorations.push(
                              I(
                                g.originalStartLineNumber,
                                g.originalStartColumn,
                                g.originalEndLineNumber,
                                g.originalEndColumn,
                                H.charDelete
                              )
                            )
                      }
                  }
                }
                return r
              }),
              (t.prototype._getModifiedEditorDecorations = function(
                e,
                t,
                n,
                i,
                o
              ) {
                for (
                  var r = { decorations: [], overviewZones: [] },
                    s = o.getModel(),
                    a = 0,
                    u = e.length;
                  a < u;
                  a++
                ) {
                  var l = e[a]
                  if (D(l)) {
                    r.decorations.push({
                      range: new d.Range(
                        l.modifiedStartLineNumber,
                        1,
                        l.modifiedEndLineNumber,
                        Number.MAX_VALUE
                      ),
                      options: n ? H.lineInsertWithSign : H.lineInsert
                    }),
                      (O(l) && l.charChanges) ||
                        r.decorations.push(
                          I(
                            l.modifiedStartLineNumber,
                            1,
                            l.modifiedEndLineNumber,
                            Number.MAX_VALUE,
                            H.charInsertWholeLine
                          )
                        )
                    var c = this._insertColor.toString()
                    if (
                      (r.overviewZones.push(
                        new M.OverviewRulerZone(
                          l.modifiedStartLineNumber,
                          l.modifiedEndLineNumber,
                          h.OverviewRulerLane.Full,
                          0,
                          c,
                          c,
                          c
                        )
                      ),
                      l.charChanges)
                    )
                      for (var p = 0, f = l.charChanges.length; p < f; p++) {
                        var g = l.charChanges[p]
                        if (D(g))
                          if (t)
                            for (
                              var m = g.modifiedStartLineNumber;
                              m <= g.modifiedEndLineNumber;
                              m++
                            ) {
                              var v = void 0,
                                _ = void 0
                              ;(v =
                                m === g.modifiedStartLineNumber
                                  ? g.modifiedStartColumn
                                  : s.getLineFirstNonWhitespaceColumn(m)),
                                (_ =
                                  m === g.modifiedEndLineNumber
                                    ? g.modifiedEndColumn
                                    : s.getLineLastNonWhitespaceColumn(m)),
                                r.decorations.push(I(m, v, m, _, H.charInsert))
                            }
                          else
                            r.decorations.push(
                              I(
                                g.modifiedStartLineNumber,
                                g.modifiedStartColumn,
                                g.modifiedEndLineNumber,
                                g.modifiedEndColumn,
                                H.charInsert
                              )
                            )
                      }
                  }
                }
                return r
              }),
              t
            )
          })(W)
        z.MINIMUM_EDITOR_WIDTH = 100
        var K = (function(e) {
            function t(t, n, i) {
              return e.call(this, t, n, i) || this
            }
            return (
              f(t, e),
              (t.prototype._produceOriginalFromDiff = function(e, t, n) {
                return n > t
                  ? {
                      afterLineNumber: Math.max(
                        e.originalStartLineNumber,
                        e.originalEndLineNumber
                      ),
                      heightInLines: n - t,
                      domNode: null
                    }
                  : null
              }),
              (t.prototype._produceModifiedFromDiff = function(e, t, n) {
                return t > n
                  ? {
                      afterLineNumber: Math.max(
                        e.modifiedStartLineNumber,
                        e.modifiedEndLineNumber
                      ),
                      heightInLines: t - n,
                      domNode: null
                    }
                  : null
              }),
              t
            )
          })(V),
          U = (function(e) {
            function t(t, n) {
              var i = e.call(this, t) || this
              return (
                (i.decorationsLeft = t
                  .getOriginalEditor()
                  .getLayoutInfo().decorationsLeft),
                i._register(
                  t.getOriginalEditor().onDidLayoutChange(function(e) {
                    i.decorationsLeft !== e.decorationsLeft &&
                      ((i.decorationsLeft = e.decorationsLeft),
                      t.relayoutEditors())
                  })
                ),
                i
              )
            }
            return (
              f(t, e),
              (t.prototype.dispose = function() {
                e.prototype.dispose.call(this)
              }),
              (t.prototype.setEnableSplitViewResizing = function(e) {}),
              (t.prototype._getViewZones = function(e, t, n, i, o, r) {
                return new j(e, t, n, i, o, r).getViewZones()
              }),
              (t.prototype._getOriginalEditorDecorations = function(
                e,
                t,
                n,
                i,
                o
              ) {
                for (
                  var r = { decorations: [], overviewZones: [] },
                    s = 0,
                    a = e.length;
                  s < a;
                  s++
                ) {
                  var u = e[s]
                  if (O(u)) {
                    r.decorations.push({
                      range: new d.Range(
                        u.originalStartLineNumber,
                        1,
                        u.originalEndLineNumber,
                        Number.MAX_VALUE
                      ),
                      options: H.lineDeleteMargin
                    })
                    var l = this._removeColor.toString()
                    r.overviewZones.push(
                      new M.OverviewRulerZone(
                        u.originalStartLineNumber,
                        u.originalEndLineNumber,
                        h.OverviewRulerLane.Full,
                        0,
                        l,
                        l,
                        l
                      )
                    )
                  }
                }
                return r
              }),
              (t.prototype._getModifiedEditorDecorations = function(
                e,
                t,
                n,
                i,
                o
              ) {
                for (
                  var r = { decorations: [], overviewZones: [] },
                    s = o.getModel(),
                    a = 0,
                    u = e.length;
                  a < u;
                  a++
                ) {
                  var l = e[a]
                  if (D(l)) {
                    r.decorations.push({
                      range: new d.Range(
                        l.modifiedStartLineNumber,
                        1,
                        l.modifiedEndLineNumber,
                        Number.MAX_VALUE
                      ),
                      options: n ? H.lineInsertWithSign : H.lineInsert
                    })
                    var c = this._insertColor.toString()
                    if (
                      (r.overviewZones.push(
                        new M.OverviewRulerZone(
                          l.modifiedStartLineNumber,
                          l.modifiedEndLineNumber,
                          h.OverviewRulerLane.Full,
                          0,
                          c,
                          c,
                          c
                        )
                      ),
                      l.charChanges)
                    )
                      for (var p = 0, f = l.charChanges.length; p < f; p++) {
                        var g = l.charChanges[p]
                        if (D(g))
                          if (t)
                            for (
                              var m = g.modifiedStartLineNumber;
                              m <= g.modifiedEndLineNumber;
                              m++
                            ) {
                              var v = void 0,
                                _ = void 0
                              ;(v =
                                m === g.modifiedStartLineNumber
                                  ? g.modifiedStartColumn
                                  : s.getLineFirstNonWhitespaceColumn(m)),
                                (_ =
                                  m === g.modifiedEndLineNumber
                                    ? g.modifiedEndColumn
                                    : s.getLineLastNonWhitespaceColumn(m)),
                                r.decorations.push(I(m, v, m, _, H.charInsert))
                            }
                          else
                            r.decorations.push(
                              I(
                                g.modifiedStartLineNumber,
                                g.modifiedStartColumn,
                                g.modifiedEndLineNumber,
                                g.modifiedEndColumn,
                                H.charInsert
                              )
                            )
                      }
                    else
                      r.decorations.push(
                        I(
                          l.modifiedStartLineNumber,
                          1,
                          l.modifiedEndLineNumber,
                          Number.MAX_VALUE,
                          H.charInsertWholeLine
                        )
                      )
                  }
                }
                return r
              }),
              (t.prototype.layout = function() {
                return Math.max(5, this.decorationsLeft)
              }),
              t
            )
          })(W),
          j = (function(e) {
            function t(t, n, i, o, r, s) {
              var a = e.call(this, t, n, i) || this
              return (
                (a.originalModel = o.getModel()),
                (a.modifiedEditorConfiguration = r.getConfiguration()),
                (a.modifiedEditorTabSize = r.getModel().getOptions().tabSize),
                (a.renderIndicators = s),
                a
              )
            }
            return (
              f(t, e),
              (t.prototype._produceOriginalFromDiff = function(e, t, n) {
                var i = document.createElement('div')
                return (
                  (i.className = 'inline-added-margin-view-zone'),
                  C.Configuration.applyFontInfoSlow(
                    i,
                    this.modifiedEditorConfiguration.fontInfo
                  ),
                  {
                    afterLineNumber: Math.max(
                      e.originalStartLineNumber,
                      e.originalEndLineNumber
                    ),
                    heightInLines: n,
                    domNode: document.createElement('div'),
                    marginDomNode: i
                  }
                )
              }),
              (t.prototype._produceModifiedFromDiff = function(e, t, n) {
                var i = []
                if (e.charChanges)
                  for (var o = 0, r = e.charChanges.length; o < r; o++) {
                    var s = e.charChanges[o]
                    O(s) &&
                      i.push(
                        new w.InlineDecoration(
                          new d.Range(
                            s.originalStartLineNumber,
                            s.originalStartColumn,
                            s.originalEndLineNumber,
                            s.originalEndColumn
                          ),
                          'char-delete',
                          !1
                        )
                      )
                  }
                for (
                  var a = [],
                    u = [],
                    l = this.modifiedEditorConfiguration.layoutInfo
                      .decorationsWidth,
                    c = this.modifiedEditorConfiguration.lineHeight,
                    h = e.originalStartLineNumber;
                  h <= e.originalEndLineNumber;
                  h++
                )
                  if (
                    ((a = a.concat(
                      this.renderOriginalLine(
                        h - e.originalStartLineNumber,
                        this.originalModel,
                        this.modifiedEditorConfiguration,
                        this.modifiedEditorTabSize,
                        h,
                        i
                      )
                    )),
                    this.renderIndicators)
                  ) {
                    var p = h - e.originalStartLineNumber
                    u = u.concat([
                      '<div class="delete-sign" style="position:absolute;top:' +
                        p * c +
                        'px;width:' +
                        l +
                        'px;height:' +
                        c +
                        'px;right:0;"></div>'
                    ])
                  }
                var f = document.createElement('div')
                ;(f.className = 'view-lines line-delete'),
                  (f.innerHTML = a.join('')),
                  C.Configuration.applyFontInfoSlow(
                    f,
                    this.modifiedEditorConfiguration.fontInfo
                  )
                var g = document.createElement('div')
                return (
                  (g.className = 'inline-deleted-margin-view-zone'),
                  (g.innerHTML = u.join('')),
                  C.Configuration.applyFontInfoSlow(
                    g,
                    this.modifiedEditorConfiguration.fontInfo
                  ),
                  {
                    shouldNotShrink: !0,
                    afterLineNumber:
                      0 === e.modifiedEndLineNumber
                        ? e.modifiedStartLineNumber
                        : e.modifiedStartLineNumber - 1,
                    heightInLines: t,
                    domNode: f,
                    marginDomNode: g
                  }
                )
              }),
              (t.prototype.renderOriginalLine = function(e, t, n, i, o, r) {
                var s = t.getLineContent(o),
                  a = g.LineDecoration.filter(r, o, 1, s.length + 1),
                  u = m.renderViewLine(
                    new m.RenderLineInput(
                      n.fontInfo.isMonospace &&
                        !n.viewInfo.disableMonospaceOptimizations,
                      s,
                      t.mightContainRTL(),
                      0,
                      [new b.ViewLineToken(s.length, 16793600)],
                      a,
                      i,
                      n.fontInfo.spaceWidth,
                      n.viewInfo.stopRenderingLineAfter,
                      n.viewInfo.renderWhitespace,
                      n.viewInfo.renderControlCharacters,
                      n.viewInfo.fontLigatures
                    )
                  ),
                  l = []
                return (
                  l.push('<div class="view-line'),
                  0 === r.length && l.push(' char-delete'),
                  l.push('" style="top:'),
                  l.push(String(e * n.lineHeight)),
                  l.push('px;width:1000000px;">'),
                  (l = l.concat(u.html)).push('</div>'),
                  l
                )
              }),
              t
            )
          })(V)
        x.registerThemingParticipant(function(e, t) {
          var n = e.getColor(N.diffInserted)
          n &&
            (t.addRule(
              '.monaco-editor .line-insert, .monaco-editor .char-insert { background-color: ' +
                n +
                '; }'
            ),
            t.addRule(
              '.monaco-diff-editor .line-insert, .monaco-diff-editor .char-insert { background-color: ' +
                n +
                '; }'
            ),
            t.addRule(
              '.monaco-editor .inline-added-margin-view-zone { background-color: ' +
                n +
                '; }'
            ))
          var i = e.getColor(N.diffRemoved)
          i &&
            (t.addRule(
              '.monaco-editor .line-delete, .monaco-editor .char-delete { background-color: ' +
                i +
                '; }'
            ),
            t.addRule(
              '.monaco-diff-editor .line-delete, .monaco-diff-editor .char-delete { background-color: ' +
                i +
                '; }'
            ),
            t.addRule(
              '.monaco-editor .inline-deleted-margin-view-zone { background-color: ' +
                i +
                '; }'
            ))
          var o = e.getColor(N.diffInsertedOutline)
          o &&
            t.addRule(
              '.monaco-editor .line-insert, .monaco-editor .char-insert { border: 1px dashed ' +
                o +
                '; }'
            )
          var r = e.getColor(N.diffRemovedOutline)
          r &&
            t.addRule(
              '.monaco-editor .line-delete, .monaco-editor .char-delete { border: 1px dashed ' +
                r +
                '; }'
            )
          var s = e.getColor(N.scrollbarShadow)
          s &&
            t.addRule(
              '.monaco-diff-editor.side-by-side .editor.modified { box-shadow: -6px 0 5px -5px ' +
                s +
                '; }'
            )
        })
      }),
      define(d[162], h([0, 1, 28, 16, 31, 19, 41, 115, 14]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var l = (function(e) {
          function t(t, n, i, o, r, s, a, u) {
            var l =
              e.call(this, t, i.getRawConfiguration(), o, r, s, a, u) || this
            return (
              (l._parentEditor = i),
              (l._overwriteOptions = n),
              e.prototype.updateOptions.call(l, l._overwriteOptions),
              l._register(
                i.onDidChangeConfiguration(function(e) {
                  return l._onParentConfigurationChanged(e)
                })
              ),
              l
            )
          }
          return (
            f(t, e),
            (t.prototype.getParentEditor = function() {
              return this._parentEditor
            }),
            (t.prototype._onParentConfigurationChanged = function(t) {
              e.prototype.updateOptions.call(
                this,
                this._parentEditor.getRawConfiguration()
              ),
                e.prototype.updateOptions.call(this, this._overwriteOptions)
            }),
            (t.prototype.updateOptions = function(t) {
              n.mixin(this._overwriteOptions, t, !0),
                e.prototype.updateOptions.call(this, this._overwriteOptions)
            }),
            t
          )
        })(a.CodeEditor)
        ;(l = v(
          [
            y(3, i.IInstantiationService),
            y(4, s.ICodeEditorService),
            y(5, o.ICommandService),
            y(6, r.IContextKeyService),
            y(7, u.IThemeService)
          ],
          l
        )),
          (t.EmbeddedCodeEditorWidget = l)
      }),
      define(d[502], h([
        0,
        1,
        331,
        3,
        12,
        18,
        21,
        13,
        20,
        14,
        36,
        33
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var h = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.jumpToBracket',
                label: n.localize(0, null),
                alias: 'Go to Bracket',
                precondition: null,
                kbOpts: { kbExpr: u.EditorContextKeys.textFocus, primary: 3160 }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = g.get(t)
              n && n.jumpToBracket()
            }),
            t
          )
        })(a.EditorAction)
        h = v([a.editorAction], h)
        var p = (function() {
            return function(e, t) {
              ;(this.position = e), (this.brackets = t)
            }
          })(),
          g = (m = (function(e) {
            function t(t) {
              var n = e.call(this) || this
              return (
                (n._editor = t),
                (n._lastBracketsData = []),
                (n._lastVersionId = 0),
                (n._decorations = []),
                (n._updateBracketsSoon = n._register(
                  new r.RunOnceScheduler(function() {
                    return n._updateBrackets()
                  }, 50)
                )),
                (n._matchBrackets = n._editor.getConfiguration().contribInfo.matchBrackets),
                n._updateBracketsSoon.schedule(),
                n._register(
                  t.onDidChangeCursorPosition(function(e) {
                    n._matchBrackets && n._updateBracketsSoon.schedule()
                  })
                ),
                n._register(
                  t.onDidChangeModel(function(e) {
                    ;(n._decorations = []), n._updateBracketsSoon.schedule()
                  })
                ),
                n._register(
                  t.onDidChangeConfiguration(function(e) {
                    ;(n._matchBrackets = n._editor.getConfiguration().contribInfo.matchBrackets),
                      !n._matchBrackets &&
                        n._decorations.length > 0 &&
                        (n._decorations = n._editor.deltaDecorations(
                          n._decorations,
                          []
                        )),
                      n._updateBracketsSoon.schedule()
                  })
                ),
                n
              )
            }
            return (
              f(t, e),
              (t.get = function(e) {
                return e.getContribution(m.ID)
              }),
              (t.prototype.getId = function() {
                return m.ID
              }),
              (t.prototype.jumpToBracket = function() {
                var e = this._editor.getModel()
                if (e) {
                  var t = this._editor.getSelection()
                  if (t.isEmpty()) {
                    var n = t.getStartPosition(),
                      i = e.matchBracket(n)
                    if (i) {
                      var o = null
                      i[0].containsPosition(n)
                        ? (o = i[1].getStartPosition())
                        : i[1].containsPosition(n) &&
                          (o = i[0].getStartPosition()),
                        o &&
                          (this._editor.setPosition(o),
                          this._editor.revealPosition(o))
                    }
                  }
                }
              }),
              (t.prototype._updateBrackets = function() {
                if (this._matchBrackets) {
                  this._recomputeBrackets()
                  for (
                    var e = [], t = 0, n = 0, i = this._lastBracketsData.length;
                    n < i;
                    n++
                  ) {
                    var o = this._lastBracketsData[n].brackets
                    o &&
                      ((e[t++] = {
                        range: o[0],
                        options: m._DECORATION_OPTIONS
                      }),
                      (e[t++] = {
                        range: o[1],
                        options: m._DECORATION_OPTIONS
                      }))
                  }
                  this._decorations = this._editor.deltaDecorations(
                    this._decorations,
                    e
                  )
                }
              }),
              (t.prototype._recomputeBrackets = function() {
                var e = this._editor.getModel()
                if (!e)
                  return (
                    (this._lastBracketsData = []),
                    void (this._lastVersionId = 0)
                  )
                var t = e.getVersionId(),
                  n = []
                this._lastVersionId === t && (n = this._lastBracketsData)
                for (
                  var i = this._editor.getSelections(),
                    r = [],
                    s = 0,
                    a = 0,
                    u = i.length;
                  a < u;
                  a++
                ) {
                  var l = i[a]
                  l.isEmpty() && (r[s++] = l.getStartPosition())
                }
                r.length > 1 && r.sort(o.Position.compare)
                for (
                  var c = [], d = 0, h = 0, f = n.length, a = 0, u = r.length;
                  a < u;
                  a++
                ) {
                  for (var g = r[a]; h < f && n[h].position.isBefore(g); ) h++
                  if (h < f && n[h].position.equals(g)) c[d++] = n[h]
                  else {
                    var m = e.matchBracket(g)
                    c[d++] = new p(g, m)
                  }
                }
                ;(this._lastBracketsData = c), (this._lastVersionId = t)
              }),
              t
            )
          })(i.Disposable))
        ;(g.ID = 'editor.contrib.bracketMatchingController'),
          (g._DECORATION_OPTIONS = d.ModelDecorationOptions.register({
            stickiness: s.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
            className: 'bracket-match'
          })),
          (g = m = v([a.commonEditorContribution], g)),
          (t.BracketMatchingController = g),
          l.registerThemingParticipant(function(e, t) {
            var n = e.getColor(c.editorBracketMatchBackground)
            n &&
              t.addRule(
                '.monaco-editor .bracket-match { background-color: ' + n + '; }'
              )
            var i = e.getColor(c.editorBracketMatchBorder)
            i &&
              t.addRule(
                '.monaco-editor .bracket-match { border: 1px solid ' + i + '; }'
              )
          })
        var m
      }),
      define(d[503], h([
        0,
        1,
        3,
        40,
        9,
        6,
        2,
        25,
        33,
        36,
        14,
        23,
        298
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var h = (function() {
            function e(e, t) {
              ;(this.afterLineNumber = e),
                (this._onHeight = t),
                (this.heightInLines = 1),
                (this.suppressMouseDown = !0),
                (this.domNode = document.createElement('div'))
            }
            return (
              (e.prototype.onComputedHeight = function(e) {
                void 0 === this._lastHeight
                  ? (this._lastHeight = e)
                  : this._lastHeight !== e &&
                    ((this._lastHeight = e), this._onHeight())
              }),
              e
            )
          })(),
          p = (function() {
            function e(t, n, o, s) {
              var a = this
              ;(this.allowEditorOverflow = !1),
                (this.suppressMouseDown = !0),
                (this._disposables = []),
                (this._commands = Object.create(null)),
                (this._id = 'codeLensWidget' + ++e._idPool),
                (this._editor = t),
                this.setSymbolRange(n),
                (this._domNode = document.createElement('span')),
                (this._domNode.innerHTML = '&nbsp;'),
                r.addClass(this._domNode, 'codelens-decoration'),
                r.addClass(this._domNode, 'invisible-cl'),
                this._updateHeight(),
                this._disposables.push(
                  this._editor.onDidChangeConfiguration(function(e) {
                    return e.fontInfo && a._updateHeight()
                  })
                ),
                this._disposables.push(
                  r.addDisposableListener(this._domNode, 'click', function(e) {
                    var n = e.target
                    if ('A' === n.tagName && n.id) {
                      var r = a._commands[n.id]
                      r &&
                        (t.focus(),
                        o.executeCommand
                          .apply(o, [r.id].concat(r.arguments))
                          .done(void 0, function(e) {
                            s.show(i.default.Error, e)
                          }))
                    }
                  })
                ),
                this.updateVisibility()
            }
            return (
              (e.prototype.dispose = function() {
                n.dispose(this._disposables), (this._symbolRange = null)
              }),
              (e.prototype._updateHeight = function() {
                var e = this._editor.getConfiguration(),
                  t = e.fontInfo,
                  n = e.lineHeight
                ;(this._domNode.style.height = Math.round(1.1 * n) + 'px'),
                  (this._domNode.style.lineHeight = n + 'px'),
                  (this._domNode.style.fontSize =
                    Math.round(0.9 * t.fontSize) + 'px'),
                  (this._domNode.innerHTML = '&nbsp;')
              }),
              (e.prototype.updateVisibility = function() {
                this.isVisible() &&
                  (r.removeClass(this._domNode, 'invisible-cl'),
                  r.addClass(this._domNode, 'fadein'))
              }),
              (e.prototype.withCommands = function(e) {
                if (((this._commands = Object.create(null)), e && e.length)) {
                  for (var t = [], n = 0; n < e.length; n++) {
                    var i = e[n].command,
                      r = o.escape(i.title),
                      s = void 0
                    i.id
                      ? ((s = o.format('<a id={0}>{1}</a>', n, r)),
                        (this._commands[n] = i))
                      : (s = o.format('<span>{0}</span>', r)),
                      t.push(s)
                  }
                  ;(this._domNode.innerHTML = t.join(
                    '<span>&nbsp;|&nbsp;</span>'
                  )),
                    this._editor.layoutContentWidget(this)
                } else this._domNode.innerHTML = 'no commands'
              }),
              (e.prototype.getId = function() {
                return this._id
              }),
              (e.prototype.getDomNode = function() {
                return this._domNode
              }),
              (e.prototype.setSymbolRange = function(e) {
                this._symbolRange = e
                var t = e.startLineNumber,
                  n = this._editor.getModel().getLineFirstNonWhitespaceColumn(t)
                this._widgetPosition = {
                  position: { lineNumber: t, column: n },
                  preference: [a.ContentWidgetPositionPreference.ABOVE]
                }
              }),
              (e.prototype.getPosition = function() {
                return this._widgetPosition
              }),
              (e.prototype.isVisible = function() {
                return this._domNode.hasAttribute(
                  'monaco-visible-content-widget'
                )
              }),
              e
            )
          })()
        p._idPool = 0
        var f = (function() {
          function e() {
            ;(this._removeDecorations = []),
              (this._addDecorations = []),
              (this._addDecorationsCallbacks = [])
          }
          return (
            (e.prototype.addDecoration = function(e, t) {
              this._addDecorations.push(e),
                this._addDecorationsCallbacks.push(t)
            }),
            (e.prototype.removeDecoration = function(e) {
              this._removeDecorations.push(e)
            }),
            (e.prototype.commit = function(e) {
              for (
                var t = e.deltaDecorations(
                    this._removeDecorations,
                    this._addDecorations
                  ),
                  n = 0,
                  i = t.length;
                n < i;
                n++
              )
                this._addDecorationsCallbacks[n](t[n])
            }),
            e
          )
        })()
        t.CodeLensHelper = f
        var g = (function() {
          function e(e, t, n, i, o, r, a) {
            var l = this
            ;(this._editor = t),
              (this._data = e),
              (this._decorationIds = new Array(this._data.length))
            var c
            this._data.forEach(function(e, t) {
              n.addDecoration(
                {
                  range: e.symbol.range,
                  options: u.ModelDecorationOptions.EMPTY
                },
                function(e) {
                  return (l._decorationIds[t] = e)
                }
              ),
                (c = c
                  ? s.Range.plusRange(c, e.symbol.range)
                  : s.Range.lift(e.symbol.range))
            }),
              (this._contentWidget = new p(t, c, o, r)),
              (this._viewZone = new h(c.startLineNumber - 1, a)),
              (this._viewZoneId = i.addZone(this._viewZone)),
              this._editor.addContentWidget(this._contentWidget)
          }
          return (
            (e.prototype.dispose = function(e, t) {
              for (; this._decorationIds.length; )
                e.removeDecoration(this._decorationIds.pop())
              t && t.removeZone(this._viewZoneId),
                this._editor.removeContentWidget(this._contentWidget),
                this._contentWidget.dispose()
            }),
            (e.prototype.isValid = function() {
              var e = this
              return this._decorationIds.some(function(t, n) {
                var i = e._editor.getModel().getDecorationRange(t),
                  o = e._data[n].symbol
                return i && s.Range.isEmpty(o.range) === i.isEmpty()
              })
            }),
            (e.prototype.updateCodeLensSymbols = function(e, t) {
              for (var n = this; this._decorationIds.length; )
                t.removeDecoration(this._decorationIds.pop())
              ;(this._data = e),
                (this._decorationIds = new Array(this._data.length)),
                this._data.forEach(function(e, i) {
                  t.addDecoration(
                    {
                      range: e.symbol.range,
                      options: u.ModelDecorationOptions.EMPTY
                    },
                    function(e) {
                      return (n._decorationIds[i] = e)
                    }
                  )
                })
            }),
            (e.prototype.computeIfNecessary = function(e) {
              if (
                (this._contentWidget.updateVisibility(),
                !this._contentWidget.isVisible())
              )
                return null
              for (var t = 0; t < this._decorationIds.length; t++)
                this._data[t].symbol.range = e.getDecorationRange(
                  this._decorationIds[t]
                )
              return this._data
            }),
            (e.prototype.updateCommands = function(e) {
              this._contentWidget.withCommands(e)
            }),
            (e.prototype.getLineNumber = function() {
              var e = this._editor
                .getModel()
                .getDecorationRange(this._decorationIds[0])
              return e ? e.startLineNumber : -1
            }),
            (e.prototype.update = function(e) {
              if (this.isValid()) {
                var t = this._editor
                  .getModel()
                  .getDecorationRange(this._decorationIds[0])
                ;(this._viewZone.afterLineNumber = t.startLineNumber - 1),
                  e.layoutZone(this._viewZoneId),
                  this._contentWidget.setSymbolRange(t),
                  this._editor.layoutContentWidget(this._contentWidget)
              }
            }),
            e
          )
        })()
        ;(t.CodeLens = g),
          c.registerThemingParticipant(function(e, t) {
            var n = e.getColor(l.editorCodeLensForeground)
            n &&
              t.addRule(
                '.monaco-editor .codelens-decoration { color: ' + n + '; }'
              )
            var i = e.getColor(d.editorActiveLinkForeground)
            i &&
              t.addRule(
                '.monaco-editor .codelens-decoration > a:hover { color: ' +
                  i +
                  ' !important; }'
              )
          })
      }),
      define(d[504], h([
        0,
        1,
        18,
        10,
        3,
        8,
        31,
        66,
        17,
        32,
        443,
        503
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var h = (p = (function() {
          function e(e, t, n) {
            var i = this
            ;(this._editor = e),
              (this._commandService = t),
              (this._messageService = n),
              (this._isEnabled = this._editor.getConfiguration().contribInfo.codeLens),
              (this._globalToDispose = []),
              (this._localToDispose = []),
              (this._lenses = []),
              (this._currentFindCodeLensSymbolsPromise = null),
              (this._modelChangeCounter = 0),
              this._globalToDispose.push(
                this._editor.onDidChangeModel(function() {
                  return i._onModelChange()
                })
              ),
              this._globalToDispose.push(
                this._editor.onDidChangeModelLanguage(function() {
                  return i._onModelChange()
                })
              ),
              this._globalToDispose.push(
                this._editor.onDidChangeConfiguration(function(e) {
                  var t = i._isEnabled
                  ;(i._isEnabled = i._editor.getConfiguration().contribInfo.codeLens),
                    t !== i._isEnabled && i._onModelChange()
                })
              ),
              this._globalToDispose.push(
                u.CodeLensProviderRegistry.onDidChange(
                  this._onModelChange,
                  this
                )
              ),
              this._onModelChange()
          }
          return (
            (e.prototype.dispose = function() {
              this._localDispose(),
                (this._globalToDispose = o.dispose(this._globalToDispose))
            }),
            (e.prototype._localDispose = function() {
              this._currentFindCodeLensSymbolsPromise &&
                (this._currentFindCodeLensSymbolsPromise.cancel(),
                (this._currentFindCodeLensSymbolsPromise = null),
                this._modelChangeCounter++),
                this._currentFindOccPromise &&
                  (this._currentFindOccPromise.cancel(),
                  (this._currentFindOccPromise = null)),
                (this._localToDispose = o.dispose(this._localToDispose))
            }),
            (e.prototype.getId = function() {
              return p.ID
            }),
            (e.prototype._onModelChange = function() {
              var e = this
              this._localDispose()
              var t = this._editor.getModel()
              if (t && this._isEnabled && u.CodeLensProviderRegistry.has(t)) {
                for (
                  var o = 0, r = u.CodeLensProviderRegistry.all(t);
                  o < r.length;
                  o++
                ) {
                  var s = r[o]
                  if ('function' == typeof s.onDidChange) {
                    var a = s.onDidChange(function() {
                      return l.schedule()
                    })
                    this._localToDispose.push(a)
                  }
                }
                this._detectVisibleLenses = new n.RunOnceScheduler(function() {
                  e._onViewportChanged(t.getLanguageIdentifier().language)
                }, 500)
                var l = new n.RunOnceScheduler(function() {
                  e._currentFindCodeLensSymbolsPromise &&
                    e._currentFindCodeLensSymbolsPromise.cancel(),
                    (e._currentFindCodeLensSymbolsPromise = c.getCodeLensData(
                      t
                    ))
                  var n = ++e._modelChangeCounter
                  e._currentFindCodeLensSymbolsPromise.then(function(t) {
                    n === e._modelChangeCounter &&
                      (e._renderCodeLensSymbols(t),
                      e._detectVisibleLenses.schedule())
                  }, i.onUnexpectedError)
                }, 250)
                this._localToDispose.push(l),
                  this._localToDispose.push(this._detectVisibleLenses),
                  this._localToDispose.push(
                    this._editor.onDidChangeModelContent(function(t) {
                      e._editor.changeDecorations(function(t) {
                        e._editor.changeViewZones(function(n) {
                          var i = []
                          e._lenses.forEach(function(e) {
                            e.isValid() ? e.update(n) : i.push(e)
                          })
                          var o = new d.CodeLensHelper()
                          i.forEach(function(t) {
                            t.dispose(o, n),
                              e._lenses.splice(e._lenses.indexOf(t), 1)
                          }),
                            o.commit(t)
                        })
                      }),
                        e._detectVisibleLenses.schedule(),
                        l.schedule()
                    })
                  ),
                  this._localToDispose.push(
                    this._editor.onDidScrollChange(function(t) {
                      t.scrollTopChanged && e._detectVisibleLenses.schedule()
                    })
                  ),
                  this._localToDispose.push(
                    this._editor.onDidLayoutChange(function(t) {
                      e._detectVisibleLenses.schedule()
                    })
                  ),
                  this._localToDispose.push({
                    dispose: function() {
                      e._editor.getModel()
                        ? e._editor.changeDecorations(function(t) {
                            e._editor.changeViewZones(function(n) {
                              e._disposeAllLenses(t, n)
                            })
                          })
                        : e._disposeAllLenses(null, null)
                    }
                  }),
                  l.schedule()
              }
            }),
            (e.prototype._disposeAllLenses = function(e, t) {
              var n = new d.CodeLensHelper()
              this._lenses.forEach(function(e) {
                return e.dispose(n, t)
              }),
                e && n.commit(e),
                (this._lenses = [])
            }),
            (e.prototype._renderCodeLensSymbols = function(e) {
              var t = this
              if (this._editor.getModel()) {
                for (
                  var n,
                    i = this._editor.getModel().getLineCount(),
                    o = [],
                    r = 0,
                    s = e;
                  r < s.length;
                  r++
                ) {
                  var a = s[r],
                    u = a.symbol.range.startLineNumber
                  u < 1 ||
                    u > i ||
                    (n && n[n.length - 1].symbol.range.startLineNumber === u
                      ? n.push(a)
                      : ((n = [a]), o.push(n)))
                }
                var l = this._editor.getCenteredRangeInViewport(),
                  c =
                    l &&
                    o.length !== this._lenses.length &&
                    0 !== this._editor.getScrollTop()
                this._editor.changeDecorations(function(e) {
                  t._editor.changeViewZones(function(n) {
                    for (
                      var i = 0, r = 0, s = new d.CodeLensHelper();
                      r < o.length && i < t._lenses.length;

                    ) {
                      var a = o[r][0].symbol.range.startLineNumber,
                        u = t._lenses[i].getLineNumber()
                      u < a
                        ? (t._lenses[i].dispose(s, n), t._lenses.splice(i, 1))
                        : u === a
                          ? (t._lenses[i].updateCodeLensSymbols(o[r], s),
                            r++,
                            i++)
                          : (t._lenses.splice(
                              i,
                              0,
                              new d.CodeLens(
                                o[r],
                                t._editor,
                                s,
                                n,
                                t._commandService,
                                t._messageService,
                                function() {
                                  return t._detectVisibleLenses.schedule()
                                }
                              )
                            ),
                            i++,
                            r++)
                    }
                    for (; i < t._lenses.length; )
                      t._lenses[i].dispose(s, n), t._lenses.splice(i, 1)
                    for (; r < o.length; )
                      t._lenses.push(
                        new d.CodeLens(
                          o[r],
                          t._editor,
                          s,
                          n,
                          t._commandService,
                          t._messageService,
                          function() {
                            return t._detectVisibleLenses.schedule()
                          }
                        )
                      ),
                        r++
                    s.commit(e)
                  })
                }),
                  c && this._editor.revealRangeInCenter(l)
              }
            }),
            (e.prototype._onViewportChanged = function(e) {
              var t = this
              this._currentFindOccPromise &&
                (this._currentFindOccPromise.cancel(),
                (this._currentFindOccPromise = null))
              var i = this._editor.getModel()
              if (i) {
                var o = [],
                  s = []
                if (
                  (this._lenses.forEach(function(e) {
                    var t = e.computeIfNecessary(i)
                    t && (o.push(t), s.push(e))
                  }),
                  0 !== o.length)
                ) {
                  var a = o.map(function(e, t) {
                    var o = new Array(e.length),
                      a = e.map(function(e, t) {
                        return n
                          .asWinJsPromise(function(t) {
                            return e.provider.resolveCodeLens(i, e.symbol, t)
                          })
                          .then(function(e) {
                            o[t] = e
                          })
                      })
                    return r.TPromise.join(a).then(function() {
                      s[t].updateCommands(o)
                    })
                  })
                  this._currentFindOccPromise = r.TPromise.join(a).then(
                    function() {
                      t._currentFindOccPromise = null
                    }
                  )
                }
              }
            }),
            e
          )
        })())
        ;(h.ID = 'css.editor.codeLens'),
          (h = p = v(
            [
              l.editorContribution,
              y(1, s.ICommandService),
              y(2, a.IMessageService)
            ],
            h
          )),
          (t.CodeLensContribution = h)
        var p
      }),
      define(d[505], h([0, 1, 6, 44, 25, 128, 197, 18, 14, 23]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var c = (function(e) {
          function t(t, i, o, u) {
            var c = e.call(this) || this
            ;(c._hideSoon = c._register(
              new a.RunOnceScheduler(function() {
                return c._hide()
              }, 1e3)
            )),
              (c._isVisible = !1),
              (c._editor = t),
              (c._state = i),
              (c._keybindingService = o),
              (c._domNode = document.createElement('div')),
              (c._domNode.className = 'findOptionsWidget'),
              (c._domNode.style.display = 'none'),
              (c._domNode.style.top = '10px'),
              c._domNode.setAttribute('role', 'presentation'),
              c._domNode.setAttribute('aria-hidden', 'true')
            var d = u.getTheme().getColor(l.inputActiveOptionBorder)
            return (
              (c.caseSensitive = c._register(
                new s.CaseSensitiveCheckbox({
                  appendTitle: c._keybindingLabelFor(
                    r.FIND_IDS.ToggleCaseSensitiveCommand
                  ),
                  isChecked: c._state.matchCase,
                  onChange: function(e) {
                    c._state.change({ matchCase: c.caseSensitive.checked }, !1)
                  },
                  inputActiveOptionBorder: d
                })
              )),
              c._domNode.appendChild(c.caseSensitive.domNode),
              (c.wholeWords = c._register(
                new s.WholeWordsCheckbox({
                  appendTitle: c._keybindingLabelFor(
                    r.FIND_IDS.ToggleWholeWordCommand
                  ),
                  isChecked: c._state.wholeWord,
                  onChange: function(e) {
                    c._state.change({ wholeWord: c.wholeWords.checked }, !1)
                  },
                  inputActiveOptionBorder: d
                })
              )),
              c._domNode.appendChild(c.wholeWords.domNode),
              (c.regex = c._register(
                new s.RegexCheckbox({
                  appendTitle: c._keybindingLabelFor(
                    r.FIND_IDS.ToggleRegexCommand
                  ),
                  isChecked: c._state.isRegex,
                  onChange: function(e) {
                    c._state.change({ isRegex: c.regex.checked }, !1)
                  },
                  inputActiveOptionBorder: d
                })
              )),
              c._domNode.appendChild(c.regex.domNode),
              c._editor.addOverlayWidget(c),
              c._register(
                c._state.addChangeListener(function(e) {
                  var t = !1
                  e.isRegex && ((c.regex.checked = c._state.isRegex), (t = !0)),
                    e.wholeWord &&
                      ((c.wholeWords.checked = c._state.wholeWord), (t = !0)),
                    e.matchCase &&
                      ((c.caseSensitive.checked = c._state.matchCase),
                      (t = !0)),
                    !c._state.isRevealed && t && c._revealTemporarily()
                })
              ),
              c._register(
                n.addDisposableNonBubblingMouseOutListener(c._domNode, function(
                  e
                ) {
                  return c._onMouseOut()
                })
              ),
              c._register(
                n.addDisposableListener(c._domNode, 'mouseover', function(e) {
                  return c._onMouseOver()
                })
              ),
              c._applyTheme(u.getTheme()),
              c._register(u.onThemeChange(c._applyTheme.bind(c))),
              c
            )
          }
          return (
            f(t, e),
            (t.prototype._keybindingLabelFor = function(e) {
              var t = this._keybindingService.lookupKeybinding(e)
              return t ? ' (' + t.getLabel() + ')' : ''
            }),
            (t.prototype.dispose = function() {
              this._editor.removeOverlayWidget(this),
                e.prototype.dispose.call(this)
            }),
            (t.prototype.getId = function() {
              return t.ID
            }),
            (t.prototype.getDomNode = function() {
              return this._domNode
            }),
            (t.prototype.getPosition = function() {
              return {
                preference: o.OverlayWidgetPositionPreference.TOP_RIGHT_CORNER
              }
            }),
            (t.prototype.highlightFindOptions = function() {
              this._revealTemporarily()
            }),
            (t.prototype._revealTemporarily = function() {
              this._show(), this._hideSoon.schedule()
            }),
            (t.prototype._onMouseOut = function() {
              this._hideSoon.schedule()
            }),
            (t.prototype._onMouseOver = function() {
              this._hideSoon.cancel()
            }),
            (t.prototype._show = function() {
              this._isVisible ||
                ((this._isVisible = !0),
                (this._domNode.style.display = 'block'))
            }),
            (t.prototype._hide = function() {
              this._isVisible &&
                ((this._isVisible = !1), (this._domNode.style.display = 'none'))
            }),
            (t.prototype._applyTheme = function(e) {
              var t = {
                inputActiveOptionBorder: e.getColor(l.inputActiveOptionBorder)
              }
              this.caseSensitive.style(t),
                this.wholeWords.style(t),
                this.regex.style(t)
            }),
            t
          )
        })(i.Widget)
        ;(c.ID = 'editor.contrib.findOptionsWidget'),
          (t.FindOptionsWidget = c),
          u.registerThemingParticipant(function(e, t) {
            var n = e.getColor(l.editorWidgetBackground)
            n &&
              t.addRule(
                '.monaco-editor .findOptionsWidget { background-color: ' +
                  n +
                  '; }'
              )
            var i = e.getColor(l.widgetShadow)
            i &&
              t.addRule(
                '.monaco-editor .findOptionsWidget { box-shadow: 0 2px 8px ' +
                  i +
                  '; }'
              )
            var o = e.getColor(l.contrastBorder)
            o &&
              t.addRule(
                '.monaco-editor .findOptionsWidget { border: 2px solid ' +
                  o +
                  '; }'
              )
          })
      }),
      define(d[506], h([
        0,
        1,
        337,
        10,
        15,
        9,
        6,
        280,
        119,
        44,
        99,
        25,
        128,
        2,
        145,
        14,
        23,
        296
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g, m, v) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var _ = n.localize(0, null),
          y = n.localize(1, null),
          b = n.localize(2, null),
          C = n.localize(3, null),
          w = n.localize(4, null),
          S = n.localize(5, null),
          E = n.localize(6, null),
          L = n.localize(7, null),
          x = n.localize(8, null),
          N = n.localize(9, null),
          M = n.localize(10, null),
          T = n.localize(11, null),
          k = n.localize(12, null),
          I = n.localize(13, null),
          D = 411,
          O = 69,
          R = 17 + (O + 3 + 1) + 92 + 2,
          P = 34,
          A = (function() {
            return function(e) {
              ;(this.afterLineNumber = e),
                (this.heightInPx = P),
                (this.suppressMouseDown = !1),
                (this.domNode = document.createElement('div')),
                (this.domNode.className = 'dock-find-viewzone')
            }
          })()
        t.FindWidgetViewZone = A
        var F = (function(e) {
          function t(t, n, i, o, r, a, u) {
            var l = e.call(this) || this
            ;(l._codeEditor = t),
              (l._controller = n),
              (l._state = i),
              (l._contextViewProvider = o),
              (l._keybindingService = r),
              (l._isVisible = !1),
              (l._isReplaceVisible = !1),
              l._register(
                l._state.addChangeListener(function(e) {
                  return l._onStateChanged(e)
                })
              ),
              l._buildDomNode(),
              l._updateButtons()
            var c = function() {
              var e = l._codeEditor.getConfiguration().layoutInfo.width,
                t = l._codeEditor.getConfiguration().layoutInfo.minimapWidth,
                n = !1,
                i = !1,
                o = !1
              if (s.getTotalWidth(l._domNode) > D)
                return (
                  (l._domNode.style.maxWidth = e - 28 - t - 15 + 'px'),
                  void (l._replaceInputBox.inputElement.style.width =
                    s.getTotalWidth(l._findInput.inputBox.inputElement) + 'px')
                )
              D + 28 + t >= e && (i = !0),
                D + 28 + t - O >= e && (o = !0),
                D + 28 + t - O >= e + 50 && (n = !0),
                s.toggleClass(l._domNode, 'collapsed-find-widget', n),
                s.toggleClass(l._domNode, 'narrow-find-widget', o),
                s.toggleClass(l._domNode, 'reduced-find-widget', i),
                o || n || (l._domNode.style.maxWidth = e - 28 - t - 15 + 'px')
              var r = s.getTotalWidth(l._findInput.inputBox.inputElement)
              r > 0 && (l._replaceInputBox.inputElement.style.width = r + 'px')
            }
            return (
              c(),
              l._register(
                l._codeEditor.onDidChangeConfiguration(function(e) {
                  e.readOnly &&
                    (l._codeEditor.getConfiguration().readOnly &&
                      l._state.change({ isReplaceRevealed: !1 }, !1),
                    l._updateButtons()),
                    e.layoutInfo && c()
                })
              ),
              l._register(
                l._codeEditor.onDidChangeCursorSelection(function() {
                  l._isVisible && l._updateToggleSelectionFindButton()
                })
              ),
              (l._findInputFocussed = g.CONTEXT_FIND_INPUT_FOCUSSED.bindTo(a)),
              (l._focusTracker = l._register(
                s.trackFocus(l._findInput.inputBox.inputElement)
              )),
              l._focusTracker.addFocusListener(function() {
                if (
                  (l._findInputFocussed.set(!0), l._toggleSelectionFind.checked)
                ) {
                  var e = l._codeEditor.getSelection()
                  1 === e.endColumn &&
                    e.endLineNumber > e.startLineNumber &&
                    (e = e.setEndPosition(e.endLineNumber - 1, 1))
                  var t = l._state.currentMatch
                  e.startLineNumber !== e.endLineNumber &&
                    (p.Range.equalsRange(e, t) ||
                      l._state.change({ searchScope: e }, !0))
                }
              }),
              l._focusTracker.addBlurListener(function() {
                l._findInputFocussed.set(!1)
              }),
              l._codeEditor.addOverlayWidget(l),
              (l._viewZone = new A(0)),
              l._applyTheme(u.getTheme()),
              l._register(u.onThemeChange(l._applyTheme.bind(l))),
              l._register(
                l._codeEditor.onDidChangeModel(function(e) {
                  l._isVisible &&
                    void 0 !== l._viewZoneId &&
                    l._codeEditor.changeViewZones(function(e) {
                      e.removeZone(l._viewZoneId), (l._viewZoneId = void 0)
                    })
                })
              ),
              l._register(
                l._codeEditor.onDidScrollChange(function(e) {
                  e.scrollTopChanged
                    ? l._layoutViewZone()
                    : setTimeout(function() {
                        l._layoutViewZone()
                      }, 0)
                })
              ),
              l
            )
          }
          return (
            f(t, e),
            (t.prototype.getId = function() {
              return t.ID
            }),
            (t.prototype.getDomNode = function() {
              return this._domNode
            }),
            (t.prototype.getPosition = function() {
              return this._isVisible
                ? {
                    preference:
                      d.OverlayWidgetPositionPreference.TOP_RIGHT_CORNER
                  }
                : null
            }),
            (t.prototype._onStateChanged = function(e) {
              if (
                (e.searchString &&
                  (this._findInput.setValue(this._state.searchString),
                  this._updateButtons()),
                e.replaceString &&
                  (this._replaceInputBox.value = this._state.replaceString),
                e.isRevealed &&
                  (this._state.isRevealed ? this._reveal(!0) : this._hide(!0)),
                e.isReplaceRevealed &&
                  (this._state.isReplaceRevealed
                    ? this._codeEditor.getConfiguration().readOnly ||
                      this._isReplaceVisible ||
                      ((this._isReplaceVisible = !0), this._updateButtons())
                    : this._isReplaceVisible &&
                      ((this._isReplaceVisible = !1), this._updateButtons())),
                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)
              ) {
                var t =
                  this._state.searchString.length > 0 &&
                  0 === this._state.matchesCount
                s.toggleClass(this._domNode, 'no-results', t),
                  this._updateMatchesCount()
              }
              ;(e.searchString || e.currentMatch) && this._layoutViewZone()
            }),
            (t.prototype._updateMatchesCount = function() {
              ;(this._matchesCount.style.minWidth = O + 'px'),
                this._state.matchesCount >= h.MATCHES_LIMIT
                  ? (this._matchesCount.title = T)
                  : (this._matchesCount.title = ''),
                this._matchesCount.firstChild &&
                  this._matchesCount.removeChild(this._matchesCount.firstChild)
              var e
              if (this._state.matchesCount > 0) {
                var t = String(this._state.matchesCount)
                this._state.matchesCount >= h.MATCHES_LIMIT && (t += '+')
                var n = String(this._state.matchesPosition)
                '0' === n && (n = '?'), (e = r.format(k, n, t))
              } else e = I
              this._matchesCount.appendChild(document.createTextNode(e)),
                (O = Math.max(O, this._matchesCount.clientWidth))
            }),
            (t.prototype._updateToggleSelectionFindButton = function() {
              var e = this._codeEditor.getSelection(),
                t =
                  !!e &&
                  (e.startLineNumber !== e.endLineNumber ||
                    e.startColumn !== e.endColumn),
                n = this._toggleSelectionFind.checked
              this._toggleSelectionFind.setEnabled(this._isVisible && (n || t))
            }),
            (t.prototype._updateButtons = function() {
              this._findInput.setEnabled(this._isVisible),
                this._replaceInputBox.setEnabled(
                  this._isVisible && this._isReplaceVisible
                ),
                this._updateToggleSelectionFindButton(),
                this._closeBtn.setEnabled(this._isVisible)
              var e = this._state.searchString.length > 0
              this._prevBtn.setEnabled(this._isVisible && e),
                this._nextBtn.setEnabled(this._isVisible && e),
                this._replaceBtn.setEnabled(
                  this._isVisible && this._isReplaceVisible && e
                ),
                this._replaceAllBtn.setEnabled(
                  this._isVisible && this._isReplaceVisible && e
                ),
                s.toggleClass(
                  this._domNode,
                  'replaceToggled',
                  this._isReplaceVisible
                ),
                this._toggleReplaceBtn.toggleClass(
                  'collapse',
                  !this._isReplaceVisible
                ),
                this._toggleReplaceBtn.toggleClass(
                  'expand',
                  this._isReplaceVisible
                ),
                this._toggleReplaceBtn.setExpanded(this._isReplaceVisible)
              var t = !this._codeEditor.getConfiguration().readOnly
              this._toggleReplaceBtn.setEnabled(this._isVisible && t)
            }),
            (t.prototype._reveal = function(e) {
              var t = this
              if (!this._isVisible) {
                this._isVisible = !0
                var n = this._codeEditor.getSelection()
                !!n &&
                (n.startLineNumber !== n.endLineNumber ||
                  n.startColumn !== n.endColumn) &&
                this._codeEditor.getConfiguration().contribInfo.find
                  .autoFindInSelection
                  ? (this._toggleSelectionFind.checked = !0)
                  : (this._toggleSelectionFind.checked = !1),
                  this._updateButtons(),
                  setTimeout(function() {
                    s.addClass(t._domNode, 'visible'),
                      t._domNode.setAttribute('aria-hidden', 'false'),
                      e ||
                        (s.addClass(t._domNode, 'noanimation'),
                        setTimeout(function() {
                          s.removeClass(t._domNode, 'noanimation')
                        }, 200))
                  }, 0),
                  this._codeEditor.layoutOverlayWidget(this)
                var i = !0
                if (
                  this._codeEditor.getConfiguration().contribInfo.find
                    .seedSearchStringFromSelection &&
                  n
                ) {
                  var o = s.getDomNodePagePosition(
                      this._codeEditor.getDomNode()
                    ),
                    r = this._codeEditor.getScrolledVisiblePosition(
                      n.getStartPosition()
                    ),
                    a = o.left + r.left
                  if (r.top < this._viewZone.heightInPx) {
                    n.endLineNumber > n.startLineNumber && (i = !1)
                    var u = s.getTopLeftOffset(this._domNode).left
                    a > u && (i = !1)
                    var l = this._codeEditor.getScrolledVisiblePosition(
                      n.getEndPosition()
                    )
                    o.left + l.left > u && (i = !1)
                  }
                }
                this._showViewZone(i)
              }
            }),
            (t.prototype._hide = function(e) {
              var t = this
              this._isVisible &&
                ((this._isVisible = !1),
                this._updateButtons(),
                s.removeClass(this._domNode, 'visible'),
                this._domNode.setAttribute('aria-hidden', 'true'),
                e && this._codeEditor.focus(),
                this._codeEditor.layoutOverlayWidget(this),
                this._codeEditor.changeViewZones(function(e) {
                  void 0 !== t._viewZoneId &&
                    (e.removeZone(t._viewZoneId),
                    (t._viewZoneId = void 0),
                    t._codeEditor.setScrollTop(
                      t._codeEditor.getScrollTop() - t._viewZone.heightInPx
                    ))
                }))
            }),
            (t.prototype._layoutViewZone = function() {
              var e = this
              this._isVisible &&
                void 0 === this._viewZoneId &&
                this._codeEditor.changeViewZones(function(t) {
                  e._state.isReplaceRevealed
                    ? (e._viewZone.heightInPx = 64)
                    : (e._viewZone.heightInPx = P),
                    (e._viewZoneId = t.addZone(e._viewZone)),
                    e._codeEditor.setScrollTop(
                      e._codeEditor.getScrollTop() + e._viewZone.heightInPx
                    )
                })
            }),
            (t.prototype._showViewZone = function(e) {
              var t = this
              void 0 === e && (e = !0),
                this._isVisible &&
                  this._codeEditor.changeViewZones(function(n) {
                    var i = P
                    void 0 !== t._viewZoneId
                      ? (t._state.isReplaceRevealed
                          ? ((t._viewZone.heightInPx = 64), (i = 64 - P))
                          : ((t._viewZone.heightInPx = P), (i = P - 64)),
                        n.removeZone(t._viewZoneId))
                      : (t._viewZone.heightInPx = P),
                      (t._viewZoneId = n.addZone(t._viewZone)),
                      e &&
                        t._codeEditor.setScrollTop(
                          t._codeEditor.getScrollTop() + i
                        )
                  })
            }),
            (t.prototype._applyTheme = function(e) {
              var t = {
                inputActiveOptionBorder: e.getColor(v.inputActiveOptionBorder),
                inputBackground: e.getColor(v.inputBackground),
                inputForeground: e.getColor(v.inputForeground),
                inputBorder: e.getColor(v.inputBorder),
                inputValidationInfoBackground: e.getColor(
                  v.inputValidationInfoBackground
                ),
                inputValidationInfoBorder: e.getColor(
                  v.inputValidationInfoBorder
                ),
                inputValidationWarningBackground: e.getColor(
                  v.inputValidationWarningBackground
                ),
                inputValidationWarningBorder: e.getColor(
                  v.inputValidationWarningBorder
                ),
                inputValidationErrorBackground: e.getColor(
                  v.inputValidationErrorBackground
                ),
                inputValidationErrorBorder: e.getColor(
                  v.inputValidationErrorBorder
                )
              }
              this._findInput.style(t), this._replaceInputBox.style(t)
            }),
            (t.prototype.focusFindInput = function() {
              this._findInput.select(), this._findInput.focus()
            }),
            (t.prototype.focusReplaceInput = function() {
              this._replaceInputBox.select(), this._replaceInputBox.focus()
            }),
            (t.prototype.highlightFindOptions = function() {
              this._findInput.highlightFindOptions()
            }),
            (t.prototype._onFindInputMouseDown = function(e) {
              e.middleButton && e.stopPropagation()
            }),
            (t.prototype._onFindInputKeyDown = function(e) {
              return e.equals(3)
                ? (this._codeEditor
                    .getAction(h.FIND_IDS.NextMatchFindAction)
                    .run()
                    .done(null, i.onUnexpectedError),
                  void e.preventDefault())
                : e.equals(1027)
                  ? (this._codeEditor
                      .getAction(h.FIND_IDS.PreviousMatchFindAction)
                      .run()
                      .done(null, i.onUnexpectedError),
                    void e.preventDefault())
                  : e.equals(2)
                    ? (this._isReplaceVisible
                        ? this._replaceInputBox.focus()
                        : this._findInput.focusOnCaseSensitive(),
                      void e.preventDefault())
                    : e.equals(2066)
                      ? (this._codeEditor.focus(), void e.preventDefault())
                      : void 0
            }),
            (t.prototype._onReplaceInputKeyDown = function(e) {
              return e.equals(3)
                ? (this._controller.replace(), void e.preventDefault())
                : e.equals(2051)
                  ? (this._controller.replaceAll(), 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())
                        : void 0
            }),
            (t.prototype.getHorizontalSashTop = function(e) {
              return 0
            }),
            (t.prototype.getHorizontalSashLeft = function(e) {
              return 0
            }),
            (t.prototype.getHorizontalSashWidth = function(e) {
              return 500
            }),
            (t.prototype._keybindingLabelFor = function(e) {
              var t = this._keybindingService.lookupKeybinding(e)
              return t ? ' (' + t.getLabel() + ')' : ''
            }),
            (t.prototype._buildFindPart = function() {
              var e = this
              ;(this._findInput = this._register(
                new a.FindInput(null, this._contextViewProvider, {
                  width: 221,
                  label: _,
                  placeholder: y,
                  appendCaseSensitiveLabel: this._keybindingLabelFor(
                    h.FIND_IDS.ToggleCaseSensitiveCommand
                  ),
                  appendWholeWordsLabel: this._keybindingLabelFor(
                    h.FIND_IDS.ToggleWholeWordCommand
                  ),
                  appendRegexLabel: this._keybindingLabelFor(
                    h.FIND_IDS.ToggleRegexCommand
                  ),
                  validation: function(t) {
                    if (0 === t.length) return null
                    if (!e._findInput.getRegex()) return null
                    try {
                      return new RegExp(t), null
                    } catch (e) {
                      return { content: e.message }
                    }
                  }
                })
              )),
                this._findInput.setRegex(!!this._state.isRegex),
                this._findInput.setCaseSensitive(!!this._state.matchCase),
                this._findInput.setWholeWords(!!this._state.wholeWord),
                this._register(
                  this._findInput.onKeyDown(function(t) {
                    return e._onFindInputKeyDown(t)
                  })
                ),
                this._register(
                  this._findInput.onInput(function() {
                    e._state.change(
                      { searchString: e._findInput.getValue() },
                      !0
                    )
                  })
                ),
                this._register(
                  this._findInput.onDidOptionChange(function() {
                    e._state.change(
                      {
                        isRegex: e._findInput.getRegex(),
                        wholeWord: e._findInput.getWholeWords(),
                        matchCase: e._findInput.getCaseSensitive()
                      },
                      !0
                    )
                  })
                ),
                this._register(
                  this._findInput.onCaseSensitiveKeyDown(function(t) {
                    t.equals(1026) &&
                      e._isReplaceVisible &&
                      (e._replaceInputBox.focus(), t.preventDefault())
                  })
                ),
                o.isLinux &&
                  this._register(
                    this._findInput.onMouseDown(function(t) {
                      return e._onFindInputMouseDown(t)
                    })
                  ),
                (this._matchesCount = document.createElement('div')),
                (this._matchesCount.className = 'matchesCount'),
                this._updateMatchesCount(),
                (this._prevBtn = this._register(
                  new B({
                    label:
                      b +
                      this._keybindingLabelFor(
                        h.FIND_IDS.PreviousMatchFindAction
                      ),
                    className: 'previous',
                    onTrigger: function() {
                      e._codeEditor
                        .getAction(h.FIND_IDS.PreviousMatchFindAction)
                        .run()
                        .done(null, i.onUnexpectedError)
                    },
                    onKeyDown: function(e) {}
                  })
                )),
                (this._nextBtn = this._register(
                  new B({
                    label:
                      C +
                      this._keybindingLabelFor(h.FIND_IDS.NextMatchFindAction),
                    className: 'next',
                    onTrigger: function() {
                      e._codeEditor
                        .getAction(h.FIND_IDS.NextMatchFindAction)
                        .run()
                        .done(null, i.onUnexpectedError)
                    },
                    onKeyDown: function(e) {}
                  })
                ))
              var t = document.createElement('div')
              return (
                (t.className = 'find-part'),
                t.appendChild(this._findInput.domNode),
                t.appendChild(this._matchesCount),
                t.appendChild(this._prevBtn.domNode),
                t.appendChild(this._nextBtn.domNode),
                (this._toggleSelectionFind = this._register(
                  new W({
                    parent: t,
                    title:
                      w +
                      this._keybindingLabelFor(
                        h.FIND_IDS.ToggleSearchScopeCommand
                      ),
                    onChange: function() {
                      if (e._toggleSelectionFind.checked) {
                        var t = e._codeEditor.getSelection()
                        1 === t.endColumn &&
                          t.endLineNumber > t.startLineNumber &&
                          (t = t.setEndPosition(t.endLineNumber - 1, 1)),
                          t.isEmpty() || e._state.change({ searchScope: t }, !0)
                      } else e._state.change({ searchScope: null }, !0)
                    }
                  })
                )),
                (this._closeBtn = this._register(
                  new B({
                    label:
                      S +
                      this._keybindingLabelFor(
                        h.FIND_IDS.CloseFindWidgetCommand
                      ),
                    className: 'close-fw',
                    onTrigger: function() {
                      e._state.change({ isRevealed: !1, searchScope: null }, !1)
                    },
                    onKeyDown: function(t) {
                      t.equals(2) &&
                        e._isReplaceVisible &&
                        (e._replaceBtn.isEnabled()
                          ? e._replaceBtn.focus()
                          : e._codeEditor.focus(),
                        t.preventDefault())
                    }
                  })
                )),
                t.appendChild(this._closeBtn.domNode),
                t
              )
            }),
            (t.prototype._buildReplacePart = function() {
              var e = this,
                t = document.createElement('div')
              ;(t.className = 'replace-input'),
                (t.style.width = '221px'),
                (this._replaceInputBox = this._register(
                  new u.InputBox(t, null, { ariaLabel: E, placeholder: L })
                )),
                this._register(
                  s.addStandardDisposableListener(
                    this._replaceInputBox.inputElement,
                    'keydown',
                    function(t) {
                      return e._onReplaceInputKeyDown(t)
                    }
                  )
                ),
                this._register(
                  s.addStandardDisposableListener(
                    this._replaceInputBox.inputElement,
                    'input',
                    function(t) {
                      e._state.change(
                        { replaceString: e._replaceInputBox.value },
                        !1
                      )
                    }
                  )
                ),
                (this._replaceBtn = this._register(
                  new B({
                    label:
                      x + this._keybindingLabelFor(h.FIND_IDS.ReplaceOneAction),
                    className: 'replace',
                    onTrigger: function() {
                      e._controller.replace()
                    },
                    onKeyDown: function(t) {
                      t.equals(1026) &&
                        (e._closeBtn.focus(), t.preventDefault())
                    }
                  })
                )),
                (this._replaceAllBtn = this._register(
                  new B({
                    label:
                      N + this._keybindingLabelFor(h.FIND_IDS.ReplaceAllAction),
                    className: 'replace-all',
                    onTrigger: function() {
                      e._controller.replaceAll()
                    },
                    onKeyDown: function(e) {}
                  })
                ))
              var n = document.createElement('div')
              return (
                (n.className = 'replace-part'),
                n.appendChild(t),
                n.appendChild(this._replaceBtn.domNode),
                n.appendChild(this._replaceAllBtn.domNode),
                n
              )
            }),
            (t.prototype._buildDomNode = function() {
              var e = this,
                t = this._buildFindPart(),
                n = this._buildReplacePart()
              ;(this._toggleReplaceBtn = this._register(
                new B({
                  label: M,
                  className: 'toggle left',
                  onTrigger: function() {
                    e._state.change(
                      { isReplaceRevealed: !e._isReplaceVisible },
                      !1
                    ),
                      e._isReplaceVisible &&
                        (e._replaceInputBox.width =
                          e._findInput.inputBox.width),
                      e._showViewZone()
                  },
                  onKeyDown: function(e) {}
                })
              )),
                this._toggleReplaceBtn.toggleClass(
                  'expand',
                  this._isReplaceVisible
                ),
                this._toggleReplaceBtn.toggleClass(
                  'collapse',
                  !this._isReplaceVisible
                ),
                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.appendChild(this._toggleReplaceBtn.domNode),
                this._domNode.appendChild(t),
                this._domNode.appendChild(n),
                this._buildSash()
            }),
            (t.prototype._buildSash = function() {
              var e = this
              this._resizeSash = new c.Sash(this._domNode, this, {
                orientation: c.Orientation.VERTICAL
              })
              var t = D
              this._register(
                this._resizeSash.addListener('start', function(n) {
                  t = s.getTotalWidth(e._domNode)
                })
              ),
                this._register(
                  this._resizeSash.addListener('change', function(n) {
                    var i = t + n.startX - n.currentX
                    if (!(i < D)) {
                      var o = i - R
                      i >
                        (parseFloat(s.getComputedStyle(e._domNode).maxWidth) ||
                          0) ||
                        ((e._domNode.style.width = i + 'px'),
                        e._isReplaceVisible && (e._replaceInputBox.width = o))
                    }
                  })
                )
            }),
            t
          )
        })(l.Widget)
        ;(F.ID = 'editor.contrib.findWidget'), (t.FindWidget = F)
        var W = (function(e) {
          function t(n) {
            var i = e.call(this) || this
            return (
              (i._opts = n),
              (i._domNode = document.createElement('div')),
              (i._domNode.className = 'monaco-checkbox'),
              (i._domNode.title = i._opts.title),
              (i._domNode.tabIndex = 0),
              (i._checkbox = document.createElement('input')),
              (i._checkbox.type = 'checkbox'),
              (i._checkbox.className = 'checkbox'),
              (i._checkbox.id = 'checkbox-' + t._COUNTER++),
              (i._checkbox.tabIndex = -1),
              (i._label = document.createElement('label')),
              (i._label.className = 'label'),
              (i._label.htmlFor = i._checkbox.id),
              (i._label.tabIndex = -1),
              i._domNode.appendChild(i._checkbox),
              i._domNode.appendChild(i._label),
              i._opts.parent.appendChild(i._domNode),
              i.onchange(i._checkbox, function(e) {
                i._opts.onChange()
              }),
              i
            )
          }
          return (
            f(t, e),
            Object.defineProperty(t.prototype, 'domNode', {
              get: function() {
                return this._domNode
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(t.prototype, 'checked', {
              get: function() {
                return this._checkbox.checked
              },
              set: function(e) {
                this._checkbox.checked = e
              },
              enumerable: !0,
              configurable: !0
            }),
            (t.prototype.focus = function() {
              this._checkbox.focus()
            }),
            (t.prototype.enable = function() {
              this._checkbox.removeAttribute('disabled')
            }),
            (t.prototype.disable = function() {
              this._checkbox.disabled = !0
            }),
            (t.prototype.setEnabled = function(e) {
              e
                ? (this.enable(), (this.domNode.tabIndex = 0))
                : (this.disable(), (this.domNode.tabIndex = -1))
            }),
            t
          )
        })(l.Widget)
        W._COUNTER = 0
        var B = (function(e) {
          function t(t) {
            var n = e.call(this) || this
            return (
              (n._opts = t),
              (n._domNode = document.createElement('div')),
              (n._domNode.title = n._opts.label),
              (n._domNode.tabIndex = 0),
              (n._domNode.className = 'button ' + n._opts.className),
              n._domNode.setAttribute('role', 'button'),
              n._domNode.setAttribute('aria-label', n._opts.label),
              n.onclick(n._domNode, function(e) {
                n._opts.onTrigger(), e.preventDefault()
              }),
              n.onkeydown(n._domNode, function(e) {
                if (e.equals(10) || e.equals(3))
                  return n._opts.onTrigger(), void e.preventDefault()
                n._opts.onKeyDown(e)
              }),
              n
            )
          }
          return (
            f(t, e),
            Object.defineProperty(t.prototype, 'domNode', {
              get: function() {
                return this._domNode
              },
              enumerable: !0,
              configurable: !0
            }),
            (t.prototype.isEnabled = function() {
              return this._domNode.tabIndex >= 0
            }),
            (t.prototype.focus = function() {
              this._domNode.focus()
            }),
            (t.prototype.setEnabled = function(e) {
              s.toggleClass(this._domNode, 'disabled', !e),
                this._domNode.setAttribute('aria-disabled', String(!e)),
                (this._domNode.tabIndex = e ? 0 : -1)
            }),
            (t.prototype.setExpanded = function(e) {
              this._domNode.setAttribute('aria-expanded', String(!!e))
            }),
            (t.prototype.toggleClass = function(e, t) {
              s.toggleClass(this._domNode, e, t)
            }),
            t
          )
        })(l.Widget)
        m.registerThemingParticipant(function(e, t) {
          function n(e, n) {
            n &&
              t.addRule(
                '.monaco-editor ' + e + ' { background-color: ' + n + '; }'
              )
          }
          n('.findMatch', e.getColor(v.editorFindMatchHighlight)),
            n('.currentFindMatch', e.getColor(v.editorFindMatch)),
            n('.findScope', e.getColor(v.editorFindRangeHighlight)),
            n('.find-widget', e.getColor(v.editorWidgetBackground))
          var i = e.getColor(v.widgetShadow)
          i &&
            t.addRule(
              '.monaco-editor .find-widget { box-shadow: 0 2px 8px ' + i + '; }'
            )
          var o = e.getColor(v.activeContrastBorder)
          o &&
            (t.addRule(
              '.monaco-editor .findScope { border: 1px dashed ' +
                o.transparent(0.4) +
                '; }'
            ),
            t.addRule(
              '.monaco-editor .currentFindMatch { border: 2px solid ' +
                o +
                '; padding: 1px; -moz-box-sizing: border-box; box-sizing: border-box; }'
            ),
            t.addRule(
              '.monaco-editor .findMatch { border: 1px dotted ' +
                o +
                '; -moz-box-sizing: border-box; box-sizing: border-box; }'
            ))
          var r = e.getColor(v.contrastBorder)
          r &&
            t.addRule(
              '.monaco-editor .find-widget { border: 2px solid ' + r + '; }'
            )
          var s = e.getColor(v.errorForeground)
          s &&
            t.addRule(
              '.monaco-editor .find-widget.no-results .matchesCount { color: ' +
                s +
                '; }'
            )
          var a = e.getColor('panel.border')
          a &&
            t.addRule(
              '.monaco-editor .find-widget .monaco-sash { background-color: ' +
                a +
                '; width: 3px !important; margin-left: -4px;}'
            )
        })
      }),
      define(d[507], h([0, 1, 71, 47, 19, 32, 506, 505, 145, 14, 72]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var d = (function(e) {
          function t(t, n, i, o, r, u) {
            var l = e.call(this, t, i, u) || this
            return (
              (l._widget = l._register(
                new s.FindWidget(t, l, l._state, n, o, i, r)
              )),
              (l._findOptionsWidget = l._register(
                new a.FindOptionsWidget(t, l._state, o, r)
              )),
              l
            )
          }
          return (
            f(t, e),
            (t.prototype._start = function(t) {
              e.prototype._start.call(this, t),
                2 === t.shouldFocus
                  ? this._widget.focusReplaceInput()
                  : 1 === t.shouldFocus && this._widget.focusFindInput()
            }),
            (t.prototype.highlightFindOptions = function() {
              this._state.isRevealed
                ? this._widget.highlightFindOptions()
                : this._findOptionsWidget.highlightFindOptions()
            }),
            t
          )
        })(u.CommonFindController)
        ;(d = v(
          [
            r.editorContribution,
            y(1, n.IContextViewService),
            y(2, o.IContextKeyService),
            y(3, i.IKeybindingService),
            y(4, l.IThemeService),
            y(5, c.IStorageService)
          ],
          d
        )),
          (t.FindController = d)
      }),
      define(d[508], h([0, 1, 18, 3, 48, 2, 13, 25, 19, 14, 23, 290]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var d = (f = (function() {
          function e(e, t) {
            ;(this._messageListeners = []),
              (this._editor = e),
              (this._visible = f.CONTEXT_SNIPPET_MODE.bindTo(t))
          }
          return (
            (e.get = function(e) {
              return e.getContribution(f._id)
            }),
            (e.prototype.getId = function() {
              return f._id
            }),
            (e.prototype.dispose = function() {
              this._visible.reset()
            }),
            (e.prototype.showMessage = function(e, t) {
              var s = this
              o.alert(e),
                this._visible.set(!0),
                i.dispose(this._messageWidget),
                (this._messageListeners = i.dispose(this._messageListeners)),
                (this._messageWidget = new p(this._editor, t, e)),
                this._messageListeners.push(
                  this._editor.onDidBlurEditorText(function() {
                    return s.closeMessage()
                  })
                ),
                this._messageListeners.push(
                  this._editor.onDidChangeCursorPosition(function() {
                    return s.closeMessage()
                  })
                ),
                this._messageListeners.push(
                  this._editor.onDidDispose(function() {
                    return s.closeMessage()
                  })
                ),
                this._messageListeners.push(
                  this._editor.onDidChangeModel(function() {
                    return s.closeMessage()
                  })
                ),
                this._messageListeners.push(
                  n.setDisposableTimeout(function() {
                    return s.closeMessage()
                  }, 3e3)
                )
              var a
              this._messageListeners.push(
                this._editor.onMouseMove(function(e) {
                  e.target.position &&
                    (a
                      ? a.containsPosition(e.target.position) ||
                        s.closeMessage()
                      : (a = new r.Range(
                          t.lineNumber - 3,
                          1,
                          e.target.position.lineNumber + 3,
                          1
                        )))
                })
              )
            }),
            (e.prototype.closeMessage = function() {
              this._visible.reset(),
                (this._messageListeners = i.dispose(this._messageListeners)),
                this._messageListeners.push(p.fadeOut(this._messageWidget))
            }),
            e
          )
        })())
        ;(d._id = 'editor.contrib.messageController'),
          (d.CONTEXT_SNIPPET_MODE = new u.RawContextKey('messageVisible', !1)),
          (d = f = v(
            [s.commonEditorContribution, y(1, u.IContextKeyService)],
            d
          )),
          (t.MessageController = d)
        var h = s.EditorCommand.bindToContribution(d.get)
        s.CommonEditorRegistry.registerEditorCommand(
          new h({
            id: 'leaveEditorMessage',
            precondition: d.CONTEXT_SNIPPET_MODE,
            handler: function(e) {
              return e.closeMessage()
            },
            kbOpts: {
              weight: s.CommonEditorRegistry.commandWeight(30),
              primary: 9
            }
          })
        )
        var p = (function() {
          function e(e, t, n) {
            var i = t.lineNumber,
              o = t.column
            ;(this.allowEditorOverflow = !0),
              (this.suppressMouseDown = !1),
              (this._editor = e),
              this._editor.revealLinesInCenterIfOutsideViewport(i, i),
              (this._position = { lineNumber: i, column: 1 }),
              (this._domNode = document.createElement('div')),
              (this._domNode.style.paddingLeft =
                e.getOffsetForColumn(i, o) - 6 + 'px'),
              this._domNode.classList.add('monaco-editor-overlaymessage')
            var r = document.createElement('div')
            r.classList.add('message'),
              (r.textContent = n),
              this._domNode.appendChild(r)
            var s = document.createElement('div')
            s.classList.add('anchor'),
              this._domNode.appendChild(s),
              this._editor.addContentWidget(this),
              this._domNode.classList.add('fadeIn')
          }
          return (
            (e.fadeOut = function(e) {
              var t,
                n = function() {
                  e.dispose(),
                    clearTimeout(t),
                    e.getDomNode().removeEventListener('animationend', n)
                }
              return (
                (t = setTimeout(n, 110)),
                e.getDomNode().addEventListener('animationend', n),
                e.getDomNode().classList.add('fadeOut'),
                { dispose: n }
              )
            }),
            (e.prototype.dispose = function() {
              this._editor.removeContentWidget(this)
            }),
            (e.prototype.getId = function() {
              return 'messageoverlay'
            }),
            (e.prototype.getDomNode = function() {
              return this._domNode
            }),
            (e.prototype.getPosition = function() {
              return {
                position: this._position,
                preference: [a.ContentWidgetPositionPreference.ABOVE]
              }
            }),
            e
          )
        })()
        l.registerThemingParticipant(function(e, t) {
          var n = e.getColor(c.inputValidationInfoBorder)
          if (n) {
            var i = e.type === l.HIGH_CONTRAST ? 2 : 1
            t.addRule(
              '.monaco-editor .monaco-editor-overlaymessage .anchor { border-top-color: ' +
                n +
                '; }'
            ),
              t.addRule(
                '.monaco-editor .monaco-editor-overlaymessage .message { border: ' +
                  i +
                  'px solid ' +
                  n +
                  '; }'
              )
          }
          var o = e.getColor(c.inputValidationInfoBackground)
          o &&
            t.addRule(
              '.monaco-editor .monaco-editor-overlaymessage .message { background-color: ' +
                o +
                '; }'
            )
        })
        var f
      }),
      define(d[509], h([
        0,
        1,
        343,
        11,
        3,
        40,
        6,
        19,
        105,
        62,
        12,
        2,
        13,
        32,
        170,
        23,
        14,
        34,
        20,
        36,
        287
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g, m, b, C, w, S) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var E = (function() {
            function e(e, t) {
              var n = this
              ;(this._editor = e),
                (this._markers = null),
                (this._nextIdx = -1),
                (this._toUnbind = []),
                (this._ignoreSelectionChange = !1),
                (this._onCurrentMarkerChanged = new i.Emitter()),
                (this._onMarkerSetChanged = new i.Emitter()),
                this.setMarkers(t),
                this._toUnbind.push(
                  this._editor.onDidDispose(function() {
                    return n.dispose()
                  })
                ),
                this._toUnbind.push(
                  this._editor.onDidChangeCursorPosition(function() {
                    n._ignoreSelectionChange || (n._nextIdx = -1)
                  })
                )
            }
            return (
              Object.defineProperty(e.prototype, 'onCurrentMarkerChanged', {
                get: function() {
                  return this._onCurrentMarkerChanged.event
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(e.prototype, 'onMarkerSetChanged', {
                get: function() {
                  return this._onMarkerSetChanged.event
                },
                enumerable: !0,
                configurable: !0
              }),
              (e.prototype.setMarkers = function(e) {
                ;(this._markers = e || []),
                  this._markers.sort(function(e, t) {
                    return (
                      r.default.compare(e.severity, t.severity) ||
                      d.Range.compareRangesUsingStarts(e, t)
                    )
                  }),
                  (this._nextIdx = -1),
                  this._onMarkerSetChanged.fire(this)
              }),
              (e.prototype.withoutWatchingEditorPosition = function(e) {
                this._ignoreSelectionChange = !0
                try {
                  e()
                } finally {
                  this._ignoreSelectionChange = !1
                }
              }),
              (e.prototype._initIdx = function(e) {
                for (
                  var t = !1, n = this._editor.getPosition(), i = 0;
                  i < this._markers.length;
                  i++
                ) {
                  var o = d.Range.lift(this._markers[i])
                  if (o.isEmpty()) {
                    var r = this._editor
                      .getModel()
                      .getWordAtPosition(o.getStartPosition())
                    r &&
                      (o = new d.Range(
                        o.startLineNumber,
                        r.startColumn,
                        o.startLineNumber,
                        r.endColumn
                      ))
                  }
                  if (
                    o.containsPosition(n) ||
                    n.isBeforeOrEqual(o.getStartPosition())
                  ) {
                    ;(this._nextIdx = i + (e ? 0 : -1)), (t = !0)
                    break
                  }
                }
                t || (this._nextIdx = e ? 0 : this._markers.length - 1),
                  this._nextIdx < 0 &&
                    (this._nextIdx = this._markers.length - 1)
              }),
              (e.prototype.move = function(e) {
                if (this.canNavigate()) {
                  ;-1 === this._nextIdx
                    ? this._initIdx(e)
                    : e
                      ? ((this._nextIdx += 1),
                        this._nextIdx >= this._markers.length &&
                          (this._nextIdx = 0))
                      : ((this._nextIdx -= 1),
                        this._nextIdx < 0 &&
                          (this._nextIdx = this._markers.length - 1))
                  var t = this._markers[this._nextIdx]
                  this._onCurrentMarkerChanged.fire(t)
                } else this._onCurrentMarkerChanged.fire(void 0)
              }),
              (e.prototype.canNavigate = function() {
                return this._markers.length > 0
              }),
              (e.prototype.next = function() {
                this.move(!0)
              }),
              (e.prototype.previous = function() {
                this.move(!1)
              }),
              (e.prototype.findMarkerAtPosition = function(e) {
                for (var t = 0, n = this._markers; t < n.length; t++) {
                  var i = n[t]
                  if (d.Range.containsPosition(i, e)) return i
                }
              }),
              Object.defineProperty(e.prototype, 'total', {
                get: function() {
                  return this._markers.length
                },
                enumerable: !0,
                configurable: !0
              }),
              (e.prototype.indexOf = function(e) {
                return 1 + this._markers.indexOf(e)
              }),
              (e.prototype.reveal = function() {
                var e = this
                ;-1 !== this._nextIdx &&
                  this.withoutWatchingEditorPosition(function() {
                    var t = new c.Position(
                      e._markers[e._nextIdx].startLineNumber,
                      e._markers[e._nextIdx].startColumn
                    )
                    e._editor.setPosition(t),
                      e._editor.revealPositionInCenter(t)
                  })
              }),
              (e.prototype.dispose = function() {
                this._toUnbind = o.dispose(this._toUnbind)
              }),
              e
            )
          })(),
          L = (function() {
            function e(e) {
              ;(this.lines = 0),
                (this.domNode = document.createElement('div')),
                (this.domNode.className = 'block descriptioncontainer'),
                this.domNode.setAttribute('aria-live', 'assertive'),
                this.domNode.setAttribute('role', 'alert'),
                e.appendChild(this.domNode)
            }
            return (
              (e.prototype.update = function(e) {
                var t = this,
                  n = e.source,
                  i = e.message
                if (((this.lines = 1), n)) {
                  var o = new Array(n.length + 3 + 1).join(' ')
                  i =
                    '[' +
                    n +
                    '] ' +
                    i.replace(/\r\n|\r|\n/g, function() {
                      return (t.lines += 1), '\n' + o
                    })
                }
                this.domNode.innerText = i
              }),
              e
            )
          })(),
          x = (function(e) {
            function i(t, n, i) {
              var o =
                e.call(this, t, {
                  showArrow: !0,
                  showFrame: !0,
                  isAccessible: !0
                }) || this
              return (
                (o._model = n),
                (o._themeService = i),
                (o._callOnDispose = []),
                (o._severity = r.default.Warning),
                (o._backgroundColor = C.Color.white),
                o._applyTheme(i.getTheme()),
                o._callOnDispose.push(i.onThemeChange(o._applyTheme.bind(o))),
                o.create(),
                o._wireModelAndView(),
                o
              )
            }
            return (
              f(i, e),
              (i.prototype._applyTheme = function(e) {
                this._backgroundColor = e.getColor(
                  t.editorMarkerNavigationBackground
                )
                var n = e.getColor(
                  this._severity === r.default.Error
                    ? t.editorMarkerNavigationError
                    : t.editorMarkerNavigationWarning
                )
                this.style({ arrowColor: n, frameColor: n })
              }),
              (i.prototype._applyStyles = function() {
                this._parentContainer &&
                  (this._parentContainer.style.backgroundColor = this._backgroundColor.toString()),
                  e.prototype._applyStyles.call(this)
              }),
              (i.prototype.dispose = function() {
                ;(this._callOnDispose = o.dispose(this._callOnDispose)),
                  e.prototype.dispose.call(this)
              }),
              (i.prototype.focus = function() {
                this._parentContainer.focus()
              }),
              (i.prototype._fillContainer = function(e) {
                ;(this._parentContainer = e),
                  s.addClass(e, 'marker-widget'),
                  (this._parentContainer.tabIndex = 0),
                  this._parentContainer.setAttribute('role', 'tooltip'),
                  (this._container = document.createElement('div')),
                  e.appendChild(this._container),
                  (this._title = document.createElement('div')),
                  (this._title.className = 'block title'),
                  this._container.appendChild(this._title),
                  (this._message = new L(this._container)),
                  this.editor.applyFontInfo(this._message.domNode)
              }),
              (i.prototype.show = function(t, n) {
                e.prototype.show.call(this, t, n),
                  1 !== this.editor.getConfiguration().accessibilitySupport &&
                    this.focus()
              }),
              (i.prototype._wireModelAndView = function() {
                this._model.onCurrentMarkerChanged(
                  this.showAtMarker,
                  this,
                  this._callOnDispose
                ),
                  this._model.onMarkerSetChanged(
                    this._onMarkersChanged,
                    this,
                    this._callOnDispose
                  )
              }),
              (i.prototype.showAtMarker = function(e) {
                var t = this
                e &&
                  (this._container.classList.remove('stale'),
                  (this._title.innerHTML = n.localize(
                    0,
                    null,
                    this._model.indexOf(e),
                    this._model.total
                  )),
                  this._message.update(e),
                  this._model.withoutWatchingEditorPosition(function() {
                    ;(t._severity = e.severity),
                      t._applyTheme(t._themeService.getTheme()),
                      t.show(
                        new c.Position(e.startLineNumber, e.startColumn),
                        t.computeRequiredHeight()
                      )
                  }))
              }),
              (i.prototype._onMarkersChanged = function() {
                var e = this._model.findMarkerAtPosition(this.position)
                e
                  ? (this._container.classList.remove('stale'),
                    this._message.update(e))
                  : this._container.classList.add('stale'),
                  this._relayout()
              }),
              (i.prototype._relayout = function() {
                e.prototype._relayout.call(this, this.computeRequiredHeight())
              }),
              (i.prototype.computeRequiredHeight = function() {
                return 1 + this._message.lines
              }),
              i
            )
          })(g.ZoneWidget),
          N = (function(e) {
            function t(t, n) {
              var i = e.call(this, n) || this
              return (i._isNext = t), i
            }
            return (
              f(t, e),
              (t.prototype.run = function(e, t) {
                var n = e.get(l.ITelemetryService),
                  i = M.get(t)
                if (i) {
                  var o = i.getOrCreateModel()
                  n.publicLog(
                    'zoneWidgetShown',
                    _({ mode: 'go to error' }, t.getTelemetryData())
                  ),
                    o && (this._isNext ? o.next() : o.previous(), o.reveal())
                }
              }),
              t
            )
          })(h.EditorAction),
          M = (P = (function() {
            function e(e, t, n, i) {
              ;(this._markerService = t),
                (this._contextKeyService = n),
                (this._themeService = i),
                (this._callOnClose = []),
                (this._editor = e),
                (this._markersNavigationVisible = I.bindTo(
                  this._contextKeyService
                ))
            }
            return (
              (e.get = function(e) {
                return e.getContribution(P.ID)
              }),
              (e.prototype.getId = function() {
                return P.ID
              }),
              (e.prototype.dispose = function() {
                this._cleanUp()
              }),
              (e.prototype._cleanUp = function() {
                this._markersNavigationVisible.reset(),
                  (this._callOnClose = o.dispose(this._callOnClose)),
                  (this._zone = null),
                  (this._model = null)
              }),
              (e.prototype.getOrCreateModel = function() {
                var e = this
                if (this._model) return this._model
                var t = this._getMarkers()
                return (
                  (this._model = new E(this._editor, t)),
                  (this._zone = new x(
                    this._editor,
                    this._model,
                    this._themeService
                  )),
                  this._markersNavigationVisible.set(!0),
                  this._callOnClose.push(this._model),
                  this._callOnClose.push(this._zone),
                  this._callOnClose.push(
                    this._editor.onDidChangeModel(function() {
                      return e._cleanUp()
                    })
                  ),
                  this._model.onCurrentMarkerChanged(
                    function(t) {
                      return !t && e._cleanUp()
                    },
                    void 0,
                    this._callOnClose
                  ),
                  this._markerService.onMarkerChanged(
                    this._onMarkerChanged,
                    this,
                    this._callOnClose
                  ),
                  this._model
                )
              }),
              (e.prototype.closeMarkersNavigation = function() {
                this._cleanUp(), this._editor.focus()
              }),
              (e.prototype._onMarkerChanged = function(e) {
                var t = this
                e.some(function(e) {
                  return t._editor.getModel().uri.toString() === e.toString()
                }) && this._model.setMarkers(this._getMarkers())
              }),
              (e.prototype._getMarkers = function() {
                return this._markerService.read({
                  resource: this._editor.getModel().uri
                })
              }),
              e
            )
          })())
        ;(M.ID = 'editor.contrib.markerController'),
          (M = P = v(
            [
              p.editorContribution,
              y(1, u.IMarkerService),
              y(2, a.IContextKeyService),
              y(3, b.IThemeService)
            ],
            M
          ))
        var T = (function(e) {
          function t() {
            return (
              e.call(this, !0, {
                id: 'editor.action.marker.next',
                label: n.localize(1, null),
                alias: 'Go to Next Error or Warning',
                precondition: w.EditorContextKeys.writable,
                kbOpts: { kbExpr: w.EditorContextKeys.focus, primary: 66 }
              }) || this
            )
          }
          return f(t, e), t
        })(N)
        T = v([h.editorAction], T)
        var k = (function(e) {
          function t() {
            return (
              e.call(this, !1, {
                id: 'editor.action.marker.prev',
                label: n.localize(2, null),
                alias: 'Go to Previous Error or Warning',
                precondition: w.EditorContextKeys.writable,
                kbOpts: { kbExpr: w.EditorContextKeys.focus, primary: 1090 }
              }) || this
            )
          }
          return f(t, e), t
        })(N)
        k = v([h.editorAction], k)
        var I = new a.RawContextKey('markersNavigationVisible', !1),
          D = h.EditorCommand.bindToContribution(M.get)
        h.CommonEditorRegistry.registerEditorCommand(
          new D({
            id: 'closeMarkersNavigation',
            precondition: I,
            handler: function(e) {
              return e.closeMarkersNavigation()
            },
            kbOpts: {
              weight: h.CommonEditorRegistry.commandWeight(50),
              kbExpr: w.EditorContextKeys.focus,
              primary: 9,
              secondary: [1033]
            }
          })
        )
        var O = m.oneOf(S.editorErrorForeground, S.editorErrorBorder),
          R = m.oneOf(S.editorWarningForeground, S.editorWarningBorder)
        ;(t.editorMarkerNavigationError = m.registerColor(
          'editorMarkerNavigationError.background',
          { dark: O, light: O, hc: O },
          n.localize(3, null)
        )),
          (t.editorMarkerNavigationWarning = m.registerColor(
            'editorMarkerNavigationWarning.background',
            { dark: R, light: R, hc: R },
            n.localize(4, null)
          )),
          (t.editorMarkerNavigationBackground = m.registerColor(
            'editorMarkerNavigation.background',
            { dark: '#2D2D30', light: C.Color.white, hc: '#0C141F' },
            n.localize(5, null)
          ))
        var P
      }),
      define(d[510], h([
        0,
        1,
        344,
        39,
        15,
        67,
        89,
        2,
        13,
        25,
        32,
        453,
        415,
        3,
        14,
        23,
        20,
        285
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g, m, _) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var b = (w = (function() {
          function e(e, t, n) {
            var i = this
            ;(this._editor = e),
              (this._toUnhook = []),
              e.getConfiguration().contribInfo.hover &&
                (this._toUnhook.push(
                  this._editor.onMouseDown(function(e) {
                    return i._onEditorMouseDown(e)
                  })
                ),
                this._toUnhook.push(
                  this._editor.onMouseMove(function(e) {
                    return i._onEditorMouseMove(e)
                  })
                ),
                this._toUnhook.push(
                  this._editor.onMouseLeave(function(e) {
                    return i._hideWidgets()
                  })
                ),
                this._toUnhook.push(
                  this._editor.onKeyDown(function(e) {
                    return i._onKeyDown(e)
                  })
                ),
                this._toUnhook.push(
                  this._editor.onDidChangeModel(function() {
                    return i._hideWidgets()
                  })
                ),
                this._toUnhook.push(
                  this._editor.onDidChangeModelDecorations(function() {
                    return i._onModelDecorationsChanged()
                  })
                ),
                this._toUnhook.push(
                  this._editor.onDidScrollChange(function(e) {
                    ;(e.scrollTopChanged || e.scrollLeftChanged) &&
                      i._hideWidgets()
                  })
                ),
                (this._contentWidget = new d.ModesContentHoverWidget(e, t, n)),
                (this._glyphWidget = new h.ModesGlyphHoverWidget(e, t, n)))
          }
          return (
            (e.get = function(e) {
              return e.getContribution(w.ID)
            }),
            (e.prototype._onModelDecorationsChanged = function() {
              this._contentWidget.onModelDecorationsChanged(),
                this._glyphWidget.onModelDecorationsChanged()
            }),
            (e.prototype._onEditorMouseDown = function(e) {
              var t = e.target.type
              ;(t === l.MouseTargetType.CONTENT_WIDGET &&
                e.target.detail === d.ModesContentHoverWidget.ID) ||
                (t === l.MouseTargetType.OVERLAY_WIDGET &&
                  e.target.detail === h.ModesGlyphHoverWidget.ID) ||
                this._hideWidgets()
            }),
            (e.prototype._onEditorMouseMove = function(e) {
              var t = e.target.type,
                n = o.isMacintosh ? 'metaKey' : 'ctrlKey'
              ;(t !== l.MouseTargetType.CONTENT_WIDGET ||
                e.target.detail !== d.ModesContentHoverWidget.ID ||
                e.event[n]) &&
                (t !== l.MouseTargetType.OVERLAY_WIDGET ||
                  e.target.detail !== h.ModesGlyphHoverWidget.ID ||
                  e.event[n]) &&
                (this._editor.getConfiguration().contribInfo.hover &&
                t === l.MouseTargetType.CONTENT_TEXT
                  ? (this._glyphWidget.hide(),
                    this._contentWidget.startShowingAt(e.target.range, !1))
                  : t === l.MouseTargetType.GUTTER_GLYPH_MARGIN
                    ? (this._contentWidget.hide(),
                      this._glyphWidget.startShowingAt(
                        e.target.position.lineNumber
                      ))
                    : this._hideWidgets())
            }),
            (e.prototype._onKeyDown = function(e) {
              5 !== e.keyCode &&
                6 !== e.keyCode &&
                57 !== e.keyCode &&
                this._hideWidgets()
            }),
            (e.prototype._hideWidgets = function() {
              this._glyphWidget.hide(), this._contentWidget.hide()
            }),
            (e.prototype.showContentHover = function(e, t) {
              this._contentWidget.startShowingAt(e, t)
            }),
            (e.prototype.getId = function() {
              return w.ID
            }),
            (e.prototype.dispose = function() {
              ;(this._toUnhook = p.dispose(this._toUnhook)),
                this._glyphWidget &&
                  (this._glyphWidget.dispose(), (this._glyphWidget = null)),
                this._contentWidget &&
                  (this._contentWidget.dispose(), (this._contentWidget = null))
            }),
            e
          )
        })())
        ;(b.ID = 'editor.contrib.hover'),
          (b = w = v(
            [
              c.editorContribution,
              y(1, r.IOpenerService),
              y(2, s.IModeService)
            ],
            b
          )),
          (t.ModesHoverController = b)
        var C = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.showHover',
                label: n.localize(0, null),
                alias: 'Show Hover',
                precondition: null,
                kbOpts: {
                  kbExpr: _.EditorContextKeys.textFocus,
                  primary: i.KeyChord(2089, 2087)
                }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = b.get(t)
              if (n) {
                var i = t.getPosition(),
                  o = new a.Range(
                    i.lineNumber,
                    i.column,
                    i.lineNumber,
                    i.column
                  )
                n.showContentHover(o, !0)
              }
            }),
            t
          )
        })(u.EditorAction)
        ;(C = v([u.editorAction], C)),
          g.registerThemingParticipant(function(e, t) {
            var n = e.getColor(m.editorHoverHighlight)
            n &&
              t.addRule(
                '.monaco-editor .hoverHighlight { background-color: ' +
                  n +
                  '; }'
              )
            var i = e.getColor(m.editorHoverBackground)
            i &&
              t.addRule(
                '.monaco-editor .monaco-editor-hover { background-color: ' +
                  i +
                  '; }'
              )
            var o = e.getColor(m.editorHoverBorder)
            o &&
              (t.addRule(
                '.monaco-editor .monaco-editor-hover { border: 1px solid ' +
                  o +
                  '; }'
              ),
              t.addRule(
                '.monaco-editor .monaco-editor-hover .hover-row:not(:first-child):not(:empty) { border-top: 1px solid ' +
                  o.transparent(0.5) +
                  '; }'
              ))
            var r = e.getColor(m.textLinkForeground)
            r &&
              t.addRule(
                '.monaco-editor .monaco-editor-hover a { color: ' + r + '; }'
              )
            var s = e.getColor(m.textCodeBlockBackground)
            s &&
              t.addRule(
                '.monaco-editor .monaco-editor-hover code { background-color: ' +
                  s +
                  '; }'
              )
          })
        var w
      }),
      define(d[511], h([
        0,
        1,
        346,
        8,
        2,
        22,
        20,
        13,
        63,
        253,
        112,
        14,
        36,
        33
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var g = (b = (function() {
          function e(e, t) {
            ;(this.editor = e),
              (this.editorWorkerService = t),
              (this.requestIdPool = 0),
              (this.currentRequest = i.TPromise.as(null)),
              (this.decorationRemover = i.TPromise.as(null)),
              (this.decorationIds = [])
          }
          return (
            (e.get = function(e) {
              return e.getContribution(b.ID)
            }),
            (e.prototype.dispose = function() {}),
            (e.prototype.getId = function() {
              return b.ID
            }),
            (e.prototype.run = function(e, t) {
              var n = this
              this.currentRequest.cancel()
              var s = this.editor.getSelection(),
                a = this.editor.getModel().uri
              if (s.startLineNumber !== s.endLineNumber) return null
              var u = new c.EditorState(this.editor, 5)
              return (
                (this.currentRequest = this.editorWorkerService.navigateValueSet(
                  a,
                  s,
                  t
                )),
                (this.currentRequest = this.currentRequest.then(function(e) {
                  return e && e.range && e.value ? e : null
                })),
                this.currentRequest.then(function(t) {
                  if (t && t.range && t.value && u.validate(n.editor)) {
                    var a = o.Range.lift(t.range),
                      c = t.range,
                      d = t.value.length - (s.endColumn - s.startColumn)
                    ;(c = {
                      startLineNumber: c.startLineNumber,
                      startColumn: c.startColumn,
                      endLineNumber: c.endLineNumber,
                      endColumn: c.startColumn + t.value.length
                    }),
                      d > 1 &&
                        (s = new r.Selection(
                          s.startLineNumber,
                          s.startColumn,
                          s.endLineNumber,
                          s.endColumn + d - 1
                        ))
                    var h = new l.InPlaceReplaceCommand(a, s, t.value)
                    n.editor.pushUndoStop(),
                      n.editor.executeCommand(e, h),
                      n.editor.pushUndoStop(),
                      (n.decorationIds = n.editor.deltaDecorations(
                        n.decorationIds,
                        [{ range: c, options: b.DECORATION }]
                      )),
                      n.decorationRemover.cancel(),
                      (n.decorationRemover = i.TPromise.timeout(350)),
                      n.decorationRemover.then(function() {
                        n.editor.changeDecorations(function(e) {
                          n.decorationIds = e.deltaDecorations(
                            n.decorationIds,
                            []
                          )
                        })
                      })
                  }
                })
              )
            }),
            e
          )
        })())
        ;(g.ID = 'editor.contrib.inPlaceReplaceController'),
          (g.DECORATION = p.ModelDecorationOptions.register({
            className: 'valueSetReplacement'
          })),
          (g = b = v(
            [a.commonEditorContribution, y(1, u.IEditorWorkerService)],
            g
          ))
        var m = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.inPlaceReplace.up',
                label: n.localize(0, null),
                alias: 'Replace with Previous Value',
                precondition: s.EditorContextKeys.writable,
                kbOpts: { kbExpr: s.EditorContextKeys.textFocus, primary: 3154 }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = g.get(t)
              if (n) return n.run(this.id, !0)
            }),
            t
          )
        })(a.EditorAction)
        m = v([a.editorAction], m)
        var _ = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.inPlaceReplace.down',
                label: n.localize(1, null),
                alias: 'Replace with Next Value',
                precondition: s.EditorContextKeys.writable,
                kbOpts: { kbExpr: s.EditorContextKeys.textFocus, primary: 3156 }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = g.get(t)
              if (n) return n.run(this.id, !1)
            }),
            t
          )
        })(a.EditorAction)
        ;(_ = v([a.editorAction], _)),
          d.registerThemingParticipant(function(e, t) {
            var n = e.getColor(h.editorBracketMatchBorder)
            n &&
              t.addRule(
                '.monaco-editor.vs .valueSetReplacement { outline: solid 2px ' +
                  n +
                  '; }'
              )
          })
        var b
      }),
      define(d[512], h([
        0,
        1,
        348,
        10,
        15,
        40,
        8,
        66,
        67,
        21,
        13,
        17,
        63,
        25,
        391,
        3,
        32,
        14,
        23,
        33,
        150,
        282
      ]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c,
        d,
        h,
        p,
        g,
        m,
        _,
        b,
        C,
        w,
        S
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var E = o.isMacintosh ? n.localize(0, null) : n.localize(1, null),
          L = n.localize(2, null),
          x = {
            meta: w.ModelDecorationOptions.register({
              stickiness: l.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
              inlineClassName: 'detected-link',
              hoverMessage: E
            }),
            metaActive: w.ModelDecorationOptions.register({
              stickiness: l.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
              inlineClassName: 'detected-link-active',
              hoverMessage: E
            }),
            alt: w.ModelDecorationOptions.register({
              stickiness: l.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
              inlineClassName: 'detected-link',
              hoverMessage: L
            }),
            altActive: w.ModelDecorationOptions.register({
              stickiness: l.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
              inlineClassName: 'detected-link-active',
              hoverMessage: L
            })
          },
          N = (function() {
            function e(e, t) {
              ;(this.link = e), (this.decorationId = t)
            }
            return (
              (e.decoration = function(t, n) {
                return {
                  range: {
                    startLineNumber: t.range.startLineNumber,
                    startColumn: t.range.startColumn,
                    endLineNumber: t.range.endLineNumber,
                    endColumn: t.range.endColumn
                  },
                  options: e._getOptions(n, !1)
                }
              }),
              (e._getOptions = function(e, t) {
                return e ? (t ? x.metaActive : x.meta) : t ? x.altActive : x.alt
              }),
              (e.prototype.activate = function(t, n) {
                t.changeDecorationOptions(
                  this.decorationId,
                  e._getOptions(n, !0)
                )
              }),
              (e.prototype.deactivate = function(t, n) {
                t.changeDecorationOptions(
                  this.decorationId,
                  e._getOptions(n, !1)
                )
              }),
              e
            )
          })(),
          M = (k = (function() {
            function e(e, t, n, i) {
              var o = this
              ;(this.editor = e),
                (this.openerService = t),
                (this.messageService = n),
                (this.editorWorkerService = i),
                (this.listenersToRemove = [])
              var r = new S.ClickLinkGesture(e)
              this.listenersToRemove.push(r),
                this.listenersToRemove.push(
                  r.onMouseMoveOrRelevantKeyDown(function(e) {
                    var t = e[0],
                      n = e[1]
                    o._onEditorMouseMove(t, n)
                  })
                ),
                this.listenersToRemove.push(
                  r.onExecute(function(e) {
                    o.onEditorMouseUp(e)
                  })
                ),
                this.listenersToRemove.push(
                  r.onCancel(function(e) {
                    o.cleanUpActiveLinkDecoration()
                  })
                ),
                (this.enabled = e.getConfiguration().contribInfo.links),
                this.listenersToRemove.push(
                  e.onDidChangeConfiguration(function(t) {
                    var n = e.getConfiguration().contribInfo.links
                    o.enabled !== n &&
                      ((o.enabled = n),
                      o.updateDecorations([]),
                      o.stop(),
                      o.beginCompute())
                  })
                ),
                this.listenersToRemove.push(
                  e.onDidChangeModelContent(function(e) {
                    return o.onChange()
                  })
                ),
                this.listenersToRemove.push(
                  e.onDidChangeModel(function(e) {
                    return o.onModelChanged()
                  })
                ),
                this.listenersToRemove.push(
                  e.onDidChangeModelLanguage(function(e) {
                    return o.onModelModeChanged()
                  })
                ),
                this.listenersToRemove.push(
                  d.LinkProviderRegistry.onDidChange(function(e) {
                    return o.onModelModeChanged()
                  })
                ),
                (this.timeoutPromise = null),
                (this.computePromise = null),
                (this.currentOccurrences = {}),
                (this.activeLinkDecorationId = null),
                this.beginCompute()
            }
            return (
              (e.get = function(e) {
                return e.getContribution(k.ID)
              }),
              (e.prototype.getId = function() {
                return k.ID
              }),
              (e.prototype.isComputing = function() {
                return s.TPromise.is(this.computePromise)
              }),
              (e.prototype.onModelChanged = function() {
                ;(this.currentOccurrences = {}),
                  (this.activeLinkDecorationId = null),
                  this.stop(),
                  this.beginCompute()
              }),
              (e.prototype.onModelModeChanged = function() {
                this.stop(), this.beginCompute()
              }),
              (e.prototype.onChange = function() {
                var e = this
                this.timeoutPromise ||
                  ((this.timeoutPromise = s.TPromise.timeout(k.RECOMPUTE_TIME)),
                  this.timeoutPromise.then(function() {
                    ;(e.timeoutPromise = null), e.beginCompute()
                  }))
              }),
              (e.prototype.beginCompute = function() {
                var e = this
                this.editor.getModel() &&
                  this.enabled &&
                  d.LinkProviderRegistry.has(this.editor.getModel()) &&
                  (this.computePromise = g
                    .getLinks(this.editor.getModel())
                    .then(function(t) {
                      e.updateDecorations(t), (e.computePromise = null)
                    }))
              }),
              (e.prototype.updateDecorations = function(e) {
                var t = this,
                  n =
                    'altKey' ===
                    this.editor.getConfiguration().multiCursorModifier
                this.editor.changeDecorations(function(i) {
                  for (
                    var o = [],
                      r = Object.keys(t.currentOccurrences),
                      s = 0,
                      a = r.length;
                    s < a;
                    s++
                  ) {
                    var u = r[s],
                      l = t.currentOccurrences[u]
                    o.push(l.decorationId)
                  }
                  var c = []
                  if (e)
                    for (var d = 0; d < e.length; d++)
                      c.push(N.decoration(e[d], n))
                  var h = i.deltaDecorations(o, c)
                  ;(t.currentOccurrences = {}),
                    (t.activeLinkDecorationId = null)
                  for (var p = 0, a = h.length; p < a; p++) {
                    var f = new N(e[p], h[p])
                    t.currentOccurrences[f.decorationId] = f
                  }
                })
              }),
              (e.prototype._onEditorMouseMove = function(e, t) {
                var n = this,
                  i =
                    'altKey' ===
                    this.editor.getConfiguration().multiCursorModifier
                if (this.isEnabled(e, t)) {
                  this.cleanUpActiveLinkDecoration()
                  var o = this.getLinkOccurrence(e.target.position)
                  o &&
                    this.editor.changeDecorations(function(e) {
                      o.activate(e, i),
                        (n.activeLinkDecorationId = o.decorationId)
                    })
                } else this.cleanUpActiveLinkDecoration()
              }),
              (e.prototype.cleanUpActiveLinkDecoration = function() {
                var e =
                  'altKey' ===
                  this.editor.getConfiguration().multiCursorModifier
                if (this.activeLinkDecorationId) {
                  var t = this.currentOccurrences[this.activeLinkDecorationId]
                  t &&
                    this.editor.changeDecorations(function(n) {
                      t.deactivate(n, e)
                    }),
                    (this.activeLinkDecorationId = null)
                }
              }),
              (e.prototype.onEditorMouseUp = function(e) {
                if (this.isEnabled(e)) {
                  var t = this.getLinkOccurrence(e.target.position)
                  t && this.openLinkOccurrence(t, e.hasSideBySideModifier)
                }
              }),
              (e.prototype.openLinkOccurrence = function(e, t) {
                var o = this
                if (this.openerService) {
                  var s = e.link
                  s.resolve()
                    .then(
                      function(e) {
                        return o.openerService.open(e, { openToSide: t })
                      },
                      function(e) {
                        'invalid' === e
                          ? o.messageService.show(
                              r.default.Warning,
                              n.localize(3, null, s.url)
                            )
                          : 'missing' === e
                            ? o.messageService.show(
                                r.default.Warning,
                                n.localize(4, null)
                              )
                            : i.onUnexpectedError(e)
                      }
                    )
                    .done(null, i.onUnexpectedError)
                }
              }),
              (e.prototype.getLinkOccurrence = function(e) {
                for (
                  var t = this.editor
                      .getModel()
                      .getDecorationsInRange(
                        {
                          startLineNumber: e.lineNumber,
                          startColumn: e.column,
                          endLineNumber: e.lineNumber,
                          endColumn: e.column
                        },
                        0,
                        !0
                      ),
                    n = 0;
                  n < t.length;
                  n++
                ) {
                  var i = t[n],
                    o = this.currentOccurrences[i.id]
                  if (o) return o
                }
                return null
              }),
              (e.prototype.isEnabled = function(e, t) {
                return (
                  e.target.type === p.MouseTargetType.CONTENT_TEXT &&
                  (e.hasTriggerModifier || (t && t.keyCodeIsTriggerKey))
                )
              }),
              (e.prototype.stop = function() {
                this.timeoutPromise &&
                  (this.timeoutPromise.cancel(), (this.timeoutPromise = null)),
                  this.computePromise &&
                    (this.computePromise.cancel(), (this.computePromise = null))
              }),
              (e.prototype.dispose = function() {
                ;(this.listenersToRemove = m.dispose(this.listenersToRemove)),
                  this.stop()
              }),
              e
            )
          })())
        ;(M.ID = 'editor.linkDetector'),
          (M.RECOMPUTE_TIME = 1e3),
          (M = k = v(
            [
              _.editorContribution,
              y(1, u.IOpenerService),
              y(2, a.IMessageService),
              y(3, h.IEditorWorkerService)
            ],
            M
          ))
        var T = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.openLink',
                label: n.localize(5, null),
                alias: 'Open Link',
                precondition: null
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = M.get(t)
              if (n) {
                var i = n.getLinkOccurrence(t.getPosition())
                i && n.openLinkOccurrence(i, !1)
              }
            }),
            t
          )
        })(c.EditorAction)
        ;(T = v([c.editorAction], T)),
          b.registerThemingParticipant(function(e, t) {
            var n = e.getColor(C.editorActiveLinkForeground)
            n &&
              t.addRule(
                '.monaco-editor .detected-link-active { color: ' +
                  n +
                  ' !important; }'
              )
          })
        var k
      }),
      define(d[513], h([
        0,
        1,
        351,
        3,
        8,
        6,
        48,
        17,
        25,
        18,
        10,
        11,
        117,
        19,
        199,
        61,
        82,
        14,
        23,
        279
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g, m, _, b, C) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var w = r.$,
          S = (function(e) {
            function t(n) {
              var i = e.call(this) || this
              return (
                (i._onHint = i._register(new d.Emitter())),
                (i.onHint = i._onHint.event),
                (i._onCancel = i._register(new d.Emitter())),
                (i.onCancel = i._onCancel.event),
                (i.editor = n),
                (i.enabled = !1),
                (i.triggerCharactersListeners = []),
                (i.throttledDelayer = new l.RunOnceScheduler(function() {
                  return i.doTrigger()
                }, t.DELAY)),
                (i.active = !1),
                i._register(
                  i.editor.onDidChangeConfiguration(function() {
                    return i.onEditorConfigurationChange()
                  })
                ),
                i._register(
                  i.editor.onDidChangeModel(function(e) {
                    return i.onModelChanged()
                  })
                ),
                i._register(
                  i.editor.onDidChangeModelLanguage(function(e) {
                    return i.onModelChanged()
                  })
                ),
                i._register(
                  i.editor.onDidChangeCursorSelection(function(e) {
                    return i.onCursorChange(e)
                  })
                ),
                i._register(
                  a.SignatureHelpProviderRegistry.onDidChange(
                    i.onModelChanged,
                    i
                  )
                ),
                i.onEditorConfigurationChange(),
                i.onModelChanged(),
                i
              )
            }
            return (
              f(t, e),
              (t.prototype.cancel = function(e) {
                void 0 === e && (e = !1),
                  (this.active = !1),
                  this.throttledDelayer.cancel(),
                  e || this._onCancel.fire(void 0)
              }),
              (t.prototype.trigger = function(e) {
                if (
                  (void 0 === e && (e = t.DELAY),
                  a.SignatureHelpProviderRegistry.has(this.editor.getModel()))
                )
                  return this.cancel(!0), this.throttledDelayer.schedule(e)
              }),
              (t.prototype.doTrigger = function() {
                var e = this
                g.provideSignatureHelp(
                  this.editor.getModel(),
                  this.editor.getPosition()
                )
                  .then(null, c.onUnexpectedError)
                  .then(function(t) {
                    if (!t || !t.signatures || 0 === t.signatures.length)
                      return e.cancel(), e._onCancel.fire(void 0), !1
                    e.active = !0
                    var n = { hints: t }
                    return e._onHint.fire(n), !0
                  })
              }),
              (t.prototype.isTriggered = function() {
                return this.active || this.throttledDelayer.isScheduled()
              }),
              (t.prototype.onModelChanged = function() {
                var e = this
                this.active && this.cancel(),
                  (this.triggerCharactersListeners = i.dispose(
                    this.triggerCharactersListeners
                  ))
                var t = this.editor.getModel()
                if (t) {
                  for (
                    var n = new _.CharacterSet(),
                      o = 0,
                      r = a.SignatureHelpProviderRegistry.ordered(t);
                    o < r.length;
                    o++
                  ) {
                    var s = r[o]
                    if (Array.isArray(s.signatureHelpTriggerCharacters))
                      for (
                        var u = 0, l = s.signatureHelpTriggerCharacters;
                        u < l.length;
                        u++
                      ) {
                        var c = l[u]
                        n.add(c.charCodeAt(0))
                      }
                  }
                  this.triggerCharactersListeners.push(
                    this.editor.onDidType(function(t) {
                      e.enabled &&
                        n.has(t.charCodeAt(t.length - 1)) &&
                        e.trigger()
                    })
                  )
                }
              }),
              (t.prototype.onCursorChange = function(e) {
                'mouse' === e.source
                  ? this.cancel()
                  : this.isTriggered() && this.trigger()
              }),
              (t.prototype.onEditorConfigurationChange = function() {
                ;(this.enabled = this.editor.getConfiguration().contribInfo.parameterHints),
                  this.enabled || this.cancel()
              }),
              (t.prototype.dispose = function() {
                this.cancel(!0),
                  (this.triggerCharactersListeners = i.dispose(
                    this.triggerCharactersListeners
                  )),
                  e.prototype.dispose.call(this)
              }),
              t
            )
          })(i.Disposable)
        ;(S.DELAY = 120), (t.ParameterHintsModel = S)
        var E = (function() {
          function e(e, t) {
            var n = this
            ;(this.editor = e),
              (this.allowEditorOverflow = !0),
              (this.model = new S(e)),
              (this.keyVisible = g.Context.Visible.bindTo(t)),
              (this.keyMultipleSignatures = g.Context.MultipleSignatures.bindTo(
                t
              )),
              (this.visible = !1),
              (this.disposables = []),
              this.disposables.push(
                this.model.onHint(function(e) {
                  n.show(),
                    (n.hints = e.hints),
                    (n.currentSignature = e.hints.activeSignature),
                    n.render()
                })
              ),
              this.disposables.push(
                this.model.onCancel(function() {
                  n.hide()
                })
              ),
              (this.element = w('.editor-widget.parameter-hints-widget'))
            var i = r.append(this.element, w('.wrapper'))
            h.stop(h.domEvent(this.element, 'click'))(
              this.next,
              this,
              this.disposables
            )
            var o = r.append(i, w('.buttons')),
              s = r.append(o, w('.button.previous')),
              a = r.append(o, w('.button.next'))
            h.stop(h.domEvent(s, 'click'))(
              this.previous,
              this,
              this.disposables
            ),
              h.stop(h.domEvent(a, 'click'))(this.next, this, this.disposables),
              (this.overloads = r.append(i, w('.overloads')))
            var u = w('.body')
            ;(this.scrollbar = new m.DomScrollableElement(u, {})),
              this.disposables.push(this.scrollbar),
              i.appendChild(this.scrollbar.getDomNode()),
              (this.signature = r.append(u, w('.signature'))),
              (this.docs = r.append(u, w('.docs'))),
              (this.currentSignature = 0),
              this.editor.addContentWidget(this),
              this.hide(),
              this.disposables.push(
                this.editor.onDidChangeCursorSelection(function(e) {
                  n.visible && n.editor.layoutContentWidget(n)
                })
              )
            var l = function() {
              var e = n.editor.getConfiguration().fontInfo
              n.element.style.fontSize = e.fontSize + 'px'
            }
            l(),
              d
                .chain(this.editor.onDidChangeConfiguration.bind(this.editor))
                .filter(function(e) {
                  return e.fontInfo
                })
                .on(l, null, this.disposables),
              this.disposables.push(
                this.editor.onDidLayoutChange(function(e) {
                  return n.updateMaxHeight()
                })
              ),
              this.updateMaxHeight()
          }
          return (
            (e.prototype.show = function() {
              var e = this
              this.model &&
                !this.visible &&
                (this.keyVisible.set(!0),
                (this.visible = !0),
                o.TPromise.timeout(100).done(function() {
                  return r.addClass(e.element, 'visible')
                }),
                this.editor.layoutContentWidget(this))
            }),
            (e.prototype.hide = function() {
              this.model &&
                this.visible &&
                (this.keyVisible.reset(),
                (this.visible = !1),
                (this.hints = null),
                (this.announcedLabel = null),
                r.removeClass(this.element, 'visible'),
                this.editor.layoutContentWidget(this))
            }),
            (e.prototype.getPosition = function() {
              return this.visible
                ? {
                    position: this.editor.getPosition(),
                    preference: [
                      u.ContentWidgetPositionPreference.ABOVE,
                      u.ContentWidgetPositionPreference.BELOW
                    ]
                  }
                : null
            }),
            (e.prototype.render = function() {
              var e = this.hints.signatures.length > 1
              r.toggleClass(this.element, 'multiple', e),
                this.keyMultipleSignatures.set(e),
                (this.signature.innerHTML = ''),
                (this.docs.innerHTML = '')
              var t = this.hints.signatures[this.currentSignature]
              if (t) {
                var i = r.append(this.signature, w('.code')),
                  o = t.parameters.length > 0,
                  a = this.editor.getConfiguration().fontInfo
                ;(i.style.fontSize = a.fontSize + 'px'),
                  (i.style.fontFamily = a.fontFamily),
                  o
                    ? this.renderParameters(i, t, this.hints.activeParameter)
                    : (r.append(i, w('span')).textContent = t.label)
                var u = t.parameters[this.hints.activeParameter]
                if (u && u.documentation) {
                  var l = w('span.documentation')
                  ;(l.textContent = u.documentation),
                    r.append(this.docs, w('p', null, l))
                }
                r.toggleClass(this.signature, 'has-docs', !!t.documentation),
                  t.documentation &&
                    r.append(this.docs, w('p', null, t.documentation))
                var c = String(this.currentSignature + 1)
                if (
                  (this.hints.signatures.length < 10 &&
                    (c += '/' + this.hints.signatures.length),
                  (this.overloads.textContent = c),
                  u)
                ) {
                  var d = u.label
                  this.announcedLabel !== d &&
                    (s.alert(n.localize(0, null, d)), (this.announcedLabel = d))
                }
                this.editor.layoutContentWidget(this),
                  this.scrollbar.scanDomNode()
              }
            }),
            (e.prototype.renderParameters = function(e, t, n) {
              for (
                var i, o = t.label.length, s = 0, a = t.parameters.length - 1;
                a >= 0;
                a--
              ) {
                var u = t.parameters[a],
                  l = 0,
                  c = 0
                ;(s = t.label.lastIndexOf(u.label, o - 1)) >= 0 &&
                  ((l = s), (c = s + u.label.length)),
                  ((i = document.createElement(
                    'span'
                  )).textContent = t.label.substring(c, o)),
                  r.prepend(e, i),
                  ((i = document.createElement('span')).className =
                    'parameter ' + (a === n ? 'active' : '')),
                  (i.textContent = t.label.substring(l, c)),
                  r.prepend(e, i),
                  (o = l)
              }
              ;((i = document.createElement(
                'span'
              )).textContent = t.label.substring(0, o)),
                r.prepend(e, i)
            }),
            (e.prototype.next = function() {
              var e = this.hints.signatures.length
              return e < 2
                ? (this.cancel(), !1)
                : ((this.currentSignature = (this.currentSignature + 1) % e),
                  this.render(),
                  !0)
            }),
            (e.prototype.previous = function() {
              var e = this.hints.signatures.length
              return e < 2
                ? (this.cancel(), !1)
                : ((this.currentSignature =
                    (this.currentSignature - 1 + e) % e),
                  this.render(),
                  !0)
            }),
            (e.prototype.cancel = function() {
              this.model.cancel()
            }),
            (e.prototype.getDomNode = function() {
              return this.element
            }),
            (e.prototype.getId = function() {
              return e.ID
            }),
            (e.prototype.trigger = function() {
              this.model.trigger(0)
            }),
            (e.prototype.updateMaxHeight = function() {
              var e = Math.max(this.editor.getLayoutInfo().height / 4, 250)
              this.element.style.maxHeight = e + 'px'
            }),
            (e.prototype.dispose = function() {
              ;(this.disposables = i.dispose(this.disposables)),
                (this.model = null)
            }),
            e
          )
        })()
        ;(E.ID = 'editor.widget.parameterHintsWidget'),
          (E = v([y(1, p.IContextKeyService)], E)),
          (t.ParameterHintsWidget = E),
          b.registerThemingParticipant(function(e, t) {
            var n = e.getColor(C.editorHoverBorder)
            if (n) {
              var i = e.type === b.HIGH_CONTRAST ? 2 : 1
              t.addRule(
                '.monaco-editor .parameter-hints-widget { border: ' +
                  i +
                  'px solid ' +
                  n +
                  '; }'
              ),
                t.addRule(
                  '.monaco-editor .parameter-hints-widget.multiple .body { border-left: 1px solid ' +
                    n.transparent(0.5) +
                    '; }'
                ),
                t.addRule(
                  '.monaco-editor .parameter-hints-widget .signature.has-docs { border-bottom: 1px solid ' +
                    n.transparent(0.5) +
                    '; }'
                )
            }
            var o = e.getColor(C.editorHoverBackground)
            o &&
              t.addRule(
                '.monaco-editor .parameter-hints-widget { background-color: ' +
                  o +
                  '; }'
              )
          })
      }),
      define(d[514], h([0, 1, 350, 3, 16, 20, 19, 13, 32, 513, 199]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var d = (m = (function() {
          function e(e, t) {
            ;(this.editor = e),
              (this.widget = t.createInstance(
                l.ParameterHintsWidget,
                this.editor
              ))
          }
          return (
            (e.get = function(e) {
              return e.getContribution(m.ID)
            }),
            (e.prototype.getId = function() {
              return m.ID
            }),
            (e.prototype.cancel = function() {
              this.widget.cancel()
            }),
            (e.prototype.previous = function() {
              this.widget.previous()
            }),
            (e.prototype.next = function() {
              this.widget.next()
            }),
            (e.prototype.trigger = function() {
              this.widget.trigger()
            }),
            (e.prototype.dispose = function() {
              this.widget = i.dispose(this.widget)
            }),
            e
          )
        })())
        ;(d.ID = 'editor.controller.parameterHints'),
          (d = m = v([u.editorContribution, y(1, o.IInstantiationService)], d))
        var h = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.triggerParameterHints',
                label: n.localize(0, null),
                alias: 'Trigger Parameter Hints',
                precondition: r.EditorContextKeys.hasSignatureHelpProvider,
                kbOpts: { kbExpr: r.EditorContextKeys.textFocus, primary: 3082 }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = d.get(t)
              n && n.trigger()
            }),
            t
          )
        })(a.EditorAction)
        ;(h = v([a.editorAction], h)), (t.TriggerParameterHintsAction = h)
        var p = a.CommonEditorRegistry.commandWeight(75),
          g = a.EditorCommand.bindToContribution(d.get)
        a.CommonEditorRegistry.registerEditorCommand(
          new g({
            id: 'closeParameterHints',
            precondition: c.Context.Visible,
            handler: function(e) {
              return e.cancel()
            },
            kbOpts: {
              weight: p,
              kbExpr: r.EditorContextKeys.textFocus,
              primary: 9,
              secondary: [1033]
            }
          })
        ),
          a.CommonEditorRegistry.registerEditorCommand(
            new g({
              id: 'showPrevParameterHint',
              precondition: s.ContextKeyExpr.and(
                c.Context.Visible,
                c.Context.MultipleSignatures
              ),
              handler: function(e) {
                return e.previous()
              },
              kbOpts: {
                weight: p,
                kbExpr: r.EditorContextKeys.textFocus,
                primary: 16,
                secondary: [528],
                mac: { primary: 16, secondary: [528, 302] }
              }
            })
          ),
          a.CommonEditorRegistry.registerEditorCommand(
            new g({
              id: 'showNextParameterHint',
              precondition: s.ContextKeyExpr.and(
                c.Context.Visible,
                c.Context.MultipleSignatures
              ),
              handler: function(e) {
                return e.next()
              },
              kbOpts: {
                weight: p,
                kbExpr: r.EditorContextKeys.textFocus,
                primary: 18,
                secondary: [530],
                mac: { primary: 18, secondary: [530, 300] }
              }
            })
          )
        var m
      }),
      define(d[515], h([0, 1, 359, 10, 3, 8, 2, 25, 14, 23, 12, 271]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var d = (function() {
          function e(e, t) {
            var n = this
            ;(this.themeService = t),
              (this._disposables = []),
              (this.allowEditorOverflow = !0),
              (this._currentAcceptInput = null),
              (this._currentCancelInput = null),
              (this._editor = e),
              this._editor.addContentWidget(this),
              this._disposables.push(
                e.onDidChangeConfiguration(function(e) {
                  e.fontInfo && n.updateFont()
                })
              ),
              this._disposables.push(
                t.onThemeChange(function(e) {
                  return n.onThemeChange(e)
                })
              )
          }
          return (
            (e.prototype.onThemeChange = function(e) {
              this.updateStyles(e)
            }),
            (e.prototype.dispose = function() {
              ;(this._disposables = o.dispose(this._disposables)),
                this._editor.removeContentWidget(this)
            }),
            (e.prototype.getId = function() {
              return '__renameInputWidget'
            }),
            (e.prototype.getDomNode = function() {
              return (
                this._domNode ||
                  ((this._inputField = document.createElement('input')),
                  (this._inputField.className = 'rename-input'),
                  (this._inputField.type = 'text'),
                  this._inputField.setAttribute(
                    'aria-label',
                    n.localize(0, null)
                  ),
                  (this._domNode = document.createElement('div')),
                  (this._domNode.style.height =
                    this._editor.getConfiguration().lineHeight + 'px'),
                  (this._domNode.className = 'monaco-editor rename-box'),
                  this._domNode.appendChild(this._inputField),
                  this.updateFont(),
                  this.updateStyles(this.themeService.getTheme())),
                this._domNode
              )
            }),
            (e.prototype.updateStyles = function(e) {
              if (this._inputField) {
                var t = e.getColor(l.inputBackground),
                  n = e.getColor(l.inputForeground),
                  i = e.getColor(l.widgetShadow),
                  o = e.getColor(l.inputBorder)
                ;(this._inputField.style.backgroundColor = t
                  ? t.toString()
                  : null),
                  (this._inputField.style.color = n ? n.toString() : null),
                  (this._inputField.style.borderWidth = o ? '1px' : '0px'),
                  (this._inputField.style.borderStyle = o ? 'solid' : 'none'),
                  (this._inputField.style.borderColor = o
                    ? o.toString()
                    : 'none'),
                  (this._domNode.style.boxShadow = i ? ' 0 2px 8px ' + i : null)
              }
            }),
            (e.prototype.updateFont = function() {
              if (this._inputField) {
                var e = this._editor.getConfiguration().fontInfo
                ;(this._inputField.style.fontFamily = e.fontFamily),
                  (this._inputField.style.fontWeight = e.fontWeight),
                  (this._inputField.style.fontSize = e.fontSize + 'px')
              }
            }),
            (e.prototype.getPosition = function() {
              return this._visible
                ? {
                    position: this._position,
                    preference: [
                      a.ContentWidgetPositionPreference.BELOW,
                      a.ContentWidgetPositionPreference.ABOVE
                    ]
                  }
                : null
            }),
            (e.prototype.acceptInput = function() {
              this._currentAcceptInput && this._currentAcceptInput()
            }),
            (e.prototype.cancelInput = function() {
              this._currentCancelInput && this._currentCancelInput()
            }),
            (e.prototype.getInput = function(e, t, n, a) {
              var u = this
              ;(this._position = new c.Position(
                e.startLineNumber,
                e.startColumn
              )),
                (this._inputField.value = t),
                this._inputField.setAttribute('selectionStart', n.toString()),
                this._inputField.setAttribute('selectionEnd', a.toString()),
                (this._inputField.size = Math.max(
                  1.1 * (e.endColumn - e.startColumn),
                  20
                ))
              var l,
                d = []
              return (
                (l = function() {
                  o.dispose(d), u._hide()
                }),
                new r.TPromise(function(n, o) {
                  ;(u._currentCancelInput = function() {
                    return (
                      (u._currentAcceptInput = null),
                      (u._currentCancelInput = null),
                      o(i.canceled()),
                      !0
                    )
                  }),
                    (u._currentAcceptInput = function() {
                      0 !== u._inputField.value.trim().length &&
                      u._inputField.value !== t
                        ? ((u._currentAcceptInput = null),
                          (u._currentCancelInput = null),
                          n(u._inputField.value))
                        : u.cancelInput()
                    })
                  d.push(
                    u._editor.onDidChangeCursorSelection(function() {
                      s.Range.containsPosition(e, u._editor.getPosition()) ||
                        u.cancelInput()
                    })
                  ),
                    d.push(
                      u._editor.onDidBlurEditor(function() {
                        return u.cancelInput()
                      })
                    ),
                    u._show()
                }, this._currentCancelInput).then(
                  function(e) {
                    return l(), e
                  },
                  function(e) {
                    return l(), r.TPromise.wrapError(e)
                  }
                )
              )
            }),
            (e.prototype._show = function() {
              var e = this
              this._editor.revealLineInCenterIfOutsideViewport(
                this._position.lineNumber
              ),
                (this._visible = !0),
                this._editor.layoutContentWidget(this),
                setTimeout(function() {
                  e._inputField.focus(),
                    e._inputField.setSelectionRange(
                      parseInt(e._inputField.getAttribute('selectionStart')),
                      parseInt(e._inputField.getAttribute('selectionEnd'))
                    )
                }, 25)
            }),
            (e.prototype._hide = function() {
              ;(this._visible = !1), this._editor.layoutContentWidget(this)
            }),
            e
          )
        })()
        ;(d = v([y(1, u.IThemeService)], d)), (t.default = d)
      }),
      define(d[516], h([
        0,
        1,
        358,
        10,
        40,
        8,
        401,
        19,
        66,
        180,
        13,
        32,
        20,
        328,
        515,
        78,
        16,
        14,
        18,
        17,
        48,
        2
      ]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c,
        d,
        h,
        p,
        g,
        m,
        _,
        b,
        C,
        w,
        S,
        E
      ) {
        'use strict'
        function L(e, t, o) {
          var s = [],
            a = !1,
            u = w.RenameProviderRegistry.ordered(e).map(function(n) {
              return function() {
                if (!a)
                  return C.asWinJsPromise(function(i) {
                    return n.provideRenameEdits(e, t, o, i)
                  }).then(
                    function(e) {
                      if (e) {
                        if (!e.rejectReason) return (a = !0), e
                        s.push(e.rejectReason)
                      } else;
                    },
                    function(e) {
                      return (
                        i.onUnexpectedExternalError(e),
                        r.TPromise.wrapError(new Error('provider failed'))
                      )
                    }
                  )
              }
            })
          return C.sequence(u).then(function(e) {
            var t = e[0]
            return s.length > 0
              ? { edits: void 0, rejectReason: s.join('\n') }
              : t || { edits: void 0, rejectReason: n.localize(0, null) }
          })
        }
        Object.defineProperty(t, '__esModule', { value: !0 }), (t.rename = L)
        var x = new a.RawContextKey('renameInputVisible', !1),
          N = (k = (function() {
            function e(e, t, n, i, o, r, s) {
              ;(this.editor = e),
                (this._messageService = t),
                (this._textModelResolverService = n),
                (this._progressService = i),
                (this._fileService = s),
                (this._renameInputField = new g.default(e, r)),
                (this._renameInputVisible = x.bindTo(o))
            }
            return (
              (e.get = function(e) {
                return e.getContribution(k.ID)
              }),
              (e.prototype.dispose = function() {
                this._renameInputField.dispose()
              }),
              (e.prototype.getId = function() {
                return k.ID
              }),
              (e.prototype.run = function() {
                var e = this,
                  t = this.editor.getSelection(),
                  s = this.editor
                    .getModel()
                    .getWordAtPosition(t.getStartPosition())
                if (s) {
                  var a,
                    u = t.startLineNumber,
                    l = 0,
                    c = s.word.length
                  return (
                    (a = new E.Range(u, s.startColumn, u, s.endColumn)),
                    t.isEmpty() ||
                      t.startLineNumber !== t.endLineNumber ||
                      ((l = Math.max(0, t.startColumn - s.startColumn)),
                      (c = Math.min(s.endColumn, t.endColumn) - s.startColumn)),
                    this._renameInputVisible.set(!0),
                    this._renameInputField.getInput(a, s.word, l, c).then(
                      function(t) {
                        e._renameInputVisible.reset(), e.editor.focus()
                        var i = e._prepareRename(t).then(
                          function(i) {
                            return i.finish().then(function(o) {
                              o && e.editor.setSelection(o),
                                S.alert(
                                  n.localize(
                                    1,
                                    null,
                                    s.word,
                                    t,
                                    i.ariaMessage()
                                  )
                                )
                            })
                          },
                          function(t) {
                            return 'string' == typeof t
                              ? void e._messageService.show(o.default.Info, t)
                              : (e._messageService.show(
                                  o.default.Error,
                                  n.localize(2, null)
                                ),
                                r.TPromise.wrapError(t))
                          }
                        )
                        return e._progressService.showWhile(i, 250), i
                      },
                      function(t) {
                        if (
                          (e._renameInputVisible.reset(),
                          e.editor.focus(),
                          !i.isPromiseCanceledError(t))
                        )
                          return r.TPromise.wrapError(t)
                      }
                    )
                  )
                }
              }),
              (e.prototype.acceptRenameInput = function() {
                this._renameInputField.acceptInput()
              }),
              (e.prototype.cancelRenameInput = function() {
                this._renameInputField.cancelInput()
              }),
              (e.prototype._prepareRename = function(e) {
                var t = p.createBulkEdit(
                  this._textModelResolverService,
                  this.editor,
                  this._fileService
                )
                return L(
                  this.editor.getModel(),
                  this.editor.getPosition(),
                  e
                ).then(function(e) {
                  return e.rejectReason
                    ? r.TPromise.wrapError(new Error(e.rejectReason))
                    : (t.add(e.edits), t)
                })
              }),
              e
            )
          })())
        ;(N.ID = 'editor.contrib.renameController'),
          (N = k = v(
            [
              d.editorContribution,
              y(1, u.IMessageService),
              y(2, m.ITextModelService),
              y(3, l.IProgressService),
              y(4, a.IContextKeyService),
              y(5, b.IThemeService),
              y(6, _.optional(s.IFileService))
            ],
            N
          ))
        var M = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.rename',
                label: n.localize(3, null),
                alias: 'Rename Symbol',
                precondition: a.ContextKeyExpr.and(
                  h.EditorContextKeys.writable,
                  h.EditorContextKeys.hasRenameProvider
                ),
                kbOpts: { kbExpr: h.EditorContextKeys.textFocus, primary: 60 },
                menuOpts: { group: '1_modification', order: 1.1 }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = N.get(t)
              if (n) return n.run()
            }),
            t
          )
        })(c.EditorAction)
        ;(M = v([c.editorAction], M)), (t.RenameAction = M)
        var T = c.EditorCommand.bindToContribution(N.get)
        c.CommonEditorRegistry.registerEditorCommand(
          new T({
            id: 'acceptRenameInput',
            precondition: x,
            handler: function(e) {
              return e.acceptRenameInput()
            },
            kbOpts: {
              weight: c.CommonEditorRegistry.commandWeight(99),
              kbExpr: h.EditorContextKeys.focus,
              primary: 3
            }
          })
        ),
          c.CommonEditorRegistry.registerEditorCommand(
            new T({
              id: 'cancelRenameInput',
              precondition: x,
              handler: function(e) {
                return e.cancelRenameInput()
              },
              kbOpts: {
                weight: c.CommonEditorRegistry.commandWeight(99),
                kbExpr: h.EditorContextKeys.focus,
                primary: 9,
                secondary: [1033]
              }
            })
          ),
          c.CommonEditorRegistry.registerDefaultLanguageCommand(
            '_executeDocumentRenameProvider',
            function(e, t, n) {
              var o = n.newName
              if ('string' != typeof o) throw i.illegalArgument('newName')
              return L(e, t, o)
            }
          )
        var k
      }),
      define(d[517], h([
        0,
        1,
        362,
        85,
        9,
        11,
        8,
        10,
        3,
        6,
        124,
        395,
        61,
        16,
        47,
        19,
        25,
        135,
        48,
        62,
        134,
        14,
        23,
        72,
        269
      ]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c,
        d,
        h,
        p,
        f,
        g,
        m,
        b,
        C,
        w,
        S,
        E,
        L,
        x
      ) {
        'use strict'
        function N(e) {
          return e && e.match(I) ? e : null
        }
        function M(e) {
          if (!e) return !1
          var t = e.suggestion
          return !!t.documentation || (t.detail && t.detail !== t.label)
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var T = !1
        ;(t.editorSuggestWidgetBackground = L.registerColor(
          'editorSuggestWidget.background',
          {
            dark: L.editorWidgetBackground,
            light: L.editorWidgetBackground,
            hc: L.editorWidgetBackground
          },
          n.localize(0, null)
        )),
          (t.editorSuggestWidgetBorder = L.registerColor(
            'editorSuggestWidget.border',
            {
              dark: L.editorWidgetBorder,
              light: L.editorWidgetBorder,
              hc: L.editorWidgetBorder
            },
            n.localize(1, null)
          )),
          (t.editorSuggestWidgetForeground = L.registerColor(
            'editorSuggestWidget.foreground',
            {
              dark: L.editorForeground,
              light: L.editorForeground,
              hc: L.editorForeground
            },
            n.localize(2, null)
          )),
          (t.editorSuggestWidgetSelectedBackground = L.registerColor(
            'editorSuggestWidget.selectedBackground',
            {
              dark: L.listFocusBackground,
              light: L.listFocusBackground,
              hc: L.listFocusBackground
            },
            n.localize(3, null)
          )),
          (t.editorSuggestWidgetHighlightForeground = L.registerColor(
            'editorSuggestWidget.highlightForeground',
            {
              dark: L.listHighlightForeground,
              light: L.listHighlightForeground,
              hc: L.listHighlightForeground
            },
            n.localize(4, null)
          ))
        var k,
          I = /^(#([\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,
          D = (function() {
            function e(e, t, n) {
              ;(this.widget = e),
                (this.editor = t),
                (this.triggerKeybindingLabel = n)
            }
            return (
              Object.defineProperty(e.prototype, 'templateId', {
                get: function() {
                  return 'suggestion'
                },
                enumerable: !0,
                configurable: !0
              }),
              (e.prototype.renderTemplate = function(e) {
                var t = this,
                  i = Object.create(null)
                ;(i.disposables = []),
                  (i.root = e),
                  (i.icon = l.append(e, l.$('.icon'))),
                  (i.colorspan = l.append(i.icon, l.$('span.colorspan')))
                var o = l.append(e, l.$('.contents')),
                  s = l.append(o, l.$('.main'))
                ;(i.highlightedLabel = new c.HighlightedLabel(s)),
                  i.disposables.push(i.highlightedLabel),
                  (i.typeLabel = l.append(s, l.$('span.type-label'))),
                  (i.readMore = l.append(s, l.$('span.readMore'))),
                  (i.readMore.title = n.localize(
                    5,
                    null,
                    this.triggerKeybindingLabel
                  ))
                var a = function() {
                  var e = t.editor.getConfiguration(),
                    n = e.fontInfo.fontFamily,
                    o =
                      (e.contribInfo.suggestFontSize || e.fontInfo.fontSize) +
                      'px',
                    r =
                      (e.contribInfo.suggestLineHeight ||
                        e.fontInfo.lineHeight) + 'px'
                  ;(i.root.style.fontSize = o),
                    (s.style.fontFamily = n),
                    (s.style.lineHeight = r),
                    (i.icon.style.height = r),
                    (i.icon.style.width = r),
                    (i.readMore.style.height = r),
                    (i.readMore.style.width = r)
                }
                return (
                  a(),
                  r
                    .chain(
                      this.editor.onDidChangeConfiguration.bind(this.editor)
                    )
                    .filter(function(e) {
                      return e.fontInfo || e.contribInfo
                    })
                    .on(a, null, i.disposables),
                  i
                )
              }),
              (e.prototype.renderElement = function(e, t, o) {
                var r = this,
                  s = o,
                  a = e.suggestion
                if (
                  (M(e)
                    ? s.root.setAttribute(
                        'aria-label',
                        n.localize(6, null, a.label)
                      )
                    : s.root.setAttribute(
                        'aria-label',
                        n.localize(7, null, a.label)
                      ),
                  (s.icon.className = 'icon ' + a.type),
                  (s.colorspan.style.backgroundColor = ''),
                  'color' === a.type)
                ) {
                  var u = N(a.label) || N(a.documentation)
                  u &&
                    ((s.icon.className = 'icon customcolor'),
                    (s.colorspan.style.backgroundColor = u))
                }
                s.highlightedLabel.set(a.label, i.createMatches(e.matches)),
                  (s.typeLabel.textContent = (a.detail || '').replace(
                    /\n.*$/m,
                    ''
                  )),
                  M(e)
                    ? (l.show(s.readMore),
                      (s.readMore.onmousedown = function(e) {
                        e.stopPropagation(), e.preventDefault()
                      }),
                      (s.readMore.onclick = function(e) {
                        e.stopPropagation(),
                          e.preventDefault(),
                          r.widget.toggleDetails()
                      }))
                    : (l.hide(s.readMore),
                      (s.readMore.onmousedown = null),
                      (s.readMore.onclick = null))
              }),
              (e.prototype.disposeTemplate = function(e) {
                e.highlightedLabel.dispose(),
                  (e.disposables = u.dispose(e.disposables))
              }),
              e
            )
          })()
        !(function(e) {
          ;(e[(e.Hidden = 0)] = 'Hidden'),
            (e[(e.Loading = 1)] = 'Loading'),
            (e[(e.Empty = 2)] = 'Empty'),
            (e[(e.Open = 3)] = 'Open'),
            (e[(e.Frozen = 4)] = 'Frozen'),
            (e[(e.Details = 5)] = 'Details')
        })(k || (k = {}))
        var O = (function() {
            function e(e, t, i, o) {
              var s = this
              ;(this.widget = t),
                (this.editor = i),
                (this.triggerKeybindingLabel = o),
                (this.borderWidth = 1),
                (this.disposables = []),
                (this.el = l.append(e, l.$('.details'))),
                this.disposables.push(
                  u.toDisposable(function() {
                    return e.removeChild(s.el)
                  })
                ),
                (this.body = l.$('.body')),
                (this.scrollbar = new h.DomScrollableElement(this.body, {})),
                l.append(this.el, this.scrollbar.getDomNode()),
                this.disposables.push(this.scrollbar),
                (this.header = l.append(this.body, l.$('.header'))),
                (this.close = l.append(this.header, l.$('span.close'))),
                (this.close.title = n.localize(8, null, o)),
                (this.type = l.append(this.header, l.$('p.type'))),
                (this.docs = l.append(this.body, l.$('p.docs'))),
                (this.ariaLabel = null),
                this.configureFont(),
                r
                  .chain(this.editor.onDidChangeConfiguration.bind(this.editor))
                  .filter(function(e) {
                    return e.fontInfo
                  })
                  .on(this.configureFont, this, this.disposables)
            }
            return (
              Object.defineProperty(e.prototype, 'element', {
                get: function() {
                  return this.el
                },
                enumerable: !0,
                configurable: !0
              }),
              (e.prototype.render = function(e) {
                var t = this
                if (!e || !M(e))
                  return (
                    (this.type.textContent = ''),
                    (this.docs.textContent = ''),
                    l.addClass(this.el, 'no-docs'),
                    void (this.ariaLabel = null)
                  )
                l.removeClass(this.el, 'no-docs'),
                  (this.docs.textContent = e.suggestion.documentation),
                  e.suggestion.detail
                    ? ((this.type.innerText = e.suggestion.detail),
                      l.show(this.type))
                    : ((this.type.innerText = ''), l.hide(this.type)),
                  (this.el.style.height =
                    this.header.offsetHeight +
                    this.docs.offsetHeight +
                    2 * this.borderWidth +
                    'px'),
                  (this.close.onmousedown = function(e) {
                    e.preventDefault(), e.stopPropagation()
                  }),
                  (this.close.onclick = function(e) {
                    e.preventDefault(),
                      e.stopPropagation(),
                      t.widget.toggleDetails()
                  }),
                  (this.body.scrollTop = 0),
                  this.scrollbar.scanDomNode(),
                  (this.ariaLabel = o.format(
                    '{0}\n{1}\n{2}',
                    e.suggestion.label || '',
                    e.suggestion.detail || '',
                    e.suggestion.documentation || ''
                  ))
              }),
              (e.prototype.getAriaLabel = function() {
                return this.ariaLabel
              }),
              (e.prototype.scrollDown = function(e) {
                void 0 === e && (e = 8), (this.body.scrollTop += e)
              }),
              (e.prototype.scrollUp = function(e) {
                void 0 === e && (e = 8), (this.body.scrollTop -= e)
              }),
              (e.prototype.scrollTop = function() {
                this.body.scrollTop = 0
              }),
              (e.prototype.scrollBottom = function() {
                this.body.scrollTop = this.body.scrollHeight
              }),
              (e.prototype.pageDown = function() {
                this.scrollDown(80)
              }),
              (e.prototype.pageUp = function() {
                this.scrollUp(80)
              }),
              (e.prototype.setBorderWidth = function(e) {
                this.borderWidth = e
              }),
              (e.prototype.configureFont = function() {
                var e = this.editor.getConfiguration(),
                  t = e.fontInfo.fontFamily,
                  n =
                    (e.contribInfo.suggestFontSize || e.fontInfo.fontSize) +
                    'px',
                  i =
                    (e.contribInfo.suggestLineHeight || e.fontInfo.lineHeight) +
                    'px'
                ;(this.el.style.fontSize = n),
                  (this.type.style.fontFamily = t),
                  (this.close.style.height = i),
                  (this.close.style.width = i)
              }),
              (e.prototype.dispose = function() {
                this.disposables = u.dispose(this.disposables)
              }),
              e
            )
          })(),
          R = (function() {
            function e(e, n, i, o, s, a, u) {
              var c = this
              ;(this.editor = e),
                (this.telemetryService = n),
                (this.allowEditorOverflow = !0),
                (this.ignoreFocusEvents = !1),
                (this.onDidSelectEmitter = new r.Emitter()),
                (this.onDidFocusEmitter = new r.Emitter()),
                (this.onDidHideEmitter = new r.Emitter()),
                (this.onDidShowEmitter = new r.Emitter()),
                (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.storageServiceAvailable = !0),
                (this.expandSuggestionDocs = !1)
              var h = u.lookupKeybinding('editor.action.triggerSuggest'),
                p = h ? ' (' + h.getLabel() + ')' : ''
              ;(this.isAuto = !1),
                (this.focusedItem = null),
                (this.storageService = a),
                void 0 === this.expandDocsSettingFromStorage() &&
                  (this.storageService.store(
                    'expandSuggestionDocs',
                    T,
                    x.StorageScope.GLOBAL
                  ),
                  void 0 === this.expandDocsSettingFromStorage() &&
                    (this.storageServiceAvailable = !1)),
                (this.element = l.$('.editor-widget.suggest-widget')),
                this.editor.getConfiguration().contribInfo.iconsInSuggestions ||
                  l.addClass(this.element, 'no-icons'),
                (this.messageElement = l.append(this.element, l.$('.message'))),
                (this.listElement = l.append(this.element, l.$('.tree'))),
                (this.details = new O(this.element, this, this.editor, p))
              var f = o.createInstance(D, this, this.editor, p)
              ;(this.list = new d.List(this.listElement, this, [f], {
                useShadows: !1,
                selectOnMouseDown: !0
              })),
                (this.toDispose = [
                  S.attachListStyler(this.list, s, {
                    listInactiveFocusBackground:
                      t.editorSuggestWidgetSelectedBackground,
                    listInactiveFocusOutline: L.activeContrastBorder
                  }),
                  s.onThemeChange(function(e) {
                    return c.onThemeChange(e)
                  }),
                  e.onDidBlurEditorText(function() {
                    return c.onEditorBlur()
                  }),
                  e.onDidLayoutChange(function() {
                    return c.onEditorLayoutChange()
                  }),
                  this.list.onSelectionChange(function(e) {
                    return c.onListSelection(e)
                  }),
                  this.list.onFocusChange(function(e) {
                    return c.onListFocus(e)
                  }),
                  this.editor.onDidChangeCursorSelection(function() {
                    return c.onCursorSelectionChanged()
                  })
                ]),
                (this.suggestWidgetVisible = b.Context.Visible.bindTo(i)),
                (this.suggestWidgetMultipleSuggestions = b.Context.MultipleSuggestions.bindTo(
                  i
                )),
                (this.suggestionSupportsAutoAccept = b.Context.AcceptOnKey.bindTo(
                  i
                )),
                this.editor.addContentWidget(this),
                this.setState(0),
                this.onThemeChange(s.getTheme())
            }
            return (
              (e.prototype.onCursorSelectionChanged = function() {
                0 !== this.state && this.editor.layoutContentWidget(this)
              }),
              (e.prototype.onEditorBlur = function() {
                var e = this
                this.editorBlurTimeout = s.TPromise.timeout(150).then(
                  function() {
                    e.editor.isFocused() || e.setState(0)
                  }
                )
              }),
              (e.prototype.onEditorLayoutChange = function() {
                ;(3 !== this.state && 5 !== this.state) ||
                  !this.expandDocsSettingFromStorage() ||
                  this.expandSideOrBelow()
              }),
              (e.prototype.onListSelection = function(e) {
                if (e.elements.length) {
                  var t = e.elements[0]
                  this.onDidSelectEmitter.fire(t),
                    C.alert(n.localize(11, null, t.suggestion.label)),
                    this.editor.focus()
                }
              }),
              (e.prototype._getSuggestionAriaAlertLabel = function(e) {
                return M(e)
                  ? n.localize(12, null, e.suggestion.label)
                  : n.localize(13, null, e.suggestion.label)
              }),
              (e.prototype._ariaAlert = function(e) {
                this._lastAriaAlertLabel !== e &&
                  ((this._lastAriaAlertLabel = e),
                  this._lastAriaAlertLabel && C.alert(this._lastAriaAlertLabel))
              }),
              (e.prototype.onThemeChange = function(e) {
                var n = e.getColor(t.editorSuggestWidgetBackground)
                n &&
                  ((this.listElement.style.backgroundColor = n.toString()),
                  (this.details.element.style.backgroundColor = n.toString()),
                  (this.messageElement.style.backgroundColor = n.toString()))
                var i = e.getColor(t.editorSuggestWidgetBorder)
                i &&
                  ((this.listElement.style.borderColor = i.toString()),
                  (this.details.element.style.borderColor = i.toString()),
                  (this.messageElement.style.borderColor = i.toString()),
                  (this.detailsBorderColor = i.toString()))
                var o = e.getColor(L.focusBorder)
                o && (this.detailsFocusBorderColor = o.toString()),
                  this.details.setBorderWidth('hc' === e.type ? 2 : 1)
              }),
              (e.prototype.onListFocus = function(e) {
                var t = this
                if (!this.ignoreFocusEvents) {
                  if (!e.elements.length)
                    return (
                      this.currentSuggestionDetails &&
                        (this.currentSuggestionDetails.cancel(),
                        (this.currentSuggestionDetails = null),
                        (this.focusedItem = null)),
                      void this._ariaAlert(null)
                    )
                  var n = e.elements[0]
                  if (
                    (this._ariaAlert(this._getSuggestionAriaAlertLabel(n)),
                    n !== this.focusedItem)
                  ) {
                    this.currentSuggestionDetails &&
                      (this.currentSuggestionDetails.cancel(),
                      (this.currentSuggestionDetails = null))
                    var i = e.indexes[0]
                    this.suggestionSupportsAutoAccept.set(
                      !n.suggestion.noAutoAccept
                    )
                    var o = this.focusedItem,
                      r = this.focusedItemIndex
                    ;(this.focusedItemIndex = i),
                      (this.focusedItem = n),
                      o &&
                        ((this.ignoreFocusEvents = !0),
                        this.list.splice(r, 1, [o]),
                        (this.ignoreFocusEvents = !1)),
                      this.updateListHeight(),
                      this.list.reveal(i),
                      (this.currentSuggestionDetails = n
                        .resolve()
                        .then(function() {
                          ;(t.ignoreFocusEvents = !0),
                            t.list.splice(i, 1, [n]),
                            (t.ignoreFocusEvents = !1),
                            t.list.setFocus([i]),
                            t.list.reveal(i),
                            t.expandDocsSettingFromStorage()
                              ? t.showDetails()
                              : l.removeClass(t.element, 'docs-side')
                        })
                        .then(null, function(e) {
                          return (
                            !a.isPromiseCanceledError(e) &&
                            a.onUnexpectedError(e)
                          )
                        })
                        .then(function() {
                          return (t.currentSuggestionDetails = null)
                        })),
                      this.onDidFocusEmitter.fire(n)
                  }
                }
              }),
              (e.prototype.setState = function(t) {
                if (this.element) {
                  var n = this.state !== t
                  switch (
                    ((this.state = t),
                    l.toggleClass(this.element, 'frozen', 4 === t),
                    t)
                  ) {
                    case 0:
                      l.hide(this.messageElement, this.details.element),
                        l.show(this.listElement),
                        this.hide(),
                        n && this.list.splice(0, this.list.length)
                      break
                    case 1:
                      ;(this.messageElement.textContent = e.LOADING_MESSAGE),
                        l.hide(this.listElement, this.details.element),
                        l.show(this.messageElement),
                        l.removeClass(this.element, 'docs-side'),
                        this.show()
                      break
                    case 2:
                      ;(this.messageElement.textContent =
                        e.NO_SUGGESTIONS_MESSAGE),
                        l.hide(this.listElement, this.details.element),
                        l.show(this.messageElement),
                        l.removeClass(this.element, 'docs-side'),
                        this.show()
                      break
                    case 3:
                      l.hide(this.messageElement),
                        l.show(this.listElement),
                        this.expandDocsSettingFromStorage() &&
                        M(this.list.getFocusedElements()[0])
                          ? (l.show(this.details.element),
                            this.expandSideOrBelow())
                          : l.hide(this.details.element),
                        this.show()
                      break
                    case 4:
                      l.hide(this.messageElement, this.details.element),
                        l.show(this.listElement),
                        this.show()
                      break
                    case 5:
                      l.hide(this.messageElement),
                        l.show(this.details.element, this.listElement),
                        this.show(),
                        this._ariaAlert(this.details.getAriaLabel())
                  }
                  n && this.editor.layoutContentWidget(this)
                }
              }),
              (e.prototype.showTriggered = function(e) {
                var t = this
                0 === this.state &&
                  ((this.isAuto = !!e),
                  this.isAuto ||
                    (this.loadingTimeout = setTimeout(function() {
                      ;(t.loadingTimeout = null), t.setState(1)
                    }, 50)))
              }),
              (e.prototype.showSuggestions = function(e, t, n) {
                if (
                  (this.loadingTimeout &&
                    (clearTimeout(this.loadingTimeout),
                    (this.loadingTimeout = null)),
                  (this.completionModel = e),
                  t && 2 !== this.state && 0 !== this.state)
                )
                  this.setState(4)
                else {
                  var i = this.completionModel.items.length,
                    o = 0 === i
                  if ((this.suggestWidgetMultipleSuggestions.set(i > 1), o))
                    n ? this.setState(0) : this.setState(2),
                      (this.completionModel = null)
                  else {
                    var r = this.completionModel.stats
                    ;(r.wasAutomaticallyTriggered = !!n),
                      this.telemetryService.publicLog(
                        'suggestWidget',
                        _({}, r, this.editor.getTelemetryData())
                      ),
                      (this.focusedItem = null),
                      (this.focusedItemIndex = null),
                      this.list.splice(
                        0,
                        this.list.length,
                        this.completionModel.items
                      ),
                      this.list.setFocus([0]),
                      this.list.reveal(0, 0),
                      t ? this.setState(4) : this.setState(3),
                      this.detailsBorderColor &&
                        (this.details.element.style.borderColor = this.detailsBorderColor)
                  }
                }
              }),
              (e.prototype.selectNextPage = function() {
                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
                }
              }),
              (e.prototype.selectNext = function() {
                switch (this.state) {
                  case 0:
                    return !1
                  case 1:
                    return !this.isAuto
                  default:
                    return this.list.focusNext(1, !0), !0
                }
              }),
              (e.prototype.selectLast = function() {
                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
                }
              }),
              (e.prototype.selectPreviousPage = function() {
                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
                }
              }),
              (e.prototype.selectPrevious = function() {
                switch (this.state) {
                  case 0:
                    return !1
                  case 1:
                    return !this.isAuto
                  default:
                    return this.list.focusPrevious(1, !0), !1
                }
              }),
              (e.prototype.selectFirst = function() {
                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
                }
              }),
              (e.prototype.getFocusedItem = function() {
                if (0 !== this.state && 2 !== this.state && 1 !== this.state)
                  return this.list.getFocusedElements()[0]
              }),
              (e.prototype.toggleDetailsFocus = function() {
                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.publicLog(
                    'suggestWidget:toggleDetailsFocus',
                    this.editor.getTelemetryData()
                  )
              }),
              (e.prototype.toggleDetails = function() {
                if (M(this.list.getFocusedElements()[0]))
                  if (this.expandDocsSettingFromStorage())
                    this.updateExpandDocsSetting(!1),
                      l.hide(this.details.element),
                      l.removeClass(this.element, 'docs-side'),
                      l.removeClass(this.element, 'docs-below'),
                      this.editor.layoutContentWidget(this),
                      this.telemetryService.publicLog(
                        'suggestWidget:collapseDetails',
                        this.editor.getTelemetryData()
                      )
                  else {
                    if (3 !== this.state && 5 !== this.state) return
                    this.updateExpandDocsSetting(!0),
                      this.showDetails(),
                      this.telemetryService.publicLog(
                        'suggestWidget:expandDetails',
                        this.editor.getTelemetryData()
                      )
                  }
              }),
              (e.prototype.showDetails = function() {
                this.expandSideOrBelow(),
                  l.show(this.details.element),
                  this.details.render(this.list.getFocusedElements()[0]),
                  (this.details.element.style.maxHeight =
                    this.maxWidgetHeight + 'px'),
                  (this.listElement.style.marginTop = '0px'),
                  this.editor.layoutContentWidget(this),
                  this.adjustDocsPosition(),
                  this.editor.focus(),
                  this._ariaAlert(this.details.getAriaLabel())
              }),
              (e.prototype.show = function() {
                var e = this
                this.updateListHeight(),
                  this.suggestWidgetVisible.set(!0),
                  (this.showTimeout = s.TPromise.timeout(100).then(function() {
                    l.addClass(e.element, 'visible'), e.onDidShowEmitter.fire(e)
                  }))
              }),
              (e.prototype.hide = function() {
                this.suggestWidgetVisible.reset(),
                  this.suggestWidgetMultipleSuggestions.reset(),
                  l.removeClass(this.element, 'visible')
              }),
              (e.prototype.hideWidget = function() {
                clearTimeout(this.loadingTimeout),
                  this.setState(0),
                  this.onDidHideEmitter.fire(this)
              }),
              (e.prototype.getPosition = function() {
                return 0 === this.state
                  ? null
                  : {
                      position: this.editor.getPosition(),
                      preference: [
                        m.ContentWidgetPositionPreference.BELOW,
                        m.ContentWidgetPositionPreference.ABOVE
                      ]
                    }
              }),
              (e.prototype.getDomNode = function() {
                return this.element
              }),
              (e.prototype.getId = function() {
                return e.ID
              }),
              (e.prototype.updateListHeight = function() {
                var e = 0
                if (2 === this.state || 1 === this.state)
                  e = this.unfocusedHeight
                else {
                  var t = this.list.contentHeight / this.unfocusedHeight
                  e = Math.min(t, 12) * this.unfocusedHeight
                }
                return (
                  (this.element.style.lineHeight = this.unfocusedHeight + 'px'),
                  (this.listElement.style.height = e + 'px'),
                  this.list.layout(e),
                  this.editor.layoutContentWidget(this),
                  e
                )
              }),
              (e.prototype.adjustDocsPosition = function() {
                var e = this.editor.getConfiguration().fontInfo.lineHeight,
                  t = this.editor.getScrolledVisiblePosition(
                    this.editor.getPosition()
                  ),
                  n = l.getDomNodePagePosition(this.editor.getDomNode()),
                  i = n.left + t.left,
                  o = n.top + t.top + t.height,
                  r = l.getDomNodePagePosition(this.element),
                  s = r.left,
                  a = r.top
                s < i - this.listWidth
                  ? l.addClass(this.element, 'list-right')
                  : l.removeClass(this.element, 'list-right'),
                  l.hasClass(this.element, 'docs-side') &&
                    o - e > a &&
                    this.details.element.offsetHeight >
                      this.listElement.offsetHeight &&
                    (this.listElement.style.marginTop =
                      this.details.element.offsetHeight -
                      this.listElement.offsetHeight +
                      'px')
              }),
              (e.prototype.expandSideOrBelow = function() {
                var e = this.element.style.maxWidth.match(/(\d+)px/)
                !e || Number(e[1]) < this.maxWidgetWidth
                  ? (l.addClass(this.element, 'docs-below'),
                    l.removeClass(this.element, 'docs-side'))
                  : (l.addClass(this.element, 'docs-side'),
                    l.removeClass(this.element, 'docs-below'))
              }),
              Object.defineProperty(e.prototype, 'maxWidgetHeight', {
                get: function() {
                  return 12 * this.unfocusedHeight
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(e.prototype, 'unfocusedHeight', {
                get: function() {
                  var e = this.editor.getConfiguration()
                  return (
                    e.contribInfo.suggestLineHeight || e.fontInfo.lineHeight
                  )
                },
                enumerable: !0,
                configurable: !0
              }),
              (e.prototype.getHeight = function(e) {
                return this.unfocusedHeight
              }),
              (e.prototype.getTemplateId = function(e) {
                return 'suggestion'
              }),
              (e.prototype.expandDocsSettingFromStorage = function() {
                return this.storageServiceAvailable
                  ? this.storageService.getBoolean(
                      'expandSuggestionDocs',
                      x.StorageScope.GLOBAL
                    )
                  : this.expandSuggestionDocs
              }),
              (e.prototype.updateExpandDocsSetting = function(e) {
                this.storageServiceAvailable
                  ? this.storageService.store(
                      'expandSuggestionDocs',
                      e,
                      x.StorageScope.GLOBAL
                    )
                  : (this.expandSuggestionDocs = e)
              }),
              (e.prototype.dispose = function() {
                ;(this.state = null),
                  (this.suggestionSupportsAutoAccept = null),
                  (this.currentSuggestionDetails = null),
                  (this.focusedItem = null),
                  (this.element = null),
                  (this.messageElement = null),
                  (this.listElement = null),
                  this.details.dispose(),
                  (this.details = null),
                  this.list.dispose(),
                  (this.list = null),
                  (this.toDispose = u.dispose(this.toDispose)),
                  this.loadingTimeout &&
                    (clearTimeout(this.loadingTimeout),
                    (this.loadingTimeout = null)),
                  this.editorBlurTimeout &&
                    (this.editorBlurTimeout.cancel(),
                    (this.editorBlurTimeout = null)),
                  this.showTimeout &&
                    (this.showTimeout.cancel(), (this.showTimeout = null))
              }),
              e
            )
          })()
        ;(R.ID = 'editor.widget.suggestWidget'),
          (R.LOADING_MESSAGE = n.localize(9, null)),
          (R.NO_SUGGESTIONS_MESSAGE = n.localize(10, null)),
          (R = v(
            [
              y(1, w.ITelemetryService),
              y(2, g.IContextKeyService),
              y(3, p.IInstantiationService),
              y(4, E.IThemeService),
              y(5, x.IStorageService),
              y(6, f.IKeybindingService)
            ],
            R
          )),
          (t.SuggestWidget = R),
          E.registerThemingParticipant(function(e, n) {
            var i = e.getColor(t.editorSuggestWidgetHighlightForeground)
            i &&
              n.addRule(
                '.monaco-editor .suggest-widget:not(.frozen) .monaco-highlighted-label .highlight { color: ' +
                  i +
                  '; }'
              )
            var o = e.getColor(t.editorSuggestWidgetForeground)
            o &&
              n.addRule('.monaco-editor .suggest-widget { color: ' + o + '; }')
          })
      }),
      define(d[518], h([
        0,
        1,
        361,
        10,
        27,
        3,
        16,
        62,
        19,
        31,
        20,
        13,
        48,
        32,
        57,
        2,
        147,
        194,
        135,
        464,
        517
      ]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c,
        d,
        h,
        p,
        g,
        m,
        b,
        C,
        w,
        S,
        E
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var L = (function() {
            function e(e, t, n) {
              var i = this
              ;(this._disposables = []),
                (this._activeAcceptCharacters = new Set()),
                this._disposables.push(
                  t.onDidShow(function() {
                    return i._onItem(t.getFocusedItem())
                  })
                ),
                this._disposables.push(t.onDidFocus(this._onItem, this)),
                this._disposables.push(t.onDidHide(this.reset, this)),
                this._disposables.push(
                  e.onWillType(function(t) {
                    if (i._activeItem) {
                      var o = t[t.length - 1]
                      i._activeAcceptCharacters.has(o) &&
                        e.getConfiguration().contribInfo
                          .acceptSuggestionOnCommitCharacter &&
                        n(i._activeItem)
                    }
                  })
                )
            }
            return (
              (e.prototype._onItem = function(e) {
                if (e && !o.isFalsyOrEmpty(e.suggestion.commitCharacters)) {
                  ;(this._activeItem = e), this._activeAcceptCharacters.clear()
                  for (
                    var t = 0, n = e.suggestion.commitCharacters;
                    t < n.length;
                    t++
                  ) {
                    var i = n[t]
                    i.length > 0 && this._activeAcceptCharacters.add(i[0])
                  }
                } else this.reset()
              }),
              (e.prototype.reset = function() {
                this._activeItem = void 0
              }),
              (e.prototype.dispose = function() {
                r.dispose(this._disposables)
              }),
              e
            )
          })(),
          x = (k = (function() {
            function e(e, t, n, i, o) {
              var r = this
              ;(this._editor = e),
                (this._commandService = t),
                (this._telemetryService = n),
                (this._toDispose = []),
                (this._model = new S.SuggestModel(this._editor)),
                this._toDispose.push(
                  this._model.onDidTrigger(function(e) {
                    return r._widget.showTriggered(e.auto)
                  })
                ),
                this._toDispose.push(
                  this._model.onDidSuggest(function(e) {
                    return r._widget.showSuggestions(
                      e.completionModel,
                      e.isFrozen,
                      e.auto
                    )
                  })
                ),
                this._toDispose.push(
                  this._model.onDidCancel(function(e) {
                    return !e.retrigger && r._widget.hideWidget()
                  })
                )
              var s = w.Context.AcceptSuggestionsOnEnter.bindTo(i),
                a = function() {
                  var e = r._editor.getConfiguration().contribInfo
                    .acceptSuggestionOnEnter
                  s.set('on' === e || 'smart' === e || !0 === e)
                }
              this._toDispose.push(
                this._editor.onDidChangeConfiguration(function(e) {
                  return a()
                })
              ),
                a(),
                (this._widget = o.createInstance(
                  E.SuggestWidget,
                  this._editor
                )),
                this._toDispose.push(
                  this._widget.onDidSelect(this._onDidSelectItem, this)
                )
              var u = new L(e, this._widget, function(e) {
                return r._onDidSelectItem(e)
              })
              this._toDispose.push(
                u,
                this._model.onDidSuggest(function(e) {
                  0 === e.completionModel.items.length && u.reset()
                })
              )
              var l = w.Context.MakesTextEdit.bindTo(i)
              this._toDispose.push(
                this._widget.onDidFocus(function(e) {
                  var t = r._editor.getPosition(),
                    n = e.position.column - e.suggestion.overwriteBefore,
                    i = t.column,
                    o = !0
                  'smart' !==
                    r._editor.getConfiguration().contribInfo
                      .acceptSuggestionOnEnter ||
                    2 !== r._model.state ||
                    e.suggestion.command ||
                    e.suggestion.additionalTextEdits ||
                    'textmate' === e.suggestion.snippetType ||
                    i - n !== e.suggestion.insertText.length ||
                    (o =
                      r._editor
                        .getModel()
                        .getValueInRange({
                          startLineNumber: t.lineNumber,
                          startColumn: n,
                          endLineNumber: t.lineNumber,
                          endColumn: i
                        }) !== e.suggestion.insertText),
                    l.set(o)
                })
              ),
                this._toDispose.push({
                  dispose: function() {
                    l.reset()
                  }
                })
            }
            return (
              (e.get = function(e) {
                return e.getContribution(k.ID)
              }),
              (e.prototype.getId = function() {
                return k.ID
              }),
              (e.prototype.dispose = function() {
                ;(this._toDispose = r.dispose(this._toDispose)),
                  this._widget &&
                    (this._widget.dispose(), (this._widget = null)),
                  this._model && (this._model.dispose(), (this._model = null))
              }),
              (e.prototype._onDidSelectItem = function(e) {
                if (e) {
                  var t = e.suggestion,
                    n = e.position,
                    o = this._editor.getPosition().column - n.column
                  Array.isArray(t.additionalTextEdits) &&
                    (this._editor.pushUndoStop(),
                    this._editor.executeEdits(
                      'suggestController.additionalTextEdits',
                      t.additionalTextEdits.map(function(e) {
                        return g.EditOperation.replace(
                          m.Range.lift(e.range),
                          e.text
                        )
                      })
                    ),
                    this._editor.pushUndoStop())
                  var r = t.insertText
                  'textmate' !== t.snippetType &&
                    (r = b.SnippetParser.escape(r)),
                    C.SnippetController2.get(this._editor).insert(
                      r,
                      t.overwriteBefore + o,
                      t.overwriteAfter
                    ),
                    t.command &&
                      (s = this._commandService).executeCommand
                        .apply(s, [t.command.id].concat(t.command.arguments))
                        .done(void 0, i.onUnexpectedError),
                    this._alertCompletionItem(e),
                    this._telemetryService.publicLog(
                      'suggestSnippetInsert',
                      _({}, this._editor.getTelemetryData(), {
                        suggestionType: t.type
                      })
                    )
                }
                this._model.cancel()
                var s
              }),
              (e.prototype._alertCompletionItem = function(e) {
                var t = e.suggestion,
                  i = n.localize(0, null, t.label, t.insertText)
                h.alert(i)
              }),
              (e.prototype.triggerSuggest = function() {
                this._model.trigger(!1, !1),
                  this._editor.revealLine(
                    this._editor.getPosition().lineNumber
                  ),
                  this._editor.focus()
              }),
              (e.prototype.acceptSelectedSuggestion = function() {
                if (this._widget) {
                  var e = this._widget.getFocusedItem()
                  this._onDidSelectItem(e)
                }
              }),
              (e.prototype.cancelSuggestWidget = function() {
                this._widget &&
                  (this._model.cancel(), this._widget.hideWidget())
              }),
              (e.prototype.selectNextSuggestion = function() {
                this._widget && this._widget.selectNext()
              }),
              (e.prototype.selectNextPageSuggestion = function() {
                this._widget && this._widget.selectNextPage()
              }),
              (e.prototype.selectLastSuggestion = function() {
                this._widget && this._widget.selectLast()
              }),
              (e.prototype.selectPrevSuggestion = function() {
                this._widget && this._widget.selectPrevious()
              }),
              (e.prototype.selectPrevPageSuggestion = function() {
                this._widget && this._widget.selectPreviousPage()
              }),
              (e.prototype.selectFirstSuggestion = function() {
                this._widget && this._widget.selectFirst()
              }),
              (e.prototype.toggleSuggestionDetails = function() {
                this._widget && this._widget.toggleDetails()
              }),
              (e.prototype.toggleSuggestionFocus = function() {
                this._widget && this._widget.toggleDetailsFocus()
              }),
              e
            )
          })())
        ;(x.ID = 'editor.contrib.suggestController'),
          (x = k = v(
            [
              p.editorContribution,
              y(1, l.ICommandService),
              y(2, a.ITelemetryService),
              y(3, u.IContextKeyService),
              y(4, s.IInstantiationService)
            ],
            x
          )),
          (t.SuggestController = x)
        var N = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.triggerSuggest',
                label: n.localize(1, null),
                alias: 'Trigger Suggest',
                precondition: u.ContextKeyExpr.and(
                  c.EditorContextKeys.writable,
                  c.EditorContextKeys.hasCompletionItemProvider
                ),
                kbOpts: {
                  kbExpr: c.EditorContextKeys.textFocus,
                  primary: 2058,
                  mac: { primary: 266 }
                }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = x.get(t)
              n && n.triggerSuggest()
            }),
            t
          )
        })(d.EditorAction)
        ;(N = v([d.editorAction], N)), (t.TriggerSuggestAction = N)
        var M = d.CommonEditorRegistry.commandWeight(90),
          T = d.EditorCommand.bindToContribution(x.get)
        d.CommonEditorRegistry.registerEditorCommand(
          new T({
            id: 'acceptSelectedSuggestion',
            precondition: w.Context.Visible,
            handler: function(e) {
              return e.acceptSelectedSuggestion()
            },
            kbOpts: {
              weight: M,
              kbExpr: c.EditorContextKeys.textFocus,
              primary: 2
            }
          })
        ),
          d.CommonEditorRegistry.registerEditorCommand(
            new T({
              id: 'acceptSelectedSuggestionOnEnter',
              precondition: w.Context.Visible,
              handler: function(e) {
                return e.acceptSelectedSuggestion()
              },
              kbOpts: {
                weight: M,
                kbExpr: u.ContextKeyExpr.and(
                  c.EditorContextKeys.textFocus,
                  w.Context.AcceptSuggestionsOnEnter,
                  w.Context.MakesTextEdit
                ),
                primary: 3
              }
            })
          ),
          d.CommonEditorRegistry.registerEditorCommand(
            new T({
              id: 'hideSuggestWidget',
              precondition: w.Context.Visible,
              handler: function(e) {
                return e.cancelSuggestWidget()
              },
              kbOpts: {
                weight: M,
                kbExpr: c.EditorContextKeys.textFocus,
                primary: 9,
                secondary: [1033]
              }
            })
          ),
          d.CommonEditorRegistry.registerEditorCommand(
            new T({
              id: 'selectNextSuggestion',
              precondition: u.ContextKeyExpr.and(
                w.Context.Visible,
                w.Context.MultipleSuggestions
              ),
              handler: function(e) {
                return e.selectNextSuggestion()
              },
              kbOpts: {
                weight: M,
                kbExpr: c.EditorContextKeys.textFocus,
                primary: 18,
                secondary: [2066],
                mac: { primary: 18, secondary: [2066, 300] }
              }
            })
          ),
          d.CommonEditorRegistry.registerEditorCommand(
            new T({
              id: 'selectNextPageSuggestion',
              precondition: u.ContextKeyExpr.and(
                w.Context.Visible,
                w.Context.MultipleSuggestions
              ),
              handler: function(e) {
                return e.selectNextPageSuggestion()
              },
              kbOpts: {
                weight: M,
                kbExpr: c.EditorContextKeys.textFocus,
                primary: 12,
                secondary: [2060]
              }
            })
          ),
          d.CommonEditorRegistry.registerEditorCommand(
            new T({
              id: 'selectLastSuggestion',
              precondition: u.ContextKeyExpr.and(
                w.Context.Visible,
                w.Context.MultipleSuggestions
              ),
              handler: function(e) {
                return e.selectLastSuggestion()
              }
            })
          ),
          d.CommonEditorRegistry.registerEditorCommand(
            new T({
              id: 'selectPrevSuggestion',
              precondition: u.ContextKeyExpr.and(
                w.Context.Visible,
                w.Context.MultipleSuggestions
              ),
              handler: function(e) {
                return e.selectPrevSuggestion()
              },
              kbOpts: {
                weight: M,
                kbExpr: c.EditorContextKeys.textFocus,
                primary: 16,
                secondary: [2064],
                mac: { primary: 16, secondary: [2064, 302] }
              }
            })
          ),
          d.CommonEditorRegistry.registerEditorCommand(
            new T({
              id: 'selectPrevPageSuggestion',
              precondition: u.ContextKeyExpr.and(
                w.Context.Visible,
                w.Context.MultipleSuggestions
              ),
              handler: function(e) {
                return e.selectPrevPageSuggestion()
              },
              kbOpts: {
                weight: M,
                kbExpr: c.EditorContextKeys.textFocus,
                primary: 11,
                secondary: [2059]
              }
            })
          ),
          d.CommonEditorRegistry.registerEditorCommand(
            new T({
              id: 'selectFirstSuggestion',
              precondition: u.ContextKeyExpr.and(
                w.Context.Visible,
                w.Context.MultipleSuggestions
              ),
              handler: function(e) {
                return e.selectFirstSuggestion()
              }
            })
          ),
          d.CommonEditorRegistry.registerEditorCommand(
            new T({
              id: 'toggleSuggestionDetails',
              precondition: w.Context.Visible,
              handler: function(e) {
                return e.toggleSuggestionDetails()
              },
              kbOpts: {
                weight: M,
                kbExpr: c.EditorContextKeys.textFocus,
                primary: 2058,
                mac: { primary: 266 }
              }
            })
          ),
          d.CommonEditorRegistry.registerEditorCommand(
            new T({
              id: 'toggleSuggestionFocus',
              precondition: w.Context.Visible,
              handler: function(e) {
                return e.toggleSuggestionFocus()
              },
              kbOpts: {
                weight: M,
                kbExpr: c.EditorContextKeys.textFocus,
                primary: 2570,
                mac: { primary: 778 }
              }
            })
          )
        var k
      }),
      define(d[519], h([
        0,
        1,
        364,
        18,
        10,
        2,
        21,
        13,
        17,
        3,
        23,
        14,
        54,
        33
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p) {
        'use strict'
        function f(e, t) {
          var n = u.DocumentHighlightProviderRegistry.ordered(e),
            r = !1
          return i
            .sequence(
              n.map(function(n) {
                return function() {
                  if (!r)
                    return i
                      .asWinJsPromise(function(i) {
                        return n.provideDocumentHighlights(e, t, i)
                      })
                      .then(
                        function(e) {
                          if (Array.isArray(e) && e.length > 0)
                            return (r = !0), e
                        },
                        function(e) {
                          o.onUnexpectedExternalError(e)
                        }
                      )
                }
              })
            )
            .then(function(e) {
              return e[0]
            })
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.editorWordHighlight = c.registerColor(
            'editor.wordHighlightBackground',
            { dark: '#575757B8', light: '#57575740', hc: null },
            n.localize(0, null)
          )),
          (t.editorWordHighlightStrong = c.registerColor(
            'editor.wordHighlightStrongBackground',
            { dark: '#004972B8', light: '#0e639c40', hc: null },
            n.localize(1, null)
          )),
          (t.getOccurrencesAtPosition = f),
          a.CommonEditorRegistry.registerDefaultLanguageCommand(
            '_executeDocumentHighlights',
            f
          )
        var g = (function() {
          function e(e) {
            var t = this
            ;(this.workerRequestTokenId = 0),
              (this.workerRequest = null),
              (this.workerRequestCompleted = !1),
              (this.workerRequestValue = []),
              (this.lastCursorPositionChangeTime = 0),
              (this.renderDecorationsTimer = -1),
              (this.editor = e),
              (this.occurrencesHighlight = this.editor.getConfiguration().contribInfo.occurrencesHighlight),
              (this.model = this.editor.getModel()),
              (this.toUnhook = []),
              this.toUnhook.push(
                e.onDidChangeCursorPosition(function(e) {
                  t.occurrencesHighlight && t._onPositionChanged(e)
                })
              ),
              this.toUnhook.push(
                e.onDidChangeModel(function(e) {
                  t._stopAll(), (t.model = t.editor.getModel())
                })
              ),
              this.toUnhook.push(
                e.onDidChangeModelContent(function(e) {
                  t._stopAll()
                })
              ),
              this.toUnhook.push(
                e.onDidChangeConfiguration(function(e) {
                  var n = t.editor.getConfiguration().contribInfo
                    .occurrencesHighlight
                  t.occurrencesHighlight !== n &&
                    ((t.occurrencesHighlight = n), t._stopAll())
                })
              ),
              (this._lastWordRange = null),
              (this._decorationIds = []),
              (this.workerRequestTokenId = 0),
              (this.workerRequest = null),
              (this.workerRequestCompleted = !1),
              (this.lastCursorPositionChangeTime = 0),
              (this.renderDecorationsTimer = -1)
          }
          return (
            (e.prototype._removeDecorations = function() {
              this._decorationIds.length > 0 &&
                (this._decorationIds = this.editor.deltaDecorations(
                  this._decorationIds,
                  []
                ))
            }),
            (e.prototype._stopAll = function() {
              ;(this._lastWordRange = null),
                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))
            }),
            (e.prototype._onPositionChanged = function(e) {
              var t = this
              if (this.occurrencesHighlight)
                if (e.reason === h.CursorChangeReason.Explicit)
                  if (u.DocumentHighlightProviderRegistry.has(this.model)) {
                    var n = this.editor.getSelection()
                    if (n.startLineNumber === n.endLineNumber) {
                      var i = n.startLineNumber,
                        o = n.startColumn,
                        s = n.endColumn,
                        a = this.model.getWordAtPosition({
                          lineNumber: i,
                          column: o
                        })
                      if (!a || a.startColumn > o || a.endColumn < s)
                        this._stopAll()
                      else {
                        for (
                          var l = new r.Range(i, a.startColumn, i, a.endColumn),
                            c =
                              this._lastWordRange &&
                              this._lastWordRange.equalsRange(l),
                            d = 0,
                            p = this._decorationIds.length;
                          !c && d < p;
                          d++
                        ) {
                          var g = this.model.getDecorationRange(
                            this._decorationIds[d]
                          )
                          g &&
                            g.startLineNumber === i &&
                            g.startColumn <= o &&
                            g.endColumn >= s &&
                            (c = !0)
                        }
                        if (
                          ((this.lastCursorPositionChangeTime = new Date().getTime()),
                          c)
                        )
                          this.workerRequestCompleted &&
                            -1 !== this.renderDecorationsTimer &&
                            (clearTimeout(this.renderDecorationsTimer),
                            (this.renderDecorationsTimer = -1),
                            this._beginRenderDecorations())
                        else {
                          this._stopAll()
                          var m = ++this.workerRequestTokenId
                          ;(this.workerRequestCompleted = !1),
                            (this.workerRequest = f(
                              this.model,
                              this.editor.getPosition()
                            )),
                            this.workerRequest
                              .then(function(e) {
                                m === t.workerRequestTokenId &&
                                  ((t.workerRequestCompleted = !0),
                                  (t.workerRequestValue = e || []),
                                  t._beginRenderDecorations())
                              })
                              .done()
                        }
                        this._lastWordRange = l
                      }
                    } else this._stopAll()
                  } else this._stopAll()
                else this._stopAll()
              else this._stopAll()
            }),
            (e.prototype._beginRenderDecorations = function() {
              var e = this,
                t = new Date().getTime(),
                n = this.lastCursorPositionChangeTime + 250
              t >= n
                ? ((this.renderDecorationsTimer = -1), this.renderDecorations())
                : (this.renderDecorationsTimer = setTimeout(function() {
                    e.renderDecorations()
                  }, n - t))
            }),
            (e.prototype.renderDecorations = function() {
              this.renderDecorationsTimer = -1
              for (
                var t = [], n = 0, i = this.workerRequestValue.length;
                n < i;
                n++
              ) {
                var o = this.workerRequestValue[n]
                t.push({
                  range: o.range,
                  options: e._getDecorationOptions(o.kind)
                })
              }
              this._decorationIds = this.editor.deltaDecorations(
                this._decorationIds,
                t
              )
            }),
            (e._getDecorationOptions = function(e) {
              return e === u.DocumentHighlightKind.Write
                ? this._WRITE_OPTIONS
                : e === u.DocumentHighlightKind.Text
                  ? this._TEXT_OPTIONS
                  : this._REGULAR_OPTIONS
            }),
            (e.prototype.dispose = function() {
              this._stopAll(), (this.toUnhook = l.dispose(this.toUnhook))
            }),
            e
          )
        })()
        ;(g._WRITE_OPTIONS = p.ModelDecorationOptions.register({
          stickiness: s.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
          className: 'wordHighlightStrong',
          overviewRuler: {
            color: '#A0A0A0',
            darkColor: '#A0A0A0',
            position: s.OverviewRulerLane.Center
          }
        })),
          (g._TEXT_OPTIONS = p.ModelDecorationOptions.register({
            stickiness: s.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
            className: 'selectionHighlight',
            overviewRuler: {
              color: '#A0A0A0',
              darkColor: '#A0A0A0',
              position: s.OverviewRulerLane.Center
            }
          })),
          (g._REGULAR_OPTIONS = p.ModelDecorationOptions.register({
            stickiness: s.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
            className: 'wordHighlight',
            overviewRuler: {
              color: '#A0A0A0',
              darkColor: '#A0A0A0',
              position: s.OverviewRulerLane.Center
            }
          }))
        var m = (_ = (function() {
          function e(e) {
            this.wordHighligher = new g(e)
          }
          return (
            (e.prototype.getId = function() {
              return _.ID
            }),
            (e.prototype.dispose = function() {
              this.wordHighligher.dispose()
            }),
            e
          )
        })())
        ;(m.ID = 'editor.contrib.wordHighlighter'),
          (m = _ = v([a.commonEditorContribution], m)),
          d.registerThemingParticipant(function(e, n) {
            var i = e.getColor(c.editorSelectionHighlight)
            i &&
              (n.addRule(
                '.monaco-editor .focused .selectionHighlight { background-color: ' +
                  i +
                  '; }'
              ),
              n.addRule(
                '.monaco-editor .selectionHighlight { background-color: ' +
                  i.transparent(0.5) +
                  '; }'
              ))
            var o = e.getColor(t.editorWordHighlight)
            o &&
              n.addRule(
                '.monaco-editor .wordHighlight { background-color: ' + o + '; }'
              )
            var r = e.getColor(t.editorWordHighlightStrong)
            r &&
              n.addRule(
                '.monaco-editor .wordHighlightStrong { background-color: ' +
                  r +
                  '; }'
              )
            var s = e.getColor(c.activeContrastBorder)
            s &&
              (n.addRule(
                '.monaco-editor .selectionHighlight { border: 1px dotted ' +
                  s +
                  '; box-sizing: border-box; }'
              ),
              n.addRule(
                '.monaco-editor .wordHighlight { border: 1px dashed ' +
                  s +
                  '; box-sizing: border-box; }'
              ),
              n.addRule(
                '.monaco-editor .wordHighlightStrong { border: 1px dashed ' +
                  s +
                  '; box-sizing: border-box; }'
              ))
          })
        var _
      }),
      define(d[108], h([
        0,
        1,
        365,
        55,
        9,
        28,
        50,
        11,
        6,
        69,
        16,
        41,
        170,
        162,
        19,
        34,
        265
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g, m) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.IPeekViewService = c.createDecorator('peekViewService'))
        !(function(e) {
          ;(e.inPeekEditor = new g.RawContextKey(
            'inReferenceSearchEditor',
            !0
          )),
            (e.notInPeekEditor = e.inPeekEditor.toNegated())
        })(t.PeekContext || (t.PeekContext = {})),
          (t.NOT_INNER_EDITOR_CONTEXT_KEY = new g.RawContextKey(
            'inReferenceSearchEditor',
            !0
          )),
          (t.getOuterEditor = function(e) {
            var t = e.get(d.ICodeEditorService).getFocusedCodeEditor()
            return t instanceof p.EmbeddedCodeEditorWidget
              ? t.getParentEditor()
              : t
          })
        var v = {
            headerBackgroundColor: m.Color.white,
            primaryHeadingColor: m.Color.fromHex('#333333'),
            secondaryHeadingColor: m.Color.fromHex('#6c6c6cb3')
          },
          _ = (function(e) {
            function t(t, n) {
              void 0 === n && (n = {})
              var i = e.call(this, t, n) || this
              return (
                (i._onDidClose = new a.Emitter()),
                (i._isActive = !1),
                r.mixin(i.options, v, !1),
                i
              )
            }
            return (
              f(t, e),
              (t.prototype.dispose = function() {
                ;(this._isActive = !1),
                  e.prototype.dispose.call(this),
                  this._onDidClose.fire(this)
              }),
              Object.defineProperty(t.prototype, 'onDidClose', {
                get: function() {
                  return this._onDidClose.event
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(t.prototype, 'isActive', {
                get: function() {
                  return this._isActive
                },
                enumerable: !0,
                configurable: !0
              }),
              (t.prototype.show = function(t, n) {
                ;(this._isActive = !0), e.prototype.show.call(this, t, n)
              }),
              (t.prototype.style = function(t) {
                var n = this.options
                t.headerBackgroundColor &&
                  (n.headerBackgroundColor = t.headerBackgroundColor),
                  t.primaryHeadingColor &&
                    (n.primaryHeadingColor = t.primaryHeadingColor),
                  t.secondaryHeadingColor &&
                    (n.secondaryHeadingColor = t.secondaryHeadingColor),
                  e.prototype.style.call(this, t)
              }),
              (t.prototype._applyStyles = function() {
                e.prototype._applyStyles.call(this)
                var t = this.options
                this._headElement &&
                  (this._headElement.style.backgroundColor = t.headerBackgroundColor.toString()),
                  this._primaryHeading &&
                    (this._primaryHeading.style.color = t.primaryHeadingColor.toString()),
                  this._secondaryHeading &&
                    (this._secondaryHeading.style.color = t.secondaryHeadingColor.toString()),
                  this._bodyElement &&
                    (this._bodyElement.style.borderColor = t.frameColor.toString())
              }),
              (t.prototype._fillContainer = function(e) {
                this.setCssClass('peekview-widget'),
                  (this._headElement = s.$('.head').getHTMLElement()),
                  (this._bodyElement = s.$('.body').getHTMLElement()),
                  this._fillHead(this._headElement),
                  this._fillBody(this._bodyElement),
                  e.appendChild(this._headElement),
                  e.appendChild(this._bodyElement)
              }),
              (t.prototype._fillHead = function(e) {
                var t = this,
                  o = s
                    .$('.peekview-title')
                    .on(u.EventType.CLICK, function(e) {
                      return t._onTitleClick(e)
                    })
                    .appendTo(this._headElement)
                    .getHTMLElement()
                ;(this._primaryHeading = s
                  .$('span.filename')
                  .appendTo(o)
                  .getHTMLElement()),
                  (this._secondaryHeading = s
                    .$('span.dirname')
                    .appendTo(o)
                    .getHTMLElement()),
                  (this._metaHeading = s
                    .$('span.meta')
                    .appendTo(o)
                    .getHTMLElement()),
                  (this._actionbarWidget = new l.ActionBar(
                    s.$('.peekview-actions').appendTo(this._headElement)
                  )),
                  this._actionbarWidget.push(
                    new i.Action(
                      'peekview.close',
                      n.localize(0, null),
                      'close-peekview-action',
                      !0,
                      function() {
                        return t.dispose(), null
                      }
                    ),
                    { label: !1, icon: !0 }
                  )
              }),
              (t.prototype._onTitleClick = function(e) {}),
              (t.prototype.setTitle = function(e, t) {
                s.$(this._primaryHeading).safeInnerHtml(e),
                  this._primaryHeading.setAttribute('aria-label', e),
                  t
                    ? s.$(this._secondaryHeading).safeInnerHtml(t)
                    : u.clearNode(this._secondaryHeading)
              }),
              (t.prototype.setMetaTitle = function(e) {
                e
                  ? s.$(this._metaHeading).safeInnerHtml(e)
                  : u.clearNode(this._metaHeading)
              }),
              (t.prototype._fillBody = function(e) {}),
              (t.prototype._doLayout = function(e, t) {
                if (!this._isShowing && e < 0)
                  return this.dispose(), void this._onDidClose.fire(this)
                var n = Math.ceil(
                    1.2 * this.editor.getConfiguration().lineHeight
                  ),
                  i = e - (n + 2)
                this._doLayoutHead(n, t), this._doLayoutBody(i, t)
              }),
              (t.prototype._doLayoutHead = function(e, t) {
                ;(this._headElement.style.height = o.format('{0}px', e)),
                  (this._headElement.style.lineHeight = this._headElement.style.height)
              }),
              (t.prototype._doLayoutBody = function(e, t) {
                this._bodyElement.style.height = o.format('{0}px', e)
              }),
              t
            )
          })(h.ZoneWidget)
        t.PeekViewWidget = _
      }),
      define(d[521], h([
        0,
        1,
        5,
        3,
        9,
        6,
        94,
        26,
        44,
        16,
        47,
        19,
        20,
        13,
        32,
        187,
        14,
        23,
        15,
        48,
        67,
        24,
        30,
        252
      ]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c,
        d,
        h,
        p,
        g,
        m,
        _,
        b,
        C,
        w,
        S,
        E,
        L
      ) {
        'use strict'
        function x(e, t) {
          return e && 0 !== e.length
            ? 1 === e.length
              ? t
                ? o.format(k, e[0].positionLineNumber, e[0].positionColumn, t)
                : o.format(I, e[0].positionLineNumber, e[0].positionColumn)
              : t
                ? o.format(D, e.length, t)
                : e.length > 0
                  ? o.format(O, e.length)
                  : null
            : T
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var N = new d.RawContextKey('accessibilityHelpWidgetVisible', !1),
          M = (F = (function(e) {
            function t(t, n) {
              var i = e.call(this) || this
              return (
                (i._editor = t),
                (i._widget = i._register(n.createInstance(R, i._editor))),
                i
              )
            }
            return (
              f(t, e),
              (t.get = function(e) {
                return e.getContribution(F.ID)
              }),
              (t.prototype.getId = function() {
                return F.ID
              }),
              (t.prototype.show = function() {
                this._widget.show()
              }),
              (t.prototype.hide = function() {
                this._widget.hide()
              }),
              t
            )
          })(i.Disposable))
        ;(M.ID = 'editor.contrib.accessibilityHelpController'),
          (M = F = v([g.editorContribution, y(1, l.IInstantiationService)], M))
        var T = n.localize('noSelection', 'No selection'),
          k = n.localize(
            'singleSelectionRange',
            'Line {0}, Column {1} ({2} selected)'
          ),
          I = n.localize('singleSelection', 'Line {0}, Column {1}'),
          D = n.localize(
            'multiSelectionRange',
            '{0} selections ({1} characters selected)'
          ),
          O = n.localize('multiSelection', '{0} selections'),
          R = (function(e) {
            function t(t, i, o, s) {
              var u = e.call(this) || this
              return (
                (u._contextKeyService = i),
                (u._keybindingService = o),
                (u._openerService = s),
                (u._editor = t),
                (u._isVisibleKey = N.bindTo(u._contextKeyService)),
                (u._domNode = a.createFastDomNode(
                  document.createElement('div')
                )),
                u._domNode.setClassName('accessibilityHelpWidget'),
                u._domNode.setDisplay('none'),
                u._domNode.setAttribute('role', 'dialog'),
                u._domNode.setAttribute('aria-hidden', 'true'),
                (u._contentDomNode = a.createFastDomNode(
                  document.createElement('div')
                )),
                u._contentDomNode.setAttribute('role', 'document'),
                u._domNode.appendChild(u._contentDomNode),
                (u._isVisible = !1),
                u._register(
                  u._editor.onDidLayoutChange(function() {
                    u._isVisible && u._layout()
                  })
                ),
                u._register(
                  r.addStandardDisposableListener(
                    u._contentDomNode.domNode,
                    'keydown',
                    function(e) {
                      if (
                        u._isVisible &&
                        (e.equals(2083) &&
                          (w.alert(
                            n.localize(
                              'emergencyConfOn',
                              "Now changing the setting `accessibilitySupport` to 'on'."
                            )
                          ),
                          u._editor.updateOptions({
                            accessibilitySupport: 'on'
                          }),
                          r.clearNode(u._contentDomNode.domNode),
                          u._buildContent(),
                          u._contentDomNode.domNode.focus(),
                          e.preventDefault(),
                          e.stopPropagation()),
                        e.equals(2086))
                      ) {
                        w.alert(
                          n.localize(
                            'openingDocs',
                            'Now opening the Editor Accessibility documentation page.'
                          )
                        )
                        var t = u._editor.getRawConfiguration()
                          .accessibilityHelpUrl
                        void 0 === t &&
                          (t =
                            'https://go.microsoft.com/fwlink/?linkid=852450'),
                          u._openerService.open(E.default.parse(t)),
                          e.preventDefault(),
                          e.stopPropagation()
                      }
                    }
                  )
                ),
                u.onblur(u._contentDomNode.domNode, function() {
                  u.hide()
                }),
                u._editor.addOverlayWidget(u),
                u
              )
            }
            return (
              f(t, e),
              (t.prototype.dispose = function() {
                this._editor.removeOverlayWidget(this),
                  e.prototype.dispose.call(this)
              }),
              (t.prototype.getId = function() {
                return t.ID
              }),
              (t.prototype.getDomNode = function() {
                return this._domNode.domNode
              }),
              (t.prototype.getPosition = function() {
                return { preference: null }
              }),
              (t.prototype.show = function() {
                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())
              }),
              (t.prototype._descriptionForCommand = function(e, t, n) {
                var i = this._keybindingService.lookupKeybinding(e)
                return i ? o.format(t, i.getAriaLabel()) : o.format(n, e)
              }),
              (t.prototype._buildContent = function() {
                var e = this._editor.getConfiguration(),
                  t = this._editor.getSelections(),
                  i = 0
                if (t) {
                  var o = this._editor.getModel()
                  o &&
                    t.forEach(function(e) {
                      i += o.getValueLengthInRange(e)
                    })
                }
                var r = x(t, i)
                switch (
                  (e.wrappingInfo.inDiffEditor
                    ? e.readOnly
                      ? (r += n.localize(
                          'readonlyDiffEditor',
                          ' in a read-only pane of a diff editor.'
                        ))
                      : (r += n.localize(
                          'editableDiffEditor',
                          ' in a pane of a diff editor.'
                        ))
                    : e.readOnly
                      ? (r += n.localize(
                          'readonlyEditor',
                          ' in a read-only code editor'
                        ))
                      : (r += n.localize(
                          'editableEditor',
                          ' in a code editor'
                        )),
                  e.accessibilitySupport)
                ) {
                  case 0:
                    var a = C.isMacintosh
                      ? n.localize(
                          'changeConfigToOnMac',
                          'To configure the editor to be optimized for usage with a Screen Reader press Command+E now.'
                        )
                      : n.localize(
                          'changeConfigToOnWinLinux',
                          'To configure the editor to be optimized for usage with a Screen Reader press Control+E now.'
                        )
                    r += '\n\n - ' + a
                    break
                  case 2:
                    r +=
                      '\n\n - ' +
                      n.localize(
                        'auto_on',
                        'The editor is configured to be optimized for usage with a Screen Reader.'
                      )
                    break
                  case 1:
                    ;(r +=
                      '\n\n - ' +
                      n.localize(
                        'auto_off',
                        'The editor is configured to never be optimized for usage with a Screen Reader, which is not the case at this time.'
                      )),
                      (r += ' ' + a)
                }
                var u = n.localize(
                    'tabFocusModeOnMsg',
                    'Pressing Tab in the current editor will move focus to the next focusable element. Toggle this behavior by pressing {0}.'
                  ),
                  l = n.localize(
                    '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.'
                  ),
                  c = n.localize(
                    'tabFocusModeOffMsg',
                    'Pressing Tab in the current editor will insert the tab character. Toggle this behavior by pressing {0}.'
                  ),
                  d = n.localize(
                    'tabFocusModeOffMsgNoKb',
                    'Pressing Tab in the current editor will insert the tab character. The command {0} is currently not triggerable by a keybinding.'
                  )
                e.tabFocusMode
                  ? (r +=
                      '\n\n - ' +
                      this._descriptionForCommand(
                        m.ToggleTabFocusModeAction.ID,
                        u,
                        l
                      ))
                  : (r +=
                      '\n\n - ' +
                      this._descriptionForCommand(
                        m.ToggleTabFocusModeAction.ID,
                        c,
                        d
                      )),
                  (r +=
                    '\n\n - ' +
                    (C.isMacintosh
                      ? n.localize(
                          'openDocMac',
                          'Press Command+H now to open a browser window with more information related to editor accessibility.'
                        )
                      : n.localize(
                          'openDocWinLinux',
                          'Press Control+H now to open a browser window with more information related to editor accessibility.'
                        ))),
                  (r +=
                    '\n\n' +
                    n.localize(
                      'outroMsg',
                      'You can dismiss this tooltip and return to the editor by pressing Escape or Shift+Escape.'
                    )),
                  this._contentDomNode.domNode.appendChild(
                    s.renderFormattedText(r)
                  )
              }),
              (t.prototype.hide = function() {
                this._isVisible &&
                  ((this._isVisible = !1),
                  this._isVisibleKey.reset(),
                  this._domNode.setDisplay('none'),
                  this._domNode.setAttribute('aria-hidden', 'true'),
                  (this._contentDomNode.domNode.tabIndex = -1),
                  r.clearNode(this._contentDomNode.domNode),
                  this._editor.focus())
              }),
              (t.prototype._layout = function() {
                var e = this._editor.getLayoutInfo(),
                  n = Math.max(5, Math.min(t.WIDTH, e.width - 40)),
                  i = Math.max(5, Math.min(t.HEIGHT, e.height - 40))
                this._domNode.setWidth(n), this._domNode.setHeight(i)
                var o = Math.round((e.height - i) / 2)
                this._domNode.setTop(o)
                var r = Math.round((e.width - n) / 2)
                this._domNode.setLeft(r)
              }),
              t
            )
          })(u.Widget)
        ;(R.ID = 'editor.contrib.accessibilityHelpWidget'),
          (R.WIDTH = 500),
          (R.HEIGHT = 300),
          (R = v(
            [
              y(1, d.IContextKeyService),
              y(2, c.IKeybindingService),
              y(3, S.IOpenerService)
            ],
            R
          ))
        var P = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.showAccessibilityHelp',
                label: n.localize(
                  'ShowAccessibilityHelpAction',
                  'Show Accessibility Help'
                ),
                alias: 'Show Accessibility Help',
                precondition: null,
                kbOpts: {
                  kbExpr: h.EditorContextKeys.focus,
                  primary: L.isIE ? 2107 : 571
                }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = M.get(t)
              n && n.show()
            }),
            t
          )
        })(p.EditorAction)
        P = v([p.editorAction], P)
        var A = p.EditorCommand.bindToContribution(M.get)
        p.CommonEditorRegistry.registerEditorCommand(
          new A({
            id: 'closeAccessibilityHelp',
            precondition: N,
            handler: function(e) {
              return e.hide()
            },
            kbOpts: {
              weight: p.CommonEditorRegistry.commandWeight(100),
              kbExpr: h.EditorContextKeys.focus,
              primary: 9,
              secondary: [1033]
            }
          })
        ),
          _.registerThemingParticipant(function(e, t) {
            var n = e.getColor(b.editorWidgetBackground)
            n &&
              t.addRule(
                '.monaco-editor .accessibilityHelpWidget { background-color: ' +
                  n +
                  '; }'
              )
            var i = e.getColor(b.widgetShadow)
            i &&
              t.addRule(
                '.monaco-editor .accessibilityHelpWidget { box-shadow: 0 2px 8px ' +
                  i +
                  '; }'
              )
            var o = e.getColor(b.contrastBorder)
            o &&
              t.addRule(
                '.monaco-editor .accessibilityHelpWidget { border: 2px solid ' +
                  o +
                  '; }'
              )
          })
        var F
      }),
      define(d[522], h([
        0,
        1,
        366,
        3,
        9,
        13,
        25,
        32,
        89,
        131,
        17,
        83,
        70,
        14,
        23,
        250
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g) {
        'use strict'
        function m(e) {
          for (var t = '', n = 0, i = e.length; n < i; n++) {
            var o = e.charCodeAt(n)
            switch (o) {
              case 9:
                t += '&rarr;'
                break
              case 32:
                t += '&middot;'
                break
              case 60:
                t += '&lt;'
                break
              case 62:
                t += '&gt;'
                break
              case 38:
                t += '&amp;'
                break
              default:
                t += String.fromCharCode(o)
            }
          }
          return t
        }
        function _(e) {
          var t = c.TokenizationRegistry.get(e.language)
          return (
            t || {
              getInitialState: function() {
                return h.NULL_STATE
              },
              tokenize: function(t, n, i) {
                return h.nullTokenize(e.language, t, n, i)
              },
              tokenize2: function(t, n, i) {
                return h.nullTokenize2(e.id, t, n, i)
              }
            }
          )
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var b = (S = (function(e) {
          function t(t, n, i) {
            var o = e.call(this) || this
            return (
              (o._editor = t),
              (o._standaloneThemeService = n),
              (o._modeService = i),
              (o._widget = null),
              o._register(
                o._editor.onDidChangeModel(function(e) {
                  return o.stop()
                })
              ),
              o._register(
                o._editor.onDidChangeModelLanguage(function(e) {
                  return o.stop()
                })
              ),
              o._register(
                c.TokenizationRegistry.onDidChange(function(e) {
                  return o.stop()
                })
              ),
              o
            )
          }
          return (
            f(t, e),
            (t.get = function(e) {
              return e.getContribution(S.ID)
            }),
            (t.prototype.getId = function() {
              return S.ID
            }),
            (t.prototype.dispose = function() {
              this.stop(), e.prototype.dispose.call(this)
            }),
            (t.prototype.launch = function() {
              this._widget ||
                (this._editor.getModel() &&
                  (this._widget = new w(
                    this._editor,
                    this._standaloneThemeService,
                    this._modeService
                  )))
            }),
            (t.prototype.stop = function() {
              this._widget && (this._widget.dispose(), (this._widget = null))
            }),
            t
          )
        })(i.Disposable))
        ;(b.ID = 'editor.contrib.inspectTokens'),
          (b = S = v(
            [
              a.editorContribution,
              y(1, d.IStandaloneThemeService),
              y(2, u.IModeService)
            ],
            b
          ))
        var C = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.inspectTokens',
                label: n.localize(0, null),
                alias: 'Developer: Inspect Tokens',
                precondition: null
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = b.get(t)
              n && n.launch()
            }),
            t
          )
        })(r.EditorAction)
        C = v([r.editorAction], C)
        var w = (function(e) {
          function t(t, n, i) {
            var o = e.call(this) || this
            return (
              (o.allowEditorOverflow = !0),
              (o._editor = t),
              (o._standaloneThemeService = n),
              (o._modeService = i),
              (o._model = o._editor.getModel()),
              (o._domNode = document.createElement('div')),
              (o._domNode.className = 'tokens-inspect-widget'),
              (o._tokenizationSupport = _(o._model.getLanguageIdentifier())),
              o._compute(o._editor.getPosition()),
              o._register(
                o._editor.onDidChangeCursorPosition(function(e) {
                  return o._compute(o._editor.getPosition())
                })
              ),
              o._editor.addContentWidget(o),
              o
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              this._editor.removeContentWidget(this),
                e.prototype.dispose.call(this)
            }),
            (t.prototype.getId = function() {
              return t._ID
            }),
            (t.prototype._compute = function(e) {
              for (
                var t = this._getTokensAtLine(e.lineNumber),
                  n = 0,
                  i = t.tokens1.length - 1;
                i >= 0;
                i--
              ) {
                var r = t.tokens1[i]
                if (e.column - 1 >= r.offset) {
                  n = i
                  break
                }
              }
              for (var s = 0, i = t.tokens2.length >>> 1; i >= 0; i--)
                if (e.column - 1 >= t.tokens2[i << 1]) {
                  s = i
                  break
                }
              var a = '',
                u = this._model.getLineContent(e.lineNumber),
                l = ''
              if (n < t.tokens1.length) {
                var c = t.tokens1[n].offset,
                  d =
                    n + 1 < t.tokens1.length
                      ? t.tokens1[n + 1].offset
                      : u.length
                l = u.substring(c, d)
              }
              ;(a +=
                '<h2 class="tm-token">' +
                m(l) +
                '<span class="tm-token-length">(' +
                l.length +
                ' ' +
                (1 === l.length ? 'char' : 'chars') +
                ')</span></h2>'),
                (a +=
                  '<hr class="tokens-inspect-separator" style="clear:both"/>')
              var h = this._decodeMetadata(t.tokens2[1 + (s << 1)])
              ;(a += '<table class="tm-metadata-table"><tbody>'),
                (a +=
                  '<tr><td class="tm-metadata-key">language</td><td class="tm-metadata-value">' +
                  o.escape(h.languageIdentifier.language) +
                  '</td>'),
                (a +=
                  '<tr><td class="tm-metadata-key">token type</td><td class="tm-metadata-value">' +
                  this._tokenTypeToString(h.tokenType) +
                  '</td>'),
                (a +=
                  '<tr><td class="tm-metadata-key">font style</td><td class="tm-metadata-value">' +
                  this._fontStyleToString(h.fontStyle) +
                  '</td>'),
                (a +=
                  '<tr><td class="tm-metadata-key">foreground</td><td class="tm-metadata-value">' +
                  h.foreground.toRGBHex() +
                  '</td>'),
                (a +=
                  '<tr><td class="tm-metadata-key">background</td><td class="tm-metadata-value">' +
                  h.background.toRGBHex() +
                  '</td>'),
                (a += '</tbody></table>'),
                (a += '<hr class="tokens-inspect-separator"/>'),
                n < t.tokens1.length &&
                  (a +=
                    '<span class="tm-token-type">' +
                    o.escape(t.tokens1[n].type) +
                    '</span>'),
                (this._domNode.innerHTML = a),
                this._editor.layoutContentWidget(this)
            }),
            (t.prototype._decodeMetadata = function(e) {
              var t = c.TokenizationRegistry.getColorMap(),
                n = l.TokenMetadata.getLanguageId(e),
                i = l.TokenMetadata.getTokenType(e),
                o = l.TokenMetadata.getFontStyle(e),
                r = l.TokenMetadata.getForeground(e),
                s = l.TokenMetadata.getBackground(e)
              return {
                languageIdentifier: this._modeService.getLanguageIdentifier(n),
                tokenType: i,
                fontStyle: o,
                foreground: t[r],
                background: t[s]
              }
            }),
            (t.prototype._tokenTypeToString = function(e) {
              switch (e) {
                case 0:
                  return 'Other'
                case 1:
                  return 'Comment'
                case 2:
                  return 'String'
                case 4:
                  return 'RegEx'
              }
              return '??'
            }),
            (t.prototype._fontStyleToString = function(e) {
              var t = ''
              return (
                1 & e && (t += 'italic '),
                2 & e && (t += 'bold '),
                4 & e && (t += 'underline '),
                0 === t.length && (t = '---'),
                t
              )
            }),
            (t.prototype._getTokensAtLine = function(e) {
              var t = this._getStateBeforeLine(e),
                n = this._tokenizationSupport.tokenize(
                  this._model.getLineContent(e),
                  t,
                  0
                ),
                i = this._tokenizationSupport.tokenize2(
                  this._model.getLineContent(e),
                  t,
                  0
                )
              return {
                startState: t,
                tokens1: n.tokens,
                tokens2: i.tokens,
                endState: n.endState
              }
            }),
            (t.prototype._getStateBeforeLine = function(e) {
              for (
                var t = this._tokenizationSupport.getInitialState(), n = 1;
                n < e;
                n++
              )
                t = this._tokenizationSupport.tokenize(
                  this._model.getLineContent(n),
                  t,
                  0
                ).endState
              return t
            }),
            (t.prototype.getDomNode = function() {
              return this._domNode
            }),
            (t.prototype.getPosition = function() {
              return {
                position: this._editor.getPosition(),
                preference: [
                  s.ContentWidgetPositionPreference.BELOW,
                  s.ContentWidgetPositionPreference.ABOVE
                ]
              }
            }),
            t
          )
        })(i.Disposable)
        ;(w._ID = 'editor.contrib.inspectTokensWidget'),
          p.registerThemingParticipant(function(e, t) {
            var n = e.getColor(g.editorHoverBorder)
            if (n) {
              var i = e.type === p.HIGH_CONTRAST ? 2 : 1
              t.addRule(
                '.monaco-editor .tokens-inspect-widget { border: ' +
                  i +
                  'px solid ' +
                  n +
                  '; }'
              ),
                t.addRule(
                  '.monaco-editor .tokens-inspect-widget .tokens-inspect-separator { background-color: ' +
                    n +
                    '; }'
                )
            }
            var o = e.getColor(g.editorHoverBackground)
            o &&
              t.addRule(
                '.monaco-editor .tokens-inspect-widget { background-color: ' +
                  o +
                  '; }'
              )
          })
        var S
      }),
      define(d[114], h([0, 1, 32, 471, 13, 14, 33]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var a = (l = (function() {
          function e(e, t) {
            ;(this.themeService = t), (this.editor = e)
          }
          return (
            (e.get = function(e) {
              return e.getContribution(l.ID)
            }),
            (e.prototype.getId = function() {
              return l.ID
            }),
            (e.prototype.dispose = function() {
              this.widget && (this.widget.destroy(), (this.widget = null))
            }),
            (e.prototype.run = function(e) {
              var t = this
              this.widget && (this.widget.destroy(), (this.widget = null))
              var n = function(e) {
                t.clearDecorations(),
                  e &&
                    t.lastKnownEditorSelection &&
                    (t.editor.setSelection(t.lastKnownEditorSelection),
                    t.editor.revealRangeInCenterIfOutsideViewport(
                      t.lastKnownEditorSelection
                    )),
                  (t.lastKnownEditorSelection = null),
                  t.editor.focus()
              }
              ;(this.widget = new i.QuickOpenEditorWidget(
                this.editor,
                function() {
                  return n(!1)
                },
                function() {
                  return n(!0)
                },
                function(n) {
                  t.widget.setInput(e.getModel(n), e.getAutoFocus(n))
                },
                { inputAriaLabel: e.inputAriaLabel },
                this.themeService
              )),
                this.lastKnownEditorSelection ||
                  (this.lastKnownEditorSelection = this.editor.getSelection()),
                this.widget.show('')
            }),
            (e.prototype.decorateLine = function(e, t) {
              var n = this
              t.changeDecorations(function(t) {
                var i = []
                n.rangeHighlightDecorationId &&
                  (i.push(n.rangeHighlightDecorationId),
                  (n.rangeHighlightDecorationId = null))
                var o = [{ range: e, options: l._RANGE_HIGHLIGHT_DECORATION }],
                  r = t.deltaDecorations(i, o)
                n.rangeHighlightDecorationId = r[0]
              })
            }),
            (e.prototype.clearDecorations = function() {
              var e = this
              this.rangeHighlightDecorationId &&
                this.editor.changeDecorations(function(t) {
                  t.deltaDecorations([e.rangeHighlightDecorationId], []),
                    (e.rangeHighlightDecorationId = null)
                })
            }),
            e
          )
        })())
        ;(a.ID = 'editor.controller.quickOpenController'),
          (a._RANGE_HIGHLIGHT_DECORATION = s.ModelDecorationOptions.register({
            className: 'rangeHighlight',
            isWholeLine: !0
          })),
          (a = l = v([n.editorContribution, y(1, r.IThemeService)], a)),
          (t.QuickOpenController = a)
        var u = (function(e) {
          function t(t, n) {
            var i = e.call(this, n) || this
            return (i._inputAriaLabel = t), i
          }
          return (
            f(t, e),
            (t.prototype.getController = function(e) {
              return a.get(e)
            }),
            (t.prototype._show = function(e, t) {
              e.run({
                inputAriaLabel: this._inputAriaLabel,
                getModel: function(e) {
                  return t.getModel(e)
                },
                getAutoFocus: function(e) {
                  return t.getAutoFocus(e)
                }
              })
            }),
            t
          )
        })(o.EditorAction)
        t.BaseEditorQuickOpenAction = u
        var l
      }),
      define(d[524], h([
        0,
        1,
        367,
        120,
        93,
        21,
        20,
        114,
        13,
        12,
        2,
        241
      ]), function(e, t, n, i, o, r, s, a, u, l, c) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var d = (function(e) {
          function t(t, n, i) {
            var o = e.call(this) || this
            return (
              (o.editor = n),
              (o.decorator = i),
              (o._parseResult = o._parseInput(t)),
              o
            )
          }
          return (
            f(t, e),
            (t.prototype._parseInput = function(e) {
              var t,
                i = e
                  .split(',')
                  .map(function(e) {
                    return parseInt(e, 10)
                  })
                  .filter(function(e) {
                    return !isNaN(e)
                  })
              t =
                0 === i.length
                  ? new l.Position(-1, -1)
                  : 1 === i.length
                    ? new l.Position(i[0], 1)
                    : new l.Position(i[0], i[1])
              var o,
                s,
                a = (o = r.isCommonCodeEditor(this.editor)
                  ? this.editor.getModel()
                  : this.editor.getModel().modified)
                  .validatePosition(t)
                  .equals(t)
              return (
                (s = a
                  ? t.column && t.column > 1
                    ? n.localize(0, null, t.lineNumber, t.column)
                    : n.localize(1, null, t.lineNumber, t.column)
                  : t.lineNumber < 1 || t.lineNumber > o.getLineCount()
                    ? n.localize(2, null, o.getLineCount())
                    : n.localize(3, null, o.getLineMaxColumn(t.lineNumber))),
                { position: t, isValid: a, label: s }
              )
            }),
            (t.prototype.getLabel = function() {
              return this._parseResult.label
            }),
            (t.prototype.getAriaLabel = function() {
              return n.localize(4, null, this._parseResult.label)
            }),
            (t.prototype.run = function(e, t) {
              return e === o.Mode.OPEN ? this.runOpen() : this.runPreview()
            }),
            (t.prototype.runOpen = function() {
              if (!this._parseResult.isValid) return !1
              var e = this.toSelection()
              return (
                this.editor.setSelection(e),
                this.editor.revealRangeInCenter(e),
                this.editor.focus(),
                !0
              )
            }),
            (t.prototype.runPreview = function() {
              if (!this._parseResult.isValid)
                return this.decorator.clearDecorations(), !1
              var e = this.toSelection()
              return (
                this.editor.revealRangeInCenter(e),
                this.decorator.decorateLine(e, this.editor),
                !1
              )
            }),
            (t.prototype.toSelection = function() {
              return new c.Range(
                this._parseResult.position.lineNumber,
                this._parseResult.position.column,
                this._parseResult.position.lineNumber,
                this._parseResult.position.column
              )
            }),
            t
          )
        })(i.QuickOpenEntry)
        t.GotoLineEntry = d
        var h = (function(e) {
          function t() {
            return (
              e.call(this, n.localize(5, null), {
                id: 'editor.action.gotoLine',
                label: n.localize(6, null),
                alias: 'Go to Line...',
                precondition: null,
                kbOpts: {
                  kbExpr: s.EditorContextKeys.focus,
                  primary: 2085,
                  mac: { primary: 293 }
                }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = this
              this._show(this.getController(t), {
                getModel: function(e) {
                  return new i.QuickOpenModel([new d(e, t, n.getController(t))])
                },
                getAutoFocus: function(e) {
                  return { autoFocusFirstEntry: e.length > 0 }
                }
              })
            }),
            t
          )
        })(a.BaseEditorQuickOpenAction)
        ;(h = v([u.editorAction], h)), (t.GotoLineAction = h)
      }),
      define(d[525], h([
        0,
        1,
        368,
        10,
        85,
        8,
        120,
        93,
        47,
        20,
        114,
        13,
        30
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var p = (function(e) {
          function t(t, n, i, o) {
            var r = e.call(this) || this
            return (
              (r.key = t), r.setHighlights(n), (r.action = i), (r.editor = o), r
            )
          }
          return (
            f(t, e),
            (t.prototype.getLabel = function() {
              return this.action.label
            }),
            (t.prototype.getAriaLabel = function() {
              return n.localize(0, null, this.getLabel())
            }),
            (t.prototype.getGroupLabel = function() {
              return this.key
            }),
            (t.prototype.run = function(e, t) {
              var n = this
              return (
                e === a.Mode.OPEN &&
                (r.TPromise.timeout(50).done(function() {
                  n.editor.focus()
                  try {
                    ;(n.action.run() || r.TPromise.as(null)).done(
                      null,
                      i.onUnexpectedError
                    )
                  } catch (e) {
                    i.onUnexpectedError(e)
                  }
                }, i.onUnexpectedError),
                !0)
              )
            }),
            t
          )
        })(s.QuickOpenEntryGroup)
        t.EditorActionCommandEntry = p
        var g = (function(e) {
          function t() {
            return (
              e.call(this, n.localize(1, null), {
                id: 'editor.action.quickCommand',
                label: n.localize(2, null),
                alias: 'Command Palette',
                precondition: null,
                kbOpts: {
                  kbExpr: l.EditorContextKeys.focus,
                  primary: h.isIE ? 571 : 59
                },
                menuOpts: {}
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = this,
                i = e.get(u.IKeybindingService)
              this._show(this.getController(t), {
                getModel: function(e) {
                  return new s.QuickOpenModel(
                    n._editorActionsToEntries(i, t, e)
                  )
                },
                getAutoFocus: function(e) {
                  return { autoFocusFirstEntry: !0, autoFocusPrefixMatch: e }
                }
              })
            }),
            (t.prototype._sort = function(e, t) {
              var n = e.getLabel().toLowerCase(),
                i = t.getLabel().toLowerCase()
              return n.localeCompare(i)
            }),
            (t.prototype._editorActionsToEntries = function(e, t, n) {
              for (
                var i = t.getSupportedActions(), r = [], s = 0;
                s < i.length;
                s++
              ) {
                var a = i[s],
                  u = e.lookupKeybinding(a.id)
                if (a.label) {
                  var l = o.matchesFuzzy(n, a.label)
                  l && r.push(new p(u ? u.getLabel() : '', l, a, t))
                }
              }
              return (r = r.sort(this._sort))
            }),
            t
          )
        })(c.BaseEditorQuickOpenAction)
        ;(g = v([d.editorAction], g)), (t.QuickCommandAction = g)
      }),
      define(d[526], h([
        0,
        1,
        369,
        85,
        9,
        120,
        93,
        20,
        17,
        114,
        460,
        13,
        2,
        237
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var p = (function(e) {
            function t(t, n, i, o, r, s, a) {
              var u = e.call(this) || this
              return (
                (u.name = t),
                (u.type = n),
                (u.description = i),
                (u.range = o),
                u.setHighlights(r),
                (u.editor = s),
                (u.decorator = a),
                u
              )
            }
            return (
              f(t, e),
              (t.prototype.getLabel = function() {
                return this.name
              }),
              (t.prototype.getAriaLabel = function() {
                return n.localize(0, null, this.name)
              }),
              (t.prototype.getIcon = function() {
                return this.type
              }),
              (t.prototype.getDescription = function() {
                return this.description
              }),
              (t.prototype.getType = function() {
                return this.type
              }),
              (t.prototype.getRange = function() {
                return this.range
              }),
              (t.prototype.run = function(e, t) {
                return e === s.Mode.OPEN ? this.runOpen(t) : this.runPreview()
              }),
              (t.prototype.runOpen = function(e) {
                var t = this.toSelection()
                return (
                  this.editor.setSelection(t),
                  this.editor.revealRangeInCenter(t),
                  this.editor.focus(),
                  !0
                )
              }),
              (t.prototype.runPreview = function() {
                var e = this.toSelection()
                return (
                  this.editor.revealRangeInCenter(e),
                  this.decorator.decorateLine(this.range, this.editor),
                  !1
                )
              }),
              (t.prototype.toSelection = function() {
                return new h.Range(
                  this.range.startLineNumber,
                  this.range.startColumn || 1,
                  this.range.startLineNumber,
                  this.range.startColumn || 1
                )
              }),
              t
            )
          })(r.QuickOpenEntryGroup),
          g = (function(e) {
            function t() {
              return (
                e.call(this, n.localize(1, null), {
                  id: 'editor.action.quickOutline',
                  label: n.localize(2, null),
                  alias: 'Go to Symbol...',
                  precondition: a.EditorContextKeys.hasDocumentSymbolProvider,
                  kbOpts: { kbExpr: a.EditorContextKeys.focus, primary: 3117 },
                  menuOpts: { group: 'navigation', order: 3 }
                }) || this
              )
            }
            return (
              f(t, e),
              (t.prototype.run = function(e, t) {
                var n = this,
                  i = t.getModel()
                return u.DocumentSymbolProviderRegistry.has(i)
                  ? c.getDocumentSymbols(i).then(function(e) {
                      0 !== e.entries.length && n._run(t, e.entries)
                    })
                  : null
              }),
              (t.prototype._run = function(e, t) {
                var n = this
                this._show(this.getController(e), {
                  getModel: function(i) {
                    return new r.QuickOpenModel(n.toQuickOpenEntries(e, t, i))
                  },
                  getAutoFocus: function(e) {
                    return (
                      0 === e.indexOf(':') && (e = e.substr(':'.length)),
                      { autoFocusPrefixMatch: e, autoFocusFirstEntry: !!e }
                    )
                  }
                })
              }),
              (t.prototype.toQuickOpenEntries = function(e, t, r) {
                var s = this.getController(e),
                  a = [],
                  l = r
                0 === r.indexOf(':') && (l = l.substr(':'.length))
                for (y = 0; y < t.length; y++) {
                  var c = t[y],
                    d = o.trim(c.name),
                    f = i.matchesFuzzy(l, d)
                  if (f) {
                    var g = null
                    c.containerName && (g = c.containerName),
                      a.push(
                        new p(
                          d,
                          u.symbolKindToCssClass(c.kind),
                          g,
                          h.Range.lift(c.location.range),
                          f,
                          e,
                          s
                        )
                      )
                  }
                }
                if (
                  (r &&
                    (a =
                      0 === r.indexOf(':')
                        ? a.sort(this.sortScoped.bind(this, r.toLowerCase()))
                        : a.sort(this.sortNormal.bind(this, r.toLowerCase()))),
                  a.length > 0 && 0 === r.indexOf(':'))
                ) {
                  for (
                    var m = null, v = null, _ = 0, y = 0;
                    y < a.length;
                    y++
                  ) {
                    var b = a[y]
                    m !== b.getType()
                      ? (v && v.setGroupLabel(this.typeToLabel(m, _)),
                        (m = b.getType()),
                        (v = b),
                        (_ = 1),
                        b.setShowBorder(y > 0))
                      : _++
                  }
                  v && v.setGroupLabel(this.typeToLabel(m, _))
                } else
                  a.length > 0 &&
                    a[0].setGroupLabel(n.localize(3, null, a.length))
                return a
              }),
              (t.prototype.typeToLabel = function(e, t) {
                switch (e) {
                  case 'module':
                    return n.localize(4, null, t)
                  case 'class':
                    return n.localize(5, null, t)
                  case 'interface':
                    return n.localize(6, null, t)
                  case 'method':
                    return n.localize(7, null, t)
                  case 'function':
                    return n.localize(8, null, t)
                  case 'property':
                    return n.localize(9, null, t)
                  case 'variable':
                    return n.localize(10, null, t)
                  case 'var':
                    return n.localize(11, null, t)
                  case 'constructor':
                    return n.localize(12, null, t)
                  case 'call':
                    return n.localize(13, null, t)
                }
                return e
              }),
              (t.prototype.sortNormal = function(e, t, n) {
                var i = t.getLabel().toLowerCase(),
                  o = n.getLabel().toLowerCase(),
                  r = i.localeCompare(o)
                if (0 !== r) return r
                var s = t.getRange(),
                  a = n.getRange()
                return s.startLineNumber - a.startLineNumber
              }),
              (t.prototype.sortScoped = function(e, t, n) {
                e = e.substr(':'.length)
                var i = t.getType(),
                  o = n.getType(),
                  r = i.localeCompare(o)
                if (0 !== r) return r
                if (e) {
                  var s = t.getLabel().toLowerCase(),
                    a = n.getLabel().toLowerCase(),
                    u = s.localeCompare(a)
                  if (0 !== u) return u
                }
                var l = t.getRange(),
                  c = n.getRange()
                return l.startLineNumber - c.startLineNumber
              }),
              t
            )
          })(l.BaseEditorQuickOpenAction)
        ;(g = v([d.editorAction], g)), (t.QuickOutlineAction = g)
      }),
      define(d[527], h([
        0,
        1,
        3,
        8,
        71,
        16,
        31,
        47,
        19,
        41,
        63,
        140,
        115,
        163,
        83,
        176,
        77,
        14,
        48,
        200,
        30
      ]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c,
        d,
        h,
        p,
        g,
        m,
        _,
        b,
        C,
        w,
        S
      ) {
        'use strict'
        function E() {
          x || ((x = !0), C.setARIAContainer(document.body))
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var L = 0,
          x = !1,
          N = (function(e) {
            function t(t, n, i, o, r, s, a, u) {
              var l = this
              return (
                (n = n || {}),
                (n.ariaLabel = n.ariaLabel || w.localize(0, null)),
                (n.ariaLabel =
                  n.ariaLabel +
                  ';' +
                  (S.isIE ? w.localize(1, null) : w.localize(2, null))),
                (l = e.call(this, t, n, i, o, r, s, u) || this),
                a instanceof d.StandaloneKeybindingService &&
                  (l._standaloneKeybindingService = a),
                E(),
                l
              )
            }
            return (
              f(t, e),
              (t.prototype.addCommand = function(e, t, n) {
                if (!this._standaloneKeybindingService)
                  return (
                    console.warn(
                      'Cannot add command because the editor is configured with an unrecognized KeybindingService'
                    ),
                    null
                  )
                var i = 'DYNAMIC_' + ++L,
                  o = u.ContextKeyExpr.deserialize(n)
                return (
                  this._standaloneKeybindingService.addDynamicKeybinding(
                    i,
                    e,
                    t,
                    o
                  ),
                  i
                )
              }),
              (t.prototype.createContextKey = function(e, t) {
                return this._contextKeyService.createKey(e, t)
              }),
              (t.prototype.addAction = function(e) {
                var t = this
                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'
                    ),
                    n.empty
                  )
                var o = e.id,
                  r = e.label,
                  a = u.ContextKeyExpr.and(
                    u.ContextKeyExpr.equals('editorId', this.getId()),
                    u.ContextKeyExpr.deserialize(e.precondition)
                  ),
                  l = e.keybindings,
                  c = u.ContextKeyExpr.and(
                    a,
                    u.ContextKeyExpr.deserialize(e.keybindingContext)
                  ),
                  d = e.contextMenuGroupId || null,
                  h = e.contextMenuOrder || 0,
                  p = function() {
                    var n = e.run(t)
                    return n || i.TPromise.as(void 0)
                  },
                  f = [],
                  g = this.getId() + ':' + o
                if ((f.push(s.CommandsRegistry.registerCommand(g, p)), d)) {
                  var v = {
                    command: { id: g, title: r },
                    when: a,
                    group: d,
                    order: h
                  }
                  f.push(
                    _.MenuRegistry.appendMenuItem(_.MenuId.EditorContext, v)
                  )
                }
                Array.isArray(l) &&
                  (f = f.concat(
                    l.map(function(e) {
                      return t._standaloneKeybindingService.addDynamicKeybinding(
                        g,
                        e,
                        p,
                        c
                      )
                    })
                  ))
                var y = new m.InternalEditorAction(
                  g,
                  r,
                  r,
                  a,
                  p,
                  this._contextKeyService
                )
                return (
                  (this._actions[o] = y),
                  f.push({
                    dispose: function() {
                      delete t._actions[o]
                    }
                  }),
                  n.combinedDisposable(f)
                )
              }),
              t
            )
          })(h.CodeEditor)
        ;(N = v(
          [
            y(2, r.IInstantiationService),
            y(3, l.ICodeEditorService),
            y(4, s.ICommandService),
            y(5, u.IContextKeyService),
            y(6, a.IKeybindingService),
            y(7, b.IThemeService)
          ],
          N
        )),
          (t.StandaloneCodeEditor = N)
        var M = (function(e) {
          function t(t, n, i, o, r, s, a, u, l, c) {
            var d = this
            'string' == typeof (n = n || {}).theme && c.setTheme(n.theme)
            var h = n.model
            if (
              (delete n.model,
              (d = e.call(this, t, n, o, r, s, a, u, c) || this),
              (d._contextViewService = l),
              d._register(i),
              void 0 === h
                ? ((h = self.monaco.editor.createModel(
                    n.value || '',
                    n.language || 'text/plain'
                  )),
                  (d._ownsModel = !0))
                : (d._ownsModel = !1),
              d._attachModel(h),
              h)
            ) {
              var p = { oldModelUrl: null, newModelUrl: h.uri }
              d._onDidChangeModel.fire(p)
            }
            return d
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              e.prototype.dispose.call(this)
            }),
            (t.prototype.destroy = function() {
              this.dispose()
            }),
            (t.prototype._attachModel = function(t) {
              e.prototype._attachModel.call(this, t),
                this._view &&
                  this._contextViewService.setContainer(
                    this._view.domNode.domNode
                  )
            }),
            (t.prototype._postDetachModelCleanup = function(t) {
              e.prototype._postDetachModelCleanup.call(this, t),
                t && this._ownsModel && (t.dispose(), (this._ownsModel = !1))
            }),
            t
          )
        })(N)
        ;(M = v(
          [
            y(3, r.IInstantiationService),
            y(4, l.ICodeEditorService),
            y(5, s.ICommandService),
            y(6, u.IContextKeyService),
            y(7, a.IKeybindingService),
            y(8, o.IContextViewService),
            y(9, g.IStandaloneThemeService)
          ],
          M
        )),
          (t.StandaloneEditor = M)
        var T = (function(e) {
          function t(t, n, i, o, r, s, a, u, l, c) {
            var h = this
            return (
              'string' == typeof (n = n || {}).theme &&
                (n.theme = c.setTheme(n.theme)),
              (h = e.call(this, t, n, u, r, o, l, c) || this),
              s instanceof d.StandaloneKeybindingService &&
                (h._standaloneKeybindingService = s),
              (h._contextViewService = a),
              h._register(i),
              h._contextViewService.setContainer(h._containerDomElement),
              h
            )
          }
          return (
            f(t, e),
            (t.prototype.dispose = function() {
              e.prototype.dispose.call(this)
            }),
            (t.prototype.destroy = function() {
              this.dispose()
            }),
            (t.prototype._createInnerEditor = function(e, t, n) {
              return e.createInstance(N, t, n)
            }),
            (t.prototype.getOriginalEditor = function() {
              return e.prototype.getOriginalEditor.call(this)
            }),
            (t.prototype.getModifiedEditor = function() {
              return e.prototype.getModifiedEditor.call(this)
            }),
            (t.prototype.addCommand = function(e, t, n) {
              return this.getModifiedEditor().addCommand(e, t, n)
            }),
            (t.prototype.createContextKey = function(e, t) {
              return this.getModifiedEditor().createContextKey(e, t)
            }),
            (t.prototype.addAction = function(e) {
              return this.getModifiedEditor().addAction(e)
            }),
            t
          )
        })(p.DiffEditorWidget)
        ;(T = v(
          [
            y(3, r.IInstantiationService),
            y(4, u.IContextKeyService),
            y(5, a.IKeybindingService),
            y(6, o.IContextViewService),
            y(7, c.IEditorWorkerService),
            y(8, l.ICodeEditorService),
            y(9, g.IStandaloneThemeService)
          ],
          T
        )),
          (t.StandaloneDiffEditor = T)
      }),
      define(d[528], h([0, 1, 23, 36]), function(e, t, n, i) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.vs = {
            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: '09885A' },
              { 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.jade', foreground: '4F76AC' },
              { token: 'tag.class.jade', 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: '09885A' },
              { token: 'attribute.value.unit', foreground: '09885A' },
              { 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: ((o = {}),
            (o[n.editorBackground] = '#FFFFFE'),
            (o[n.editorForeground] = '#000000'),
            (o[n.editorInactiveSelection] = '#E5EBF1'),
            (o[i.editorIndentGuides] = '#D3D3D3'),
            (o[n.editorSelectionHighlight] = '#ADD6FF4D'),
            o)
          }),
          (t.vs_dark = {
            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.jade', foreground: '4F76AC' },
              { token: 'tag.class.jade', 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: ((r = {}),
            (r[n.editorBackground] = '#1E1E1E'),
            (r[n.editorForeground] = '#D4D4D4'),
            (r[n.editorInactiveSelection] = '#3A3D41'),
            (r[i.editorIndentGuides] = '#404040'),
            (r[n.editorSelectionHighlight] = '#ADD6FF26'),
            r)
          }),
          (t.hc_black = {
            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.jade', foreground: '4F76AC' },
              { token: 'tag.class.jade', 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: ((s = {}),
            (s[n.editorBackground] = '#000000'),
            (s[n.editorForeground] = '#FFFFFF'),
            (s[i.editorIndentGuides] = '#FFFFFF'),
            s)
          })
        var o, r, s
      }),
      define(d[529], h([0, 1, 370, 528, 6, 17, 34, 23, 14, 42, 11]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c
      ) {
        'use strict'
        function d(e) {
          return e === f || e === g || e === m
        }
        function h(e) {
          switch (e) {
            case f:
              return i.vs
            case g:
              return i.vs_dark
            case m:
              return i.hc_black
          }
        }
        function p(e) {
          var t = h(e)
          return new y(e, '', t.colors, t.rules)
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var f = 'vs',
          g = 'vs-dark',
          m = 'hc-black',
          v = l.Registry.as(a.Extensions.ColorContribution),
          _ = l.Registry.as(u.Extensions.ThemingContribution),
          y = (function() {
            function e(e, t, n, i) {
              t.length > 0
                ? ((this.id = e + ' ' + t), (this.themeName = t))
                : ((this.id = e), (this.themeName = e)),
                (this.base = e),
                (this.rules = i),
                (this.colors = {})
              for (var o in n) this.colors[o] = s.Color.fromHex(n[o])
              this.defaultColors = {}
            }
            return (
              (e.prototype.getColor = function(e, t) {
                return this.colors.hasOwnProperty(e)
                  ? this.colors[e]
                  : !1 !== t
                    ? this.getDefault(e)
                    : null
              }),
              (e.prototype.getDefault = function(e) {
                if (this.defaultColors.hasOwnProperty(e))
                  return this.defaultColors[e]
                var t = v.resolveDefaultColor(e, this)
                return (this.defaultColors[e] = t), t
              }),
              (e.prototype.defines = function(e) {
                return this.colors.hasOwnProperty(e)
              }),
              Object.defineProperty(e.prototype, 'type', {
                get: function() {
                  switch (this.base) {
                    case f:
                      return 'light'
                    case m:
                      return 'hc'
                    default:
                      return 'dark'
                  }
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(e.prototype, 'tokenTheme', {
                get: function() {
                  return (
                    this._tokenTheme ||
                      (this._tokenTheme = n.TokenTheme.createFromRawTokenTheme(
                        this.rules
                      )),
                    this._tokenTheme
                  )
                },
                enumerable: !0,
                configurable: !0
              }),
              e
            )
          })(),
          b = (function() {
            function e() {
              ;(this._onThemeChange = new c.Emitter()),
                (this._knownThemes = new Map()),
                this._knownThemes.set(f, p(f)),
                this._knownThemes.set(g, p(g)),
                this._knownThemes.set(m, p(m)),
                (this._styleElement = o.createStyleSheet()),
                (this._styleElement.className = 'monaco-colors'),
                this.setTheme(f)
            }
            return (
              Object.defineProperty(e.prototype, 'onThemeChange', {
                get: function() {
                  return this._onThemeChange.event
                },
                enumerable: !0,
                configurable: !0
              }),
              (e.prototype.defineTheme = function(e, t) {
                if (!/^[a-z0-9\-]+$/i.test(e) || d(e))
                  throw new Error('Illegal theme name!')
                if (!d(t.base)) throw new Error('Illegal theme base!')
                var n = [],
                  i = {}
                if (t.inherit) {
                  var o = h(t.base)
                  n = n.concat(o.rules)
                  for (var r in o.colors) i[r] = o.colors[r]
                }
                n = n.concat(t.rules)
                for (var r in t.colors) i[r] = t.colors[r]
                this._knownThemes.set(e, new y(t.base, e, i, n))
              }),
              (e.prototype.getTheme = function() {
                return this._theme
              }),
              (e.prototype.setTheme = function(e) {
                var t
                ;(t = this._knownThemes.has(e)
                  ? this._knownThemes.get(e)
                  : this._knownThemes.get(f)),
                  (this._theme = t)
                var i = [],
                  o = {},
                  s = {
                    addRule: function(e) {
                      o[e] || (i.push(e), (o[e] = !0))
                    }
                  }
                _.getThemingParticipants().forEach(function(e) {
                  return e(t, s)
                })
                var a = t.tokenTheme.getColorMap()
                return (
                  s.addRule(n.generateTokensCSSForColorMap(a)),
                  (this._styleElement.innerHTML = i.join('\n')),
                  r.TokenizationRegistry.setColorMap(a),
                  this._onThemeChange.fire(t),
                  t.id
                )
              }),
              e
            )
          })()
        t.StandaloneThemeServiceImpl = b
      }),
      define(d[110], h([0, 1, 24, 16, 46, 88, 15]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.IWorkspaceContextService = i.createDecorator('contextService'))
        var a = (function() {
          function e(e, t) {
            ;(this._resource = e),
              (this._ctime = t),
              (this._name =
                o.basename(this._resource.fsPath) || this._resource.fsPath)
          }
          return (
            Object.defineProperty(e.prototype, 'resource', {
              get: function() {
                return this._resource
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'name', {
              get: function() {
                return this._name
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'ctime', {
              get: function() {
                return this._ctime
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.toWorkspaceRelativePath = function(e, t) {
              return this.contains(e)
                ? o.normalize(o.relative(this._resource.fsPath, e.fsPath), t)
                : null
            }),
            (e.prototype.contains = function(e) {
              return (
                !!e &&
                o.isEqualOrParent(e.fsPath, this._resource.fsPath, !s.isLinux)
              )
            }),
            (e.prototype.toResource = function(e, t) {
              return 'string' == typeof e
                ? n.default.file(
                    o.join(t ? t.fsPath : this._resource.fsPath, e)
                  )
                : null
            }),
            e
          )
        })()
        t.LegacyWorkspace = a
        var u = (function() {
          function e(e, t, n) {
            ;(this.id = e),
              (this._name = t),
              (this._roots = n),
              (this._rootsMap = new r.TrieMap(r.TrieMap.PathSplitter)),
              this.updateRootsMap()
          }
          return (
            Object.defineProperty(e.prototype, 'roots', {
              get: function() {
                return this._roots
              },
              set: function(e) {
                ;(this._roots = e), this.updateRootsMap()
              },
              enumerable: !0,
              configurable: !0
            }),
            Object.defineProperty(e.prototype, 'name', {
              get: function() {
                return this._name
              },
              set: function(e) {
                this._name = e
              },
              enumerable: !0,
              configurable: !0
            }),
            (e.prototype.getRoot = function(e) {
              return e ? this._rootsMap.findSubstr(e.fsPath) : null
            }),
            (e.prototype.updateRootsMap = function() {
              this._rootsMap = new r.TrieMap(r.TrieMap.PathSplitter)
              for (var e = 0, t = this.roots; e < t.length; e++) {
                var n = t[e]
                this._rootsMap.insert(n.fsPath, n)
              }
            }),
            (e.prototype.toJSON = function() {
              return { id: this.id, roots: this.roots, name: this.name }
            }),
            e
          )
        })()
        t.Workspace = u
      }),
      define(d[531], h([
        0,
        1,
        357,
        10,
        152,
        11,
        3,
        68,
        9,
        8,
        34,
        50,
        6,
        99,
        419,
        185,
        121,
        189,
        16,
        84,
        110,
        2,
        21,
        173,
        162,
        108,
        130,
        78,
        23,
        14,
        134,
        196,
        33,
        24,
        274
      ]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c,
        d,
        h,
        p,
        g,
        m,
        _,
        b,
        C,
        w,
        S,
        E,
        L,
        x,
        N,
        M,
        T,
        k,
        I,
        D,
        O,
        R,
        P,
        A
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var F = (function() {
          function e(e, t) {
            var n = this
            ;(this._editor = e),
              (this._model = t),
              (this._decorations = new Map()),
              (this._decorationIgnoreSet = new Set()),
              (this._callOnDispose = []),
              (this._callOnModelChange = []),
              this._callOnDispose.push(
                this._editor.onDidChangeModel(function() {
                  return n._onModelChanged()
                })
              ),
              this._onModelChanged()
          }
          return (
            (e.prototype.dispose = function() {
              ;(this._callOnModelChange = s.dispose(this._callOnModelChange)),
                (this._callOnDispose = s.dispose(this._callOnDispose)),
                this.removeDecorations()
            }),
            (e.prototype._onModelChanged = function() {
              this._callOnModelChange = s.dispose(this._callOnModelChange)
              var e = this._editor.getModel()
              if (e)
                for (var t = 0, n = this._model.groups; t < n.length; t++) {
                  var i = n[t]
                  if (i.uri.toString() === e.uri.toString())
                    return void this._addDecorations(i)
                }
            }),
            (e.prototype._addDecorations = function(t) {
              var n = this
              this._callOnModelChange.push(
                this._editor.getModel().onDidChangeDecorations(function(e) {
                  return n._onDecorationChanged(e)
                })
              ),
                this._editor.changeDecorations(function(i) {
                  for (
                    var o = [], r = [], s = 0, a = t.children.length;
                    s < a;
                    s++
                  ) {
                    var u = t.children[s]
                    n._decorationIgnoreSet.has(u.id) ||
                      (o.push({ range: u.range, options: e.DecorationOptions }),
                      r.push(s))
                  }
                  for (
                    var l = i.deltaDecorations([], o), s = 0;
                    s < l.length;
                    s++
                  )
                    n._decorations.set(l[s], t.children[r[s]])
                })
            }),
            (e.prototype._onDecorationChanged = function(e) {
              for (
                var t = this,
                  n = e.changedDecorations,
                  i = [],
                  o = 0,
                  r = n.length;
                o < r;
                o++
              ) {
                var s = this._decorations.get(n[o])
                if (s) {
                  var a = this._editor.getModel().getDecorationRange(n[o]),
                    u = !1
                  E.Range.equalsRange(a, s.range) ||
                    (E.Range.spansMultipleLines(a)
                      ? (u = !0)
                      : s.range.endColumn - s.range.startColumn !==
                          a.endColumn - a.startColumn && (u = !0),
                    u
                      ? (this._decorationIgnoreSet.add(s.id), i.push(n[o]))
                      : (s.range = a))
                }
              }
              this._editor.changeDecorations(function(e) {
                for (var n = 0, o = i.length; n < o; n++)
                  t._decorations.delete(i[n])
                e.deltaDecorations(i, [])
              })
            }),
            (e.prototype.removeDecorations = function() {
              var e = this
              this._editor.changeDecorations(function(t) {
                e._decorations.forEach(function(e, n) {
                  t.removeDecoration(n)
                }),
                  e._decorations.clear()
              })
            }),
            e
          )
        })()
        F.DecorationOptions = P.ModelDecorationOptions.register({
          stickiness: L.TrackedRangeStickiness.NeverGrowsWhenTypingAtEdges,
          className: 'reference-decoration'
        })
        var W = (function() {
          function e(e) {
            this._textModelResolverService = e
          }
          return (
            (e.prototype.getId = function(e, t) {
              return t instanceof T.ReferencesModel
                ? 'root'
                : t instanceof T.FileReferences
                  ? t.id
                  : t instanceof T.OneReference
                    ? t.id
                    : void 0
            }),
            (e.prototype.hasChildren = function(e, t) {
              return (
                t instanceof T.ReferencesModel ||
                (t instanceof T.FileReferences && !t.failure)
              )
            }),
            (e.prototype.getChildren = function(e, t) {
              return t instanceof T.ReferencesModel
                ? l.TPromise.as(t.groups)
                : t instanceof T.FileReferences
                  ? t.resolve(this._textModelResolverService).then(function(n) {
                      return t.failure
                        ? e.refresh(t).then(function() {
                            return n.children
                          })
                        : n.children
                    })
                  : l.TPromise.as([])
            }),
            (e.prototype.getParent = function(e, t) {
              var n = null
              return (
                t instanceof T.FileReferences
                  ? (n = t.parent)
                  : t instanceof T.OneReference && (n = t.parent),
                l.TPromise.as(n)
              )
            }),
            e
          )
        })()
        W = v([y(0, k.ITextModelService)], W)
        var B = (function(e) {
          function t() {
            return (null !== e && e.apply(this, arguments)) || this
          }
          return (
            f(t, e),
            (t.prototype.onTap = function(n, i, o) {
              if (i instanceof T.FileReferences)
                return (
                  o.preventDefault(),
                  o.stopPropagation(),
                  this._expandCollapse(n, i)
                )
              var r = e.prototype.onTap.call(this, n, i, o)
              return n.emit(t.Events.FOCUSED, i), r
            }),
            (t.prototype.onMouseDown = function(n, i, o) {
              if (o.leftButton) {
                if (i instanceof T.FileReferences)
                  return (
                    o.preventDefault(),
                    o.stopPropagation(),
                    this._expandCollapse(n, i)
                  )
                var r = e.prototype.onClick.call(this, n, i, o)
                return (
                  o.ctrlKey || o.metaKey
                    ? n.emit(t.Events.OPEN_TO_SIDE, i)
                    : 2 === o.detail
                      ? n.emit(t.Events.SELECTED, i)
                      : n.emit(t.Events.FOCUSED, i),
                  r
                )
              }
              return !1
            }),
            (t.prototype.onClick = function(t, n, i) {
              return !i.leftButton && e.prototype.onClick.call(this, t, n, i)
            }),
            (t.prototype._expandCollapse = function(e, t) {
              return (
                e.isExpanded(t)
                  ? e.collapse(t).done(null, i.onUnexpectedError)
                  : e.expand(t).done(null, i.onUnexpectedError),
                !0
              )
            }),
            (t.prototype.onEscape = function(e, t) {
              return !1
            }),
            (t.prototype.onEnter = function(n, i) {
              var o = n.getFocus()
              if (o instanceof T.FileReferences)
                return this._expandCollapse(n, o)
              var r = e.prototype.onEnter.call(this, n, i)
              return (
                i.ctrlKey || i.metaKey
                  ? n.emit(t.Events.OPEN_TO_SIDE, o)
                  : n.emit(t.Events.SELECTED, o),
                r
              )
            }),
            (t.prototype.onUp = function(t, n) {
              return (
                e.prototype.onUp.call(this, t, n), this._fakeFocus(t, n), !0
              )
            }),
            (t.prototype.onPageUp = function(t, n) {
              return (
                e.prototype.onPageUp.call(this, t, n), this._fakeFocus(t, n), !0
              )
            }),
            (t.prototype.onLeft = function(t, n) {
              return (
                e.prototype.onLeft.call(this, t, n), this._fakeFocus(t, n), !0
              )
            }),
            (t.prototype.onDown = function(t, n) {
              return (
                e.prototype.onDown.call(this, t, n), this._fakeFocus(t, n), !0
              )
            }),
            (t.prototype.onPageDown = function(t, n) {
              return (
                e.prototype.onPageDown.call(this, t, n),
                this._fakeFocus(t, n),
                !0
              )
            }),
            (t.prototype.onRight = function(t, n) {
              return (
                e.prototype.onRight.call(this, t, n), this._fakeFocus(t, n), !0
              )
            }),
            (t.prototype._fakeFocus = function(e, n) {
              var i = e.getFocus()
              e.setSelection([i]), e.emit(t.Events.FOCUSED, i)
            }),
            t
          )
        })(_.DefaultController)
        B.Events = {
          FOCUSED: 'events/custom/focused',
          SELECTED: 'events/custom/selected',
          OPEN_TO_SIDE: 'events/custom/opentoside'
        }
        var V = (function() {
          function e(e, t, n, i) {
            ;(this._contextService = t), (this._environmentService = n)
            var o = document.createElement('div')
            h.addClass(o, 'reference-file'),
              e.appendChild(o),
              (this.file = new m.FileLabel(
                o,
                A.default.parse('no:file'),
                this._contextService,
                this._environmentService
              )),
              (this.badge = new g.CountBadge(o))
            var r = O.attachBadgeStyler(this.badge, i)
            this.dispose = function() {
              return r.dispose()
            }
          }
          return (
            (e.prototype.set = function(e) {
              this.file.setFile(
                e.uri,
                this._contextService,
                this._environmentService
              )
              var t = e.children.length
              this.badge.setCount(t),
                e.failure
                  ? this.badge.setTitleFormat(n.localize(0, null))
                  : t > 1
                    ? this.badge.setTitleFormat(n.localize(1, null, t))
                    : this.badge.setTitleFormat(n.localize(2, null, t))
            }),
            e
          )
        })()
        V = v(
          [
            y(1, S.IWorkspaceContextService),
            y(2, C.optional(R.IEnvironmentService)),
            y(3, D.IThemeService)
          ],
          V
        )
        var H = (function() {
            function e(e) {
              var t = document.createElement('div')
              ;(this.before = document.createElement('span')),
                (this.inside = document.createElement('span')),
                (this.after = document.createElement('span')),
                h.addClass(this.inside, 'referenceMatch'),
                h.addClass(t, 'reference'),
                t.appendChild(this.before),
                t.appendChild(this.inside),
                t.appendChild(this.after),
                e.appendChild(t)
            }
            return (
              (e.prototype.set = function(e) {
                var t = e.parent.preview.preview(e.range),
                  n = t.before,
                  i = t.inside,
                  o = t.after
                ;(this.before.innerHTML = u.escape(n)),
                  (this.inside.innerHTML = u.escape(i)),
                  (this.after.innerHTML = u.escape(o))
              }),
              e
            )
          })(),
          z = (function() {
            function e(e, t, n) {
              ;(this._contextService = e),
                (this._themeService = t),
                (this._environmentService = n)
            }
            return (
              (e.prototype.getHeight = function(e, t) {
                return 22
              }),
              (e.prototype.getTemplateId = function(t, n) {
                if (n instanceof T.FileReferences) return e._ids.FileReferences
                if (n instanceof T.OneReference) return e._ids.OneReference
                throw n
              }),
              (e.prototype.renderTemplate = function(t, n, i) {
                if (n === e._ids.FileReferences)
                  return new V(
                    i,
                    this._contextService,
                    this._environmentService,
                    this._themeService
                  )
                if (n === e._ids.OneReference) return new H(i)
                throw n
              }),
              (e.prototype.renderElement = function(e, t, n, i) {
                if (t instanceof T.FileReferences) i.set(t)
                else {
                  if (!(t instanceof T.OneReference)) throw n
                  i.set(t)
                }
              }),
              (e.prototype.disposeTemplate = function(e, t, n) {
                n instanceof V && n.dispose()
              }),
              e
            )
          })()
        ;(z._ids = {
          FileReferences: 'FileReferences',
          OneReference: 'OneReference'
        }),
          (z = v(
            [
              y(0, S.IWorkspaceContextService),
              y(1, D.IThemeService),
              y(2, C.optional(R.IEnvironmentService))
            ],
            z
          ))
        var K = (function() {
            function e() {}
            return (
              (e.prototype.getAriaLabel = function(e, t) {
                return t instanceof T.FileReferences
                  ? t.getAriaMessage()
                  : t instanceof T.OneReference
                    ? t.getAriaMessage()
                    : void 0
              }),
              e
            )
          })(),
          U = (function() {
            function e(e, t) {
              var n = this
              ;(this._disposables = []),
                (this._onDidChangePercentages = new r.Emitter()),
                (this._ratio = t),
                (this._sash = new p.Sash(e, {
                  getVerticalSashLeft: function() {
                    return n._width * n._ratio
                  },
                  getVerticalSashHeight: function() {
                    return n._height
                  }
                }))
              var i
              this._disposables.push(
                this._sash.addListener('start', function(e) {
                  i = e.startX - n._width * n.ratio
                })
              ),
                this._disposables.push(
                  this._sash.addListener('change', function(e) {
                    var t = e.currentX - i
                    t > 20 &&
                      t + 20 < n._width &&
                      ((n._ratio = t / n._width),
                      n._sash.layout(),
                      n._onDidChangePercentages.fire(n))
                  })
                )
            }
            return (
              (e.prototype.dispose = function() {
                this._sash.dispose(),
                  this._onDidChangePercentages.dispose(),
                  s.dispose(this._disposables)
              }),
              Object.defineProperty(e.prototype, 'onDidChangePercentages', {
                get: function() {
                  return this._onDidChangePercentages.event
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(e.prototype, 'width', {
                set: function(e) {
                  ;(this._width = e), this._sash.layout()
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(e.prototype, 'height', {
                set: function(e) {
                  ;(this._height = e), this._sash.layout()
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(e.prototype, 'percentages', {
                get: function() {
                  var e = 100 * this._ratio
                  return [e + '%', 100 - e + '%']
                },
                enumerable: !0,
                configurable: !0
              }),
              Object.defineProperty(e.prototype, 'ratio', {
                get: function() {
                  return this._ratio
                },
                enumerable: !0,
                configurable: !0
              }),
              e
            )
          })(),
          j = (function(e) {
            function u(t, n, i, o, s, a, u) {
              var l =
                e.call(this, t, {
                  showFrame: !1,
                  showArrow: !0,
                  isResizeable: !0,
                  isAccessible: !0
                }) || this
              return (
                (l.layoutData = n),
                (l._textModelResolverService = i),
                (l._contextService = o),
                (l._themeService = s),
                (l._instantiationService = a),
                (l._environmentService = u),
                (l._disposeOnNewModel = []),
                (l._callOnDispose = []),
                (l._onDidSelectReference = new r.Emitter()),
                l._applyTheme(s.getTheme()),
                l._callOnDispose.push(s.onThemeChange(l._applyTheme.bind(l))),
                (l._instantiationService = l._instantiationService.createChild(
                  new w.ServiceCollection([M.IPeekViewService, l])
                )),
                l.create(),
                l
              )
            }
            return (
              f(u, e),
              (u.prototype._applyTheme = function(e) {
                var n = e.getColor(t.peekViewBorder) || c.Color.transparent
                this.style({
                  arrowColor: n,
                  frameColor: n,
                  headerBackgroundColor:
                    e.getColor(t.peekViewTitleBackground) ||
                    c.Color.transparent,
                  primaryHeadingColor: e.getColor(t.peekViewTitleForeground),
                  secondaryHeadingColor: e.getColor(
                    t.peekViewTitleInfoForeground
                  )
                })
              }),
              (u.prototype.dispose = function() {
                this.setModel(null),
                  (this._callOnDispose = s.dispose(this._callOnDispose)),
                  s.dispose(
                    this._preview,
                    this._previewNotAvailableMessage,
                    this._tree,
                    this._sash,
                    this._previewModelReference
                  ),
                  e.prototype.dispose.call(this)
              }),
              Object.defineProperty(u.prototype, 'onDidSelectReference', {
                get: function() {
                  return this._onDidSelectReference.event
                },
                enumerable: !0,
                configurable: !0
              }),
              (u.prototype.show = function(t) {
                this.editor.revealRangeInCenterIfOutsideViewport(t),
                  e.prototype.show.call(
                    this,
                    t,
                    this.layoutData.heightInLines || 18
                  )
              }),
              (u.prototype.focus = function() {
                this._tree.DOMFocus()
              }),
              (u.prototype._onTitleClick = function(e) {
                this._preview &&
                  this._preview.getModel() &&
                  this._onDidSelectReference.fire({
                    element: this._getFocusedReference(),
                    kind: e.ctrlKey || e.metaKey ? 'side' : 'open',
                    source: 'title'
                  })
              }),
              (u.prototype._fillBody = function(e) {
                var t = this,
                  i = d.$(e)
                this.setCssClass('reference-zone-widget'),
                  i.div({ class: 'messages' }, function(e) {
                    t._messageContainer = e.hide()
                  }),
                  i.div({ class: 'preview inline' }, function(e) {
                    var i = {
                      scrollBeyondLastLine: !1,
                      scrollbar: {
                        verticalScrollbarSize: 14,
                        horizontal: 'auto',
                        useShadows: !0,
                        verticalHasArrows: !1,
                        horizontalHasArrows: !1
                      },
                      overviewRulerLanes: 2,
                      fixedOverflowWidgets: !0,
                      minimap: { enabled: !1 }
                    }
                    ;(t._preview = t._instantiationService.createInstance(
                      N.EmbeddedCodeEditorWidget,
                      e.getHTMLElement(),
                      i,
                      t.editor
                    )),
                      (t._previewContainer = e.hide()),
                      (t._previewNotAvailableMessage = x.Model.createFromString(
                        n.localize(3, null)
                      ))
                  }),
                  (this._sash = new U(e, this.layoutData.ratio || 0.8)),
                  this._sash.onDidChangePercentages(function() {
                    var e = t._sash.percentages,
                      n = e[0],
                      i = e[1]
                    t._previewContainer.style({ width: n }),
                      t._treeContainer.style({ width: i }),
                      t._preview.layout(),
                      t._tree.layout(),
                      (t.layoutData.ratio = t._sash.ratio)
                  }),
                  i.div({ class: 'ref-tree inline' }, function(e) {
                    var i = {
                        dataSource: t._instantiationService.createInstance(W),
                        renderer: t._instantiationService.createInstance(z),
                        controller: new B(),
                        accessibilityProvider: new K()
                      },
                      o = {
                        allowHorizontalScroll: !1,
                        twistiePixels: 20,
                        ariaLabel: n.localize(4, null)
                      }
                    ;(t._tree = new b.Tree(e.getHTMLElement(), i, o)),
                      t._callOnDispose.push(
                        O.attachListStyler(t._tree, t._themeService)
                      ),
                      (t._treeContainer = e.hide())
                  })
              }),
              (u.prototype._doLayoutBody = function(t, n) {
                e.prototype._doLayoutBody.call(this, t, n)
                var i = t + 'px'
                ;(this._sash.height = t), (this._sash.width = n)
                var o = this._sash.percentages,
                  r = o[0],
                  s = o[1]
                this._previewContainer.style({ height: i, width: r }),
                  this._treeContainer.style({ height: i, width: s }),
                  this._tree.layout(t),
                  this._preview.layout(),
                  (this.layoutData = {
                    heightInLines: this._viewZone.heightInLines,
                    ratio: this._sash.ratio
                  })
              }),
              (u.prototype._onWidth = function(e) {
                ;(this._sash.width = e), this._preview.layout()
              }),
              (u.prototype.setSelection = function(e) {
                return this._revealReference(e)
              }),
              (u.prototype.setModel = function(e) {
                if (
                  ((this._disposeOnNewModel = s.dispose(
                    this._disposeOnNewModel
                  )),
                  (this._model = e),
                  this._model)
                )
                  return this._onNewModel()
              }),
              (u.prototype._onNewModel = function() {
                var e = this
                if (this._model.empty)
                  return (
                    this.setTitle(''),
                    this._messageContainer
                      .innerHtml(n.localize(5, null))
                      .show(),
                    l.TPromise.as(void 0)
                  )
                this._messageContainer.hide(),
                  (this._decorationsManager = new F(
                    this._preview,
                    this._model
                  )),
                  this._disposeOnNewModel.push(this._decorationsManager),
                  this._disposeOnNewModel.push(
                    this._model.onDidChangeReferenceRange(function(t) {
                      return e._tree.refresh(t)
                    })
                  ),
                  this._disposeOnNewModel.push(
                    this._tree.addListener(B.Events.FOCUSED, function(t) {
                      t instanceof T.OneReference &&
                        (e._revealReference(t),
                        e._onDidSelectReference.fire({
                          element: t,
                          kind: 'show',
                          source: 'tree'
                        }))
                    })
                  ),
                  this._disposeOnNewModel.push(
                    this._tree.addListener(B.Events.SELECTED, function(t) {
                      t instanceof T.OneReference &&
                        e._onDidSelectReference.fire({
                          element: t,
                          kind: 'goto',
                          source: 'tree'
                        })
                    })
                  ),
                  this._disposeOnNewModel.push(
                    this._tree.addListener(B.Events.OPEN_TO_SIDE, function(t) {
                      t instanceof T.OneReference &&
                        e._onDidSelectReference.fire({
                          element: t,
                          kind: 'side',
                          source: 'tree'
                        })
                    })
                  ),
                  this._disposeOnNewModel.push(
                    this._preview.onMouseDown(function(t) {
                      2 === t.event.detail &&
                        e._onDidSelectReference.fire({
                          element: e._getFocusedReference(),
                          kind:
                            t.event.ctrlKey || t.event.metaKey
                              ? 'side'
                              : 'open',
                          source: 'editor'
                        })
                    })
                  ),
                  h.addClass(this.container, 'results-loaded'),
                  this._treeContainer.show(),
                  this._previewContainer.show(),
                  this._preview.layout(),
                  this._tree.layout(),
                  this.focus()
                var t =
                  1 === this._model.groups.length
                    ? this._model.groups[0]
                    : this._model
                return this._tree.setInput(t)
              }),
              (u.prototype._getFocusedReference = function() {
                var e = this._tree.getFocus()
                return e instanceof T.OneReference
                  ? e
                  : e instanceof T.FileReferences && e.children.length > 0
                    ? e.children[0]
                    : void 0
              }),
              (u.prototype._revealReference = function(e) {
                var t = this
                e.uri.scheme !== a.Schemas.inMemory
                  ? this.setTitle(
                      e.name,
                      o.getPathLabel(
                        e.directory,
                        this._contextService,
                        this._environmentService
                      )
                    )
                  : this.setTitle(n.localize(6, null))
                var r = this._textModelResolverService.createModelReference(
                  e.uri
                )
                return l.TPromise.join([r, this._tree.reveal(e)]).then(function(
                  n
                ) {
                  var i = n[0]
                  if (t._model) {
                    s.dispose(t._previewModelReference)
                    var o = i.object
                    if (o) {
                      ;(t._previewModelReference = i),
                        t._preview.setModel(o.textEditorModel)
                      var r = E.Range.lift(e.range).collapseToStart()
                      t._preview.setSelection(r),
                        t._preview.revealRangeInCenter(r)
                    } else
                      t._preview.setModel(t._previewNotAvailableMessage),
                        i.dispose()
                    t._tree.setSelection([e]), t._tree.setFocus(e)
                  } else i.dispose()
                },
                i.onUnexpectedError)
              }),
              u
            )
          })(M.PeekViewWidget)
        ;(t.ReferenceWidget = j),
          (t.peekViewTitleBackground = I.registerColor(
            'peekViewTitle.background',
            { dark: '#1E1E1E', light: '#FFFFFF', hc: '#0C141F' },
            n.localize(7, null)
          )),
          (t.peekViewTitleForeground = I.registerColor(
            'peekViewTitleLabel.foreground',
            { dark: '#FFFFFF', light: '#333333', hc: '#FFFFFF' },
            n.localize(8, null)
          )),
          (t.peekViewTitleInfoForeground = I.registerColor(
            'peekViewTitleDescription.foreground',
            { dark: '#ccccccb3', light: '#6c6c6cb3', hc: '#FFFFFF99' },
            n.localize(9, null)
          )),
          (t.peekViewBorder = I.registerColor(
            'peekView.border',
            { dark: '#007acc', light: '#007acc', hc: I.contrastBorder },
            n.localize(10, null)
          )),
          (t.peekViewResultsBackground = I.registerColor(
            'peekViewResult.background',
            { dark: '#252526', light: '#F3F3F3', hc: c.Color.black },
            n.localize(11, null)
          )),
          (t.peekViewResultsMatchForeground = I.registerColor(
            'peekViewResult.lineForeground',
            { dark: '#bbbbbb', light: '#646465', hc: c.Color.white },
            n.localize(12, null)
          )),
          (t.peekViewResultsFileForeground = I.registerColor(
            'peekViewResult.fileForeground',
            { dark: c.Color.white, light: '#1E1E1E', hc: c.Color.white },
            n.localize(13, null)
          )),
          (t.peekViewResultsSelectionBackground = I.registerColor(
            'peekViewResult.selectionBackground',
            { dark: '#3399ff33', light: '#3399ff33', hc: null },
            n.localize(14, null)
          )),
          (t.peekViewResultsSelectionForeground = I.registerColor(
            'peekViewResult.selectionForeground',
            { dark: c.Color.white, light: '#6C6C6C', hc: c.Color.white },
            n.localize(15, null)
          )),
          (t.peekViewEditorBackground = I.registerColor(
            'peekViewEditor.background',
            { dark: '#001F33', light: '#F2F8FC', hc: c.Color.black },
            n.localize(16, null)
          )),
          (t.peekViewEditorGutterBackground = I.registerColor(
            'peekViewEditorGutter.background',
            {
              dark: t.peekViewEditorBackground,
              light: t.peekViewEditorBackground,
              hc: t.peekViewEditorBackground
            },
            n.localize(17, null)
          )),
          (t.peekViewResultsMatchHighlight = I.registerColor(
            'peekViewResult.matchHighlightBackground',
            { dark: '#ea5c004d', light: '#ea5c004d', hc: null },
            n.localize(18, null)
          )),
          (t.peekViewEditorMatchHighlight = I.registerColor(
            'peekViewEditor.matchHighlightBackground',
            { dark: '#ff8f0099', light: '#f5d802de', hc: null },
            n.localize(19, null)
          )),
          D.registerThemingParticipant(function(e, n) {
            var i = e.getColor(t.peekViewResultsMatchHighlight)
            i &&
              n.addRule(
                '.monaco-editor .reference-zone-widget .ref-tree .referenceMatch { background-color: ' +
                  i +
                  '; }'
              )
            var o = e.getColor(t.peekViewEditorMatchHighlight)
            o &&
              n.addRule(
                '.monaco-editor .reference-zone-widget .preview .reference-decoration { background-color: ' +
                  o +
                  '; }'
              )
            var r = e.getColor(I.activeContrastBorder)
            r &&
              (n.addRule(
                '.monaco-editor .reference-zone-widget .ref-tree .referenceMatch { border: 1px dotted ' +
                  r +
                  '; box-sizing: border-box; }'
              ),
              n.addRule(
                '.monaco-editor .reference-zone-widget .preview .reference-decoration { border: 2px solid ' +
                  r +
                  '; box-sizing: border-box; }'
              ))
            var s = e.getColor(t.peekViewResultsBackground)
            s &&
              n.addRule(
                '.monaco-editor .reference-zone-widget .ref-tree { background-color: ' +
                  s +
                  '; }'
              )
            var a = e.getColor(t.peekViewResultsMatchForeground)
            a &&
              n.addRule(
                '.monaco-editor .reference-zone-widget .ref-tree { color: ' +
                  a +
                  '; }'
              )
            var u = e.getColor(t.peekViewResultsFileForeground)
            u &&
              n.addRule(
                '.monaco-editor .reference-zone-widget .ref-tree .reference-file { color: ' +
                  u +
                  '; }'
              )
            var l = e.getColor(t.peekViewResultsSelectionBackground)
            l &&
              n.addRule(
                '.monaco-editor .reference-zone-widget .ref-tree .monaco-tree.focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { background-color: ' +
                  l +
                  '; }'
              )
            var c = e.getColor(t.peekViewResultsSelectionForeground)
            c &&
              n.addRule(
                '.monaco-editor .reference-zone-widget .ref-tree .monaco-tree.focused .monaco-tree-rows > .monaco-tree-row.selected:not(.highlighted) { color: ' +
                  c +
                  ' !important; }'
              )
            var d = e.getColor(t.peekViewEditorBackground)
            d &&
              n.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: ' +
                  d +
                  ';}'
              )
            var h = e.getColor(t.peekViewEditorGutterBackground)
            h &&
              n.addRule(
                '.monaco-editor .reference-zone-widget .preview .monaco-editor .margin {\tbackground-color: ' +
                  h +
                  ';}'
              )
          })
      }),
      define(d[169], h([
        0,
        1,
        354,
        10,
        3,
        40,
        59,
        11,
        16,
        19,
        66,
        62,
        73,
        110,
        72,
        32,
        108,
        531,
        78,
        14,
        12,
        196
      ]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c,
        d,
        h,
        p,
        f,
        g,
        m,
        _,
        b,
        C,
        w,
        S
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.ctxReferenceSearchVisible = new l.RawContextKey(
            'referenceSearchVisible',
            !1
          ))
        var E = (L = (function() {
          function e(e, n, i, o, r, s, a, u, l, c, d, h, p) {
            ;(this._editorService = i),
              (this._textModelResolverService = o),
              (this._telemetryService = r),
              (this._messageService = s),
              (this._instantiationService = a),
              (this._contextService = u),
              (this._storageService = l),
              (this._themeService = c),
              (this._configurationService = d),
              (this._peekViewService = h),
              (this._environmentService = p),
              (this._requestIdPool = 0),
              (this._disposables = []),
              (this._ignoreModelChangeEvent = !1),
              (this._editor = e),
              (this._referenceSearchVisible = t.ctxReferenceSearchVisible.bindTo(
                n
              ))
          }
          return (
            (e.get = function(e) {
              return e.getContribution(L.ID)
            }),
            (e.prototype.getId = function() {
              return L.ID
            }),
            (e.prototype.dispose = function() {
              this._widget && (this._widget.dispose(), (this._widget = null)),
                (this._editor = null)
            }),
            (e.prototype.toggleWidget = function(e, t, i) {
              var o,
                s = this
              if (
                (this._widget && (o = this._widget.position),
                this.closeWidget(),
                o && e.containsPosition(o))
              )
                return null
              this._referenceSearchVisible.set(!0),
                this._disposables.push(
                  this._editor.onDidChangeModelLanguage(function() {
                    s.closeWidget()
                  })
                ),
                this._disposables.push(
                  this._editor.onDidChangeModel(function() {
                    s._ignoreModelChangeEvent || s.closeWidget()
                  })
                )
              var u = JSON.parse(
                this._storageService.get('peekViewLayout', void 0, '{}')
              )
              ;(this._widget = new _.ReferenceWidget(
                this._editor,
                u,
                this._textModelResolverService,
                this._contextService,
                this._themeService,
                this._instantiationService,
                this._environmentService
              )),
                this._widget.setTitle(n.localize(0, null)),
                this._widget.show(e),
                this._disposables.push(
                  this._widget.onDidClose(function() {
                    t.cancel(),
                      s._storageService.store(
                        'peekViewLayout',
                        JSON.stringify(s._widget.layoutData)
                      ),
                      (s._widget = null),
                      s.closeWidget()
                  })
                ),
                this._disposables.push(
                  this._widget.onDidSelectReference(function(e) {
                    var t = e.element,
                      n = e.kind
                    switch (n) {
                      case 'open':
                        if (
                          'editor' === e.source &&
                          s._configurationService.lookup('editor.stablePeek')
                            .value
                        )
                          break
                      case 'side':
                        s._openReference(t, 'side' === n)
                        break
                      case 'goto':
                        i.onGoto ? i.onGoto(t) : s._gotoReference(t)
                    }
                  })
                )
              var l = ++this._requestIdPool,
                c = t.then(
                  function(t) {
                    if (l === s._requestIdPool && s._widget) {
                      s._model && s._model.dispose(), (s._model = t)
                      var n = Date.now()
                      return (
                        s._disposables.push({
                          dispose: function() {
                            s._telemetryService.publicLog('zoneWidgetShown', {
                              mode: 'reference search',
                              elapsedTime: Date.now() - n
                            })
                          }
                        }),
                        s._widget.setModel(s._model).then(function() {
                          s._widget.setMetaTitle(i.getMetaTitle(s._model))
                          var t = s._editor.getModel().uri,
                            n = new w.Position(
                              e.startLineNumber,
                              e.startColumn
                            ),
                            o = s._model.nearestReference(t, n)
                          if (o) return s._widget.setSelection(o)
                        })
                      )
                    }
                  },
                  function(e) {
                    s._messageService.show(r.default.Error, e)
                  }
                ),
                d = a.stopwatch(a.fromPromise(c)),
                h = this._editor.getModel().getLanguageIdentifier().language
              d(function(e) {
                return s._telemetryService.publicLog('findReferences', {
                  duration: e,
                  mode: h
                })
              })
            }),
            (e.prototype.closeWidget = function() {
              this._widget && (this._widget.dispose(), (this._widget = null)),
                this._referenceSearchVisible.reset(),
                (this._disposables = o.dispose(this._disposables)),
                this._model && (this._model.dispose(), (this._model = null)),
                this._editor.focus(),
                (this._requestIdPool += 1)
            }),
            (e.prototype._gotoReference = function(e) {
              var t = this
              this._widget.hide(), (this._ignoreModelChangeEvent = !0)
              var n = e.uri,
                o = e.range
              this._editorService
                .openEditor({ resource: n, options: { selection: o } })
                .done(
                  function(e) {
                    ;(t._ignoreModelChangeEvent = !1),
                      e && e.getControl() === t._editor
                        ? (t._widget.show(o), t._widget.focus())
                        : t.closeWidget()
                  },
                  function(e) {
                    ;(t._ignoreModelChangeEvent = !1), i.onUnexpectedError(e)
                  }
                )
            }),
            (e.prototype._openReference = function(e, t) {
              var n = e.uri,
                i = e.range
              this._editorService.openEditor(
                { resource: n, options: { selection: i } },
                t
              ),
                t || this.closeWidget()
            }),
            e
          )
        })())
        ;(E.ID = 'editor.contrib.referencesController'),
          (E = L = v(
            [
              g.editorContribution,
              y(1, l.IContextKeyService),
              y(2, s.IEditorService),
              y(3, b.ITextModelService),
              y(4, d.ITelemetryService),
              y(5, c.IMessageService),
              y(6, u.IInstantiationService),
              y(7, p.IWorkspaceContextService),
              y(8, f.IStorageService),
              y(9, C.IThemeService),
              y(10, h.IConfigurationService),
              y(11, u.optional(m.IPeekViewService)),
              y(12, u.optional(S.IEnvironmentService))
            ],
            E
          )),
          (t.ReferencesController = E)
        var L
      }),
      define(d[161], h([
        0,
        1,
        341,
        48,
        39,
        15,
        40,
        8,
        59,
        66,
        2,
        13,
        144,
        169,
        130,
        108,
        19,
        508,
        20
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, g, m, _, y, b) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var C = (function() {
          return function(e, t, n, i) {
            void 0 === e && (e = !1),
              void 0 === t && (t = !1),
              void 0 === n && (n = !0),
              void 0 === i && (i = !0),
              (this.openToSide = e),
              (this.openInPeek = t),
              (this.filterCurrent = n),
              (this.showMessage = i)
          }
        })()
        t.DefinitionActionConfig = C
        var w = (function(e) {
          function t(t, n) {
            var i = e.call(this, n) || this
            return (i._configuration = t), i
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = this,
                i = e.get(l.IMessageService),
                o = e.get(u.IEditorService),
                r = t.getModel(),
                a = t.getPosition()
              return this._getDeclarationsAtPosition(r, a).then(
                function(e) {
                  if (!r.isDisposed() && t.getModel() === r) {
                    for (var i = -1, s = [], u = 0; u < e.length; u++) {
                      var l = e[u]
                      if (l && l.range) {
                        var d = l.uri,
                          h = l.range,
                          p = s.push({ uri: d, range: h })
                        n._configuration.filterCurrent &&
                          d.toString() === r.uri.toString() &&
                          c.Range.containsPosition(h, a) &&
                          -1 === i &&
                          (i = p - 1)
                      }
                    }
                    if (0 === s.length) {
                      if (n._configuration.showMessage) {
                        var f = r.getWordAtPosition(a)
                        y.MessageController.get(t).showMessage(
                          n._getNoResultFoundMessage(f),
                          a
                        )
                      }
                    } else if (1 === s.length && -1 !== i) {
                      var m = s[0]
                      n._openReference(o, m, !1)
                    } else n._onResult(o, t, new g.ReferencesModel(s))
                  }
                },
                function(e) {
                  return i.show(s.default.Error, e), !1
                }
              )
            }),
            (t.prototype._getDeclarationsAtPosition = function(e, t) {
              return h.getDefinitionsAtPosition(e, t)
            }),
            (t.prototype._getNoResultFoundMessage = function(e) {
              return e && e.word
                ? n.localize(0, null, e.word)
                : n.localize(1, null)
            }),
            (t.prototype._getMetaTitle = function(e) {
              return (
                e.references.length > 1 &&
                n.localize(2, null, e.references.length)
              )
            }),
            (t.prototype._onResult = function(e, t, n) {
              var o = this,
                r = n.getAriaMessage()
              if ((i.alert(r), this._configuration.openInPeek))
                this._openInPeek(e, t, n)
              else {
                var s = n.nearestReference(t.getModel().uri, t.getPosition())
                this._openReference(e, s, this._configuration.openToSide).then(
                  function(t) {
                    t && n.references.length > 1
                      ? o._openInPeek(e, t, n)
                      : n.dispose()
                  }
                )
              }
            }),
            (t.prototype._openReference = function(e, t, n) {
              var i = t.uri,
                o = t.range
              return e
                .openEditor(
                  {
                    resource: i,
                    options: {
                      selection: c.Range.collapseToStart(o),
                      revealIfVisible: !n
                    }
                  },
                  n
                )
                .then(function(e) {
                  return e && e.getControl()
                })
            }),
            (t.prototype._openInPeek = function(e, t, n) {
              var i = this,
                o = p.ReferencesController.get(t)
              o
                ? o.toggleWidget(t.getSelection(), a.TPromise.as(n), {
                    getMetaTitle: function(e) {
                      return i._getMetaTitle(e)
                    },
                    onGoto: function(t) {
                      return o.closeWidget(), i._openReference(e, t, !1)
                    }
                  })
                : n.dispose()
            }),
            t
          )
        })(d.EditorAction)
        t.DefinitionAction = w
        var S = r.isWeb ? 2118 : 70,
          E = (O = (function(e) {
            function t() {
              return (
                e.call(this, new C(), {
                  id: O.ID,
                  label: n.localize(3, null),
                  alias: 'Go to Definition',
                  precondition: _.ContextKeyExpr.and(
                    b.EditorContextKeys.hasDefinitionProvider,
                    b.EditorContextKeys.isInEmbeddedEditor.toNegated()
                  ),
                  kbOpts: { kbExpr: b.EditorContextKeys.textFocus, primary: S },
                  menuOpts: { group: 'navigation', order: 1.1 }
                }) || this
              )
            }
            return f(t, e), t
          })(w))
        ;(E.ID = 'editor.action.goToDeclaration'),
          (E = O = v([d.editorAction], E)),
          (t.GoToDefinitionAction = E)
        var L = (R = (function(e) {
          function t() {
            return (
              e.call(this, new C(!0), {
                id: R.ID,
                label: n.localize(4, null),
                alias: 'Open Definition to the Side',
                precondition: _.ContextKeyExpr.and(
                  b.EditorContextKeys.hasDefinitionProvider,
                  b.EditorContextKeys.isInEmbeddedEditor.toNegated()
                ),
                kbOpts: {
                  kbExpr: b.EditorContextKeys.textFocus,
                  primary: o.KeyChord(2089, S)
                }
              }) || this
            )
          }
          return f(t, e), t
        })(w))
        ;(L.ID = 'editor.action.openDeclarationToTheSide'),
          (L = R = v([d.editorAction], L)),
          (t.OpenDefinitionToSideAction = L)
        var x = (function(e) {
          function t() {
            return (
              e.call(this, new C(void 0, !0, !1), {
                id: 'editor.action.previewDeclaration',
                label: n.localize(5, null),
                alias: 'Peek Definition',
                precondition: _.ContextKeyExpr.and(
                  b.EditorContextKeys.hasDefinitionProvider,
                  m.PeekContext.notInPeekEditor,
                  b.EditorContextKeys.isInEmbeddedEditor.toNegated()
                ),
                kbOpts: {
                  kbExpr: b.EditorContextKeys.textFocus,
                  primary: 582,
                  linux: { primary: 3140 }
                },
                menuOpts: { group: 'navigation', order: 1.2 }
              }) || this
            )
          }
          return f(t, e), t
        })(w)
        ;(x = v([d.editorAction], x)), (t.PeekDefinitionAction = x)
        var N = (function(e) {
          function t() {
            return (null !== e && e.apply(this, arguments)) || this
          }
          return (
            f(t, e),
            (t.prototype._getDeclarationsAtPosition = function(e, t) {
              return h.getImplementationsAtPosition(e, t)
            }),
            (t.prototype._getNoResultFoundMessage = function(e) {
              return e && e.word
                ? n.localize(6, null, e.word)
                : n.localize(7, null)
            }),
            (t.prototype._getMetaTitle = function(e) {
              return (
                e.references.length > 1 &&
                n.localize(8, null, e.references.length)
              )
            }),
            t
          )
        })(w)
        t.ImplementationAction = N
        var M = (P = (function(e) {
          function t() {
            return (
              e.call(this, new C(), {
                id: P.ID,
                label: n.localize(9, null),
                alias: 'Go to Implementation',
                precondition: _.ContextKeyExpr.and(
                  b.EditorContextKeys.hasImplementationProvider,
                  b.EditorContextKeys.isInEmbeddedEditor.toNegated()
                ),
                kbOpts: { kbExpr: b.EditorContextKeys.textFocus, primary: 2118 }
              }) || this
            )
          }
          return f(t, e), t
        })(N))
        ;(M.ID = 'editor.action.goToImplementation'),
          (M = P = v([d.editorAction], M)),
          (t.GoToImplementationAction = M)
        var T = (A = (function(e) {
          function t() {
            return (
              e.call(this, new C(!1, !0, !1), {
                id: A.ID,
                label: n.localize(10, null),
                alias: 'Peek Implementation',
                precondition: _.ContextKeyExpr.and(
                  b.EditorContextKeys.hasImplementationProvider,
                  b.EditorContextKeys.isInEmbeddedEditor.toNegated()
                ),
                kbOpts: { kbExpr: b.EditorContextKeys.textFocus, primary: 3142 }
              }) || this
            )
          }
          return f(t, e), t
        })(N))
        ;(T.ID = 'editor.action.peekImplementation'),
          (T = A = v([d.editorAction], T)),
          (t.PeekImplementationAction = T)
        var k = (function(e) {
          function t() {
            return (null !== e && e.apply(this, arguments)) || this
          }
          return (
            f(t, e),
            (t.prototype._getDeclarationsAtPosition = function(e, t) {
              return h.getTypeDefinitionsAtPosition(e, t)
            }),
            (t.prototype._getNoResultFoundMessage = function(e) {
              return e && e.word
                ? n.localize(11, null, e.word)
                : n.localize(12, null)
            }),
            (t.prototype._getMetaTitle = function(e) {
              return (
                e.references.length > 1 &&
                n.localize(13, null, e.references.length)
              )
            }),
            t
          )
        })(w)
        t.TypeDefinitionAction = k
        var I = (F = (function(e) {
          function t() {
            return (
              e.call(this, new C(), {
                id: F.ID,
                label: n.localize(14, null),
                alias: 'Go to Type Definition',
                precondition: _.ContextKeyExpr.and(
                  b.EditorContextKeys.hasTypeDefinitionProvider,
                  b.EditorContextKeys.isInEmbeddedEditor.toNegated()
                ),
                kbOpts: { kbExpr: b.EditorContextKeys.textFocus, primary: 0 },
                menuOpts: { group: 'navigation', order: 1.4 }
              }) || this
            )
          }
          return f(t, e), t
        })(k))
        ;(I.ID = 'editor.action.goToTypeDefinition'),
          (I = F = v([d.editorAction], I)),
          (t.GoToTypeDefintionAction = I)
        var D = (W = (function(e) {
          function t() {
            return (
              e.call(this, new C(!1, !0, !1), {
                id: W.ID,
                label: n.localize(15, null),
                alias: 'Peek Type Definition',
                precondition: _.ContextKeyExpr.and(
                  b.EditorContextKeys.hasTypeDefinitionProvider,
                  b.EditorContextKeys.isInEmbeddedEditor.toNegated()
                ),
                kbOpts: { kbExpr: b.EditorContextKeys.textFocus, primary: 0 }
              }) || this
            )
          }
          return f(t, e), t
        })(k))
        ;(D.ID = 'editor.action.peekTypeDefinition'),
          (D = W = v([d.editorAction], D)),
          (t.PeekTypeDefinitionAction = D)
        var O, R, P, A, F, W
      }),
      define(d[534], h([
        0,
        1,
        342,
        18,
        10,
        8,
        89,
        2,
        17,
        25,
        32,
        144,
        3,
        78,
        14,
        23,
        112,
        161,
        150,
        190
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p, f, g, m, _, b) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var C = (w = (function() {
          function e(e, t, n) {
            var r = this
            ;(this.textModelResolverService = t),
              (this.modeService = n),
              (this.toUnhook = []),
              (this.decorations = []),
              (this.editor = e),
              (this.throttler = new i.Throttler())
            var s = new b.ClickLinkGesture(e)
            this.toUnhook.push(s),
              this.toUnhook.push(
                s.onMouseMoveOrRelevantKeyDown(function(e) {
                  var t = e[0],
                    n = e[1]
                  r.startFindDefinition(t, n)
                })
              ),
              this.toUnhook.push(
                s.onExecute(function(e) {
                  r.isEnabled(e) &&
                    r.gotoDefinition(e.target, e.hasSideBySideModifier).done(
                      function() {
                        r.removeDecorations()
                      },
                      function(e) {
                        r.removeDecorations(), o.onUnexpectedError(e)
                      }
                    )
                })
              ),
              this.toUnhook.push(
                s.onCancel(function() {
                  r.removeDecorations(), (r.currentWordUnderMouse = null)
                })
              )
          }
          return (
            (e.prototype.startFindDefinition = function(e, t) {
              var i = this
              if (!this.isEnabled(e, t))
                return (
                  (this.currentWordUnderMouse = null),
                  void this.removeDecorations()
                )
              var s = e.target.position,
                u = s ? this.editor.getModel().getWordAtPosition(s) : null
              if (!u)
                return (
                  (this.currentWordUnderMouse = null),
                  void this.removeDecorations()
                )
              if (
                !this.currentWordUnderMouse ||
                this.currentWordUnderMouse.startColumn !== u.startColumn ||
                this.currentWordUnderMouse.endColumn !== u.endColumn ||
                this.currentWordUnderMouse.word !== u.word
              ) {
                this.currentWordUnderMouse = u
                var l = new m.EditorState(this.editor, 15)
                this.throttler
                  .queue(function() {
                    return l.validate(i.editor)
                      ? i.findDefinition(e.target)
                      : r.TPromise.as(null)
                  })
                  .then(function(e) {
                    if (e && e.length && l.validate(i.editor))
                      if (e.length > 1)
                        i.addDecoration(
                          new a.Range(
                            s.lineNumber,
                            u.startColumn,
                            s.lineNumber,
                            u.endColumn
                          ),
                          n.localize(0, null, e.length)
                        )
                      else {
                        var t = e[0]
                        if (!t.uri) return
                        i.textModelResolverService
                          .createModelReference(t.uri)
                          .then(function(e) {
                            if (e.object && e.object.textEditorModel) {
                              var n = e.object.textEditorModel,
                                o = t.range.startLineNumber
                              if (0 !== n.getLineMaxColumn(o)) {
                                for (
                                  var r = n.getLineFirstNonWhitespaceColumn(o),
                                    l = Math.min(
                                      n.getLineCount(),
                                      o + w.MAX_SOURCE_PREVIEW_LINES
                                    ),
                                    c = o + 1,
                                    d = r;
                                  c < l;
                                  c++
                                ) {
                                  var h = n.getLineFirstNonWhitespaceColumn(c)
                                  if (((d = Math.min(d, h)), r === h)) break
                                }
                                var p = new a.Range(o, 1, c + 1, 1),
                                  f = n
                                    .getValueInRange(p)
                                    .replace(
                                      new RegExp('^\\s{' + (d - 1) + '}', 'gm'),
                                      ''
                                    )
                                    .trim()
                                i.addDecoration(
                                  new a.Range(
                                    s.lineNumber,
                                    u.startColumn,
                                    s.lineNumber,
                                    u.endColumn
                                  ),
                                  {
                                    language: i.modeService.getModeIdByFilenameOrFirstLine(
                                      n.uri.fsPath
                                    ),
                                    value: f
                                  }
                                ),
                                  e.dispose()
                              } else e.dispose()
                            } else e.dispose()
                          })
                      }
                    else i.removeDecorations()
                  })
                  .done(void 0, o.onUnexpectedError)
              }
            }),
            (e.prototype.addDecoration = function(e, t) {
              var n = {
                range: e,
                options: {
                  inlineClassName: 'goto-definition-link',
                  hoverMessage: t
                }
              }
              this.decorations = this.editor.deltaDecorations(
                this.decorations,
                [n]
              )
            }),
            (e.prototype.removeDecorations = function() {
              this.decorations.length > 0 &&
                (this.decorations = this.editor.deltaDecorations(
                  this.decorations,
                  []
                ))
            }),
            (e.prototype.isEnabled = function(e, t) {
              return (
                this.editor.getModel() &&
                e.isNoneOrSingleMouseDown &&
                e.target.type === l.MouseTargetType.CONTENT_TEXT &&
                (e.hasTriggerModifier || (t && t.keyCodeIsTriggerKey)) &&
                u.DefinitionProviderRegistry.has(this.editor.getModel())
              )
            }),
            (e.prototype.findDefinition = function(e) {
              return this.editor.getModel()
                ? d.getDefinitionsAtPosition(this.editor.getModel(), e.position)
                : r.TPromise.as(null)
            }),
            (e.prototype.gotoDefinition = function(e, t) {
              var n = this
              this.editor.setPosition(e.position)
              var i = new _.DefinitionAction(
                new _.DefinitionActionConfig(t, !1, !0, !1),
                {
                  alias: void 0,
                  label: void 0,
                  id: void 0,
                  precondition: void 0
                }
              )
              return this.editor.invokeWithinContext(function(e) {
                return i.run(e, n.editor)
              })
            }),
            (e.prototype.getId = function() {
              return w.ID
            }),
            (e.prototype.dispose = function() {
              this.toUnhook = h.dispose(this.toUnhook)
            }),
            e
          )
        })())
        ;(C.ID = 'editor.contrib.gotodefinitionwithmouse'),
          (C.MAX_SOURCE_PREVIEW_LINES = 8),
          (C = w = v(
            [
              c.editorContribution,
              y(1, p.ITextModelService),
              y(2, s.IModeService)
            ],
            C
          )),
          f.registerThemingParticipant(function(e, t) {
            var n = e.getColor(g.editorActiveLinkForeground)
            n &&
              t.addRule(
                '.monaco-editor .goto-definition-link { color: ' +
                  n +
                  ' !important; }'
              )
          })
        var w
      }),
      define(d[535], h([
        0,
        1,
        353,
        24,
        8,
        59,
        16,
        31,
        19,
        91,
        12,
        2,
        21,
        13,
        17,
        108,
        169,
        130,
        18,
        10,
        20
      ]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c,
        d,
        h,
        p,
        g,
        m,
        _,
        b,
        C,
        w,
        S
      ) {
        'use strict'
        function E(e, t) {
          var n = m.getOuterEditor(e)
          if (n) {
            var i = _.ReferencesController.get(n)
            i && i.closeWidget()
          }
        }
        function L(e, t) {
          var n = g.ReferenceProviderRegistry.ordered(e).map(function(n) {
            return C.asWinJsPromise(function(i) {
              return n.provideReferences(e, t, { includeDeclaration: !0 }, i)
            }).then(
              function(e) {
                if (Array.isArray(e)) return e
              },
              function(e) {
                w.onUnexpectedExternalError(e)
              }
            )
          })
          return o.TPromise.join(n).then(function(e) {
            for (var t = [], n = 0, i = e; n < i.length; n++) {
              var o = i[n]
              o && t.push.apply(t, o)
            }
            return t
          })
        }
        Object.defineProperty(t, '__esModule', { value: !0 })
        var x = {
            getMetaTitle: function(e) {
              return (
                e.references.length > 1 &&
                n.localize(0, null, e.references.length)
              )
            }
          },
          N = (T = (function() {
            function e(e, t, n) {
              n && m.PeekContext.inPeekEditor.bindTo(t)
            }
            return (
              (e.prototype.dispose = function() {}),
              (e.prototype.getId = function() {
                return T.ID
              }),
              e
            )
          })())
        ;(N.ID = 'editor.contrib.referenceController'),
          (N = T = v(
            [
              p.commonEditorContribution,
              y(1, u.IContextKeyService),
              y(2, s.optional(m.IPeekViewService))
            ],
            N
          )),
          (t.ReferenceController = N)
        var M = (function(e) {
          function t() {
            return (
              e.call(this, {
                id: 'editor.action.referenceSearch.trigger',
                label: n.localize(1, null),
                alias: 'Find All References',
                precondition: u.ContextKeyExpr.and(
                  S.EditorContextKeys.hasReferenceProvider,
                  m.PeekContext.notInPeekEditor,
                  S.EditorContextKeys.isInEmbeddedEditor.toNegated()
                ),
                kbOpts: {
                  kbExpr: S.EditorContextKeys.textFocus,
                  primary: 1094
                },
                menuOpts: { group: 'navigation', order: 1.5 }
              }) || this
            )
          }
          return (
            f(t, e),
            (t.prototype.run = function(e, t) {
              var n = _.ReferencesController.get(t)
              if (n) {
                var i = t.getSelection(),
                  o = L(t.getModel(), i.getStartPosition()).then(function(e) {
                    return new b.ReferencesModel(e)
                  })
                n.toggleWidget(i, o, x)
              }
            }),
            t
          )
        })(p.EditorAction)
        ;(M = v([p.editorAction], M)), (t.ReferenceAction = M)
        a.CommandsRegistry.registerCommand(
          'editor.action.findReferences',
          function(e, t, n) {
            if (!(t instanceof i.default))
              throw new Error('illegal argument, uri')
            if (!n) throw new Error('illegal argument, position')
            return e
              .get(r.IEditorService)
              .openEditor({ resource: t })
              .then(function(e) {
                var t = e.getControl()
                if (h.isCommonCodeEditor(t)) {
                  var i = _.ReferencesController.get(t)
                  if (i) {
                    var r = L(t.getModel(), c.Position.lift(n)).then(function(
                        e
                      ) {
                        return new b.ReferencesModel(e)
                      }),
                      s = new d.Range(
                        n.lineNumber,
                        n.column,
                        n.lineNumber,
                        n.column
                      )
                    return o.TPromise.as(i.toggleWidget(s, r, x))
                  }
                }
              })
          }
        ),
          a.CommandsRegistry.registerCommand('editor.action.showReferences', {
            handler: function(e, t, n, s) {
              if (!(t instanceof i.default))
                throw new Error('illegal argument, uri expected')
              return e
                .get(r.IEditorService)
                .openEditor({ resource: t })
                .then(function(e) {
                  var t = e.getControl()
                  if (h.isCommonCodeEditor(t)) {
                    var i = _.ReferencesController.get(t)
                    if (i)
                      return o.TPromise.as(
                        i.toggleWidget(
                          new d.Range(
                            n.lineNumber,
                            n.column,
                            n.lineNumber,
                            n.column
                          ),
                          o.TPromise.as(new b.ReferencesModel(s)),
                          x
                        )
                      ).then(function() {
                        return !0
                      })
                  }
                })
            },
            description: {
              description: 'Show references at a position in a file',
              args: [
                {
                  name: 'uri',
                  description: 'The text document in which to show references',
                  constraint: i.default
                },
                {
                  name: 'position',
                  description: 'The position at which to show',
                  constraint: c.Position.isIPosition
                },
                {
                  name: 'locations',
                  description: 'An array of locations.',
                  constraint: Array
                }
              ]
            }
          }),
          l.KeybindingsRegistry.registerCommandAndKeybindingRule({
            id: 'closeReferenceSearch',
            weight: p.CommonEditorRegistry.commandWeight(50),
            primary: 9,
            secondary: [1033],
            when: u.ContextKeyExpr.and(
              _.ctxReferenceSearchVisible,
              u.ContextKeyExpr.not('config.editor.stablePeek')
            ),
            handler: E
          }),
          l.KeybindingsRegistry.registerCommandAndKeybindingRule({
            id: 'closeReferenceSearchEditor',
            weight: p.CommonEditorRegistry.commandWeight(-101),
            primary: 9,
            secondary: [1033],
            when: u.ContextKeyExpr.and(
              m.PeekContext.inPeekEditor,
              u.ContextKeyExpr.not('config.editor.stablePeek')
            ),
            handler: E
          }),
          (t.provideReferences = L),
          p.CommonEditorRegistry.registerDefaultLanguageCommand(
            '_executeReferenceProvider',
            L
          )
        var T
      }),
      define(d[536], h([
        0,
        1,
        137,
        198,
        163,
        165,
        502,
        300,
        440,
        441,
        442,
        504,
        444,
        445,
        446,
        421,
        507,
        448,
        450,
        161,
        534,
        509,
        510,
        511,
        454,
        512,
        455,
        514,
        459,
        535,
        516,
        461,
        194,
        518,
        187,
        519,
        466
      ]), function(e, t) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
      }),
      define(d[188], h([
        0,
        1,
        3,
        73,
        377,
        71,
        468,
        16,
        403,
        84,
        31,
        47,
        19,
        410,
        105,
        66,
        180,
        72,
        62,
        110,
        41,
        63,
        159,
        160,
        89,
        427,
        53,
        420,
        473,
        140,
        407,
        77,
        83,
        529
      ]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c,
        d,
        h,
        p,
        g,
        m,
        v,
        _,
        y,
        b,
        C,
        w,
        S,
        E,
        L,
        x,
        N,
        M,
        T,
        k,
        I,
        D,
        O,
        R
      ) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 })
        var P
        !(function(e) {
          function t(e, t) {
            var n = new o(e, t)
            return r.push(n), n
          }
          var n = new l.ServiceCollection(),
            o = (function() {
              function e(e, t) {
                ;(this._serviceId = e),
                  (this._factory = t),
                  (this._value = null)
              }
              return (
                Object.defineProperty(e.prototype, 'id', {
                  get: function() {
                    return this._serviceId
                  },
                  enumerable: !0,
                  configurable: !0
                }),
                (e.prototype.get = function(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!'
                      )
                    n.set(this._serviceId, this._value)
                  }
                  return this._value
                }),
                e
              )
            })()
          e.LazyStaticService = o
          var r = []
          ;(e.init = function(e) {
            var t = new l.ServiceCollection()
            for (var n in e)
              e.hasOwnProperty(n) && t.set(a.createDecorator(n), e[n])
            r.forEach(function(n) {
              return t.set(n.id, n.get(e))
            })
            var i = new u.InstantiationService(t, !0)
            return t.set(a.IInstantiationService, i), [t, i]
          }),
            (e.instantiationService = t(a.IInstantiationService, function() {
              return new u.InstantiationService(n, !0)
            }))
          var s = new k.SimpleConfigurationService()
          ;(e.configurationService = t(i.IConfigurationService, function() {
            return s
          })),
            (e.resourceConfigurationService = t(
              E.ITextResourceConfigurationService,
              function() {
                return new k.SimpleResourceConfigurationService(s)
              }
            )),
            (e.contextService = t(b.IWorkspaceContextService, function() {
              return new k.SimpleWorkspaceContextService()
            })),
            (e.telemetryService = t(y.ITelemetryService, function() {
              return new k.StandaloneTelemetryService()
            })),
            (e.messageService = t(m.IMessageService, function() {
              return new k.SimpleMessageService()
            })),
            (e.markerService = t(g.IMarkerService, function() {
              return new p.MarkerService()
            })),
            (e.modeService = t(L.IModeService, function(e) {
              return new x.ModeServiceImpl()
            })),
            (e.modelService = t(N.IModelService, function(t) {
              return new M.ModelServiceImpl(
                e.markerService.get(t),
                e.configurationService.get(t)
              )
            })),
            (e.editorWorkerService = t(w.IEditorWorkerService, function(t) {
              return new S.EditorWorkerServiceImpl(
                e.modelService.get(t),
                e.resourceConfigurationService.get(t),
                e.modeService.get(t)
              )
            })),
            (e.standaloneThemeService = t(
              O.IStandaloneThemeService,
              function() {
                return new R.StandaloneThemeServiceImpl()
              }
            )),
            (e.codeEditorService = t(C.ICodeEditorService, function(t) {
              return new T.CodeEditorServiceImpl(
                e.standaloneThemeService.get(t)
              )
            })),
            (e.progressService = t(v.IProgressService, function() {
              return new k.SimpleProgressService()
            })),
            (e.storageService = t(_.IStorageService, function() {
              return _.NullStorageService
            }))
        })((P = t.StaticServices || (t.StaticServices = {})))
        var A = (function(e) {
          function t(t, n) {
            var a = e.call(this) || this,
              u = P.init(n),
              l = u[0],
              p = u[1]
            ;(a._serviceCollection = l), (a._instantiationService = p)
            var f = a.get(i.IConfigurationService),
              g = a.get(m.IMessageService),
              v = a.get(y.ITelemetryService),
              _ = function(e, t) {
                var i = null
                return (
                  n && (i = n[e.toString()]),
                  i || (i = t()),
                  a._serviceCollection.set(e, i),
                  i
                )
              },
              b = _(h.IContextKeyService, function() {
                return a._register(new I.ContextKeyService(f))
              }),
              C = _(c.ICommandService, function() {
                return new k.StandaloneCommandService(a._instantiationService)
              })
            _(d.IKeybindingService, function() {
              return a._register(new k.StandaloneKeybindingService(b, C, g, t))
            })
            var w = _(r.IContextViewService, function() {
              return a._register(new s.ContextViewService(t, v, g))
            })
            return (
              _(r.IContextMenuService, function() {
                return a._register(new o.ContextMenuService(t, v, g, w))
              }),
              _(D.IMenuService, function() {
                return new k.SimpleMenuService(C)
              }),
              a
            )
          }
          return (
            f(t, e),
            (t.prototype.get = function(e) {
              var t = this._serviceCollection.get(e)
              if (!t) throw new Error('Missing service ' + e)
              return t
            }),
            (t.prototype.set = function(e, t) {
              this._serviceCollection.set(e, t)
            }),
            (t.prototype.has = function(e) {
              return this._serviceCollection.has(e)
            }),
            t
          )
        })(n.Disposable)
        t.DynamicStandaloneServices = A
      }),
      define(d[500], h([
        0,
        1,
        21,
        25,
        527,
        51,
        188,
        413,
        67,
        264,
        140,
        17,
        387,
        165,
        59,
        31,
        71,
        16,
        47,
        19,
        41,
        63,
        78,
        70,
        83,
        122,
        49,
        54,
        233
      ]), function(
        e,
        t,
        n,
        i,
        o,
        r,
        s,
        a,
        u,
        l,
        c,
        d,
        h,
        p,
        f,
        g,
        m,
        v,
        _,
        y,
        b,
        C,
        w,
        S,
        E,
        L,
        x,
        N
      ) {
        'use strict'
        function M(e, t, n) {
          var i = new s.DynamicStandaloneServices(e, t),
            o = null
          i.has(f.IEditorService) ||
            ((o = new c.SimpleEditorService()), i.set(f.IEditorService, o))
          var r = null
          i.has(w.ITextModelService) ||
            ((r = new c.SimpleEditorModelResolverService()),
            i.set(w.ITextModelService, r)),
            i.has(u.IOpenerService) ||
              i.set(
                u.IOpenerService,
                new a.OpenerService(
                  i.get(f.IEditorService),
                  i.get(g.ICommandService)
                )
              )
          var l = n(i)
          return o && o.setEditor(l), r && r.setEditor(l), l
        }
        function T(e, t, n) {
          return M(e, n, function(n) {
            return new o.StandaloneEditor(
              e,
              t,
              n,
              n.get(v.IInstantiationService),
              n.get(b.ICodeEditorService),
              n.get(g.ICommandService),
              n.get(y.IContextKeyService),
              n.get(_.IKeybindingService),
              n.get(m.IContextViewService),
              n.get(E.IStandaloneThemeService)
            )
          })
        }
        function k(e) {
          return s.StaticServices.codeEditorService
            .get()
            .onCodeEditorAdd(function(t) {
              e(t)
            })
        }
        function I(e, t, n) {
          return M(e, n, function(n) {
            return new o.StandaloneDiffEditor(
              e,
              t,
              n,
              n.get(v.IInstantiationService),
              n.get(y.IContextKeyService),
              n.get(_.IKeybindingService),
              n.get(m.IContextViewService),
              n.get(C.IEditorWorkerService),
              n.get(b.ICodeEditorService),
              n.get(E.IStandaloneThemeService)
            )
          })
        }
        function D(e, t) {
          return new p.DiffNavigator(e, t)
        }
        function O(e, t, n) {
          return s.StaticServices.modelService.get().createModel(e, t, n)
        }
        function R(e, t, n) {
          if (((e = e || ''), !t)) {
            var i = n ? n.path : null,
              o = e.indexOf('\n'),
              r = e
            return (
              -1 !== o && (r = e.substring(0, o)),
              O(
                e,
                s.StaticServices.modeService
                  .get()
                  .getOrCreateModeByFilenameOrFirstLine(i, r),
                n
              )
            )
          }
          return O(e, s.StaticServices.modeService.get().getOrCreateMode(t), n)
        }
        function P(e, t) {
          s.StaticServices.modelService
            .get()
            .setMode(e, s.StaticServices.modeService.get().getOrCreateMode(t))
        }
        function A(e, t, n) {
          e && s.StaticServices.markerService.get().changeOne(t, e.uri, n)
        }
        function F(e) {
          return s.StaticServices.modelService.get().getModel(e)
        }
        function W() {
          return s.StaticServices.modelService.get().getModels()
        }
        function B(e) {
          return s.StaticServices.modelService.get().onModelAdded(e)
        }
        function V(e) {
          return s.StaticServices.modelService.get().onModelRemoved(e)
        }
        function H(e) {
          return s.StaticServices.modelService
            .get()
            .onModelModeChanged(function(t) {
              e({ model: t.model, oldLanguage: t.oldModeId })
            })
        }
        function z(e) {
          return h.createWebWorker(s.StaticServices.modelService.get(), e)
        }
        function K(e, t) {
          return l.Colorizer.colorizeElement(
            s.StaticServices.standaloneThemeService.get(),
            s.StaticServices.modeService.get(),
            e,
            t
          )
        }
        function U(e, t, n) {
          return l.Colorizer.colorize(
            s.StaticServices.modeService.get(),
            e,
            t,
            n
          )
        }
        function j(e, t, n) {
          return void 0 === n && (n = 4), l.Colorizer.colorizeModelLine(e, t, n)
        }
        function q(e) {
          var t = d.TokenizationRegistry.get(e)
          return (
            t || {
              getInitialState: function() {
                return S.NULL_STATE
              },
              tokenize: function(t, n, i) {
                return S.nullTokenize(e, t, n, i)
              },
              tokenize2: void 0
            }
          )
        }
        function G(e, t) {
          s.StaticServices.modeService.get().getOrCreateMode(t)
          for (
            var n = q(t),
              i = e.split(/\r\n|\r|\n/),
              o = [],
              r = n.getInitialState(),
              a = 0,
              u = i.length;
            a < u;
            a++
          ) {
            var l = i[a],
              c = n.tokenize(l, r, 0)
            ;(o[a] = c.tokens), (r = c.endState)
          }
          return o
        }
        function Y(e, t) {
          s.StaticServices.standaloneThemeService.get().defineTheme(e, t)
        }
        function Z(e) {
          s.StaticServices.standaloneThemeService.get().setTheme(e)
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.setupServices = function(e) {
            return s.StaticServices.init(e)
          }),
          (t.create = T),
          (t.onDidCreateEditor = k),
          (t.createDiffEditor = I),
          (t.createDiffNavigator = D),
          (t.createModel = R),
          (t.setModelLanguage = P),
          (t.setModelMarkers = A),
          (t.getModel = F),
          (t.getModels = W),
          (t.onDidCreateModel = B),
          (t.onWillDisposeModel = V),
          (t.onDidChangeModelLanguage = H),
          (t.createWebWorker = z),
          (t.colorizeElement = K),
          (t.colorize = U),
          (t.colorizeModelLine = j),
          (t.tokenize = G),
          (t.defineTheme = Y),
          (t.setTheme = Z),
          (t.createMonacoEditorAPI = function() {
            return {
              create: T,
              onDidCreateEditor: k,
              createDiffEditor: I,
              createDiffNavigator: D,
              createModel: R,
              setModelLanguage: P,
              setModelMarkers: A,
              getModels: W,
              getModel: F,
              onDidCreateModel: B,
              onWillDisposeModel: V,
              onDidChangeModelLanguage: H,
              createWebWorker: z,
              colorizeElement: K,
              colorize: U,
              colorizeModelLine: j,
              tokenize: G,
              defineTheme: Y,
              setTheme: Z,
              ScrollbarVisibility: r.ScrollbarVisibility,
              WrappingIndent: x.WrappingIndent,
              OverviewRulerLane: n.OverviewRulerLane,
              EndOfLinePreference: n.EndOfLinePreference,
              DefaultEndOfLine: n.DefaultEndOfLine,
              EndOfLineSequence: n.EndOfLineSequence,
              TrackedRangeStickiness: n.TrackedRangeStickiness,
              CursorChangeReason: N.CursorChangeReason,
              MouseTargetType: i.MouseTargetType,
              TextEditorCursorStyle: x.TextEditorCursorStyle,
              TextEditorCursorBlinkingStyle: x.TextEditorCursorBlinkingStyle,
              ContentWidgetPositionPreference:
                i.ContentWidgetPositionPreference,
              OverlayWidgetPositionPreference:
                i.OverlayWidgetPositionPreference,
              RenderMinimap: x.RenderMinimap,
              InternalEditorOptions: x.InternalEditorOptions,
              BareFontInfo: L.BareFontInfo,
              FontInfo: L.FontInfo,
              TextModelResolvedOptions: n.TextModelResolvedOptions,
              FindMatch: n.FindMatch,
              EditorType: n.EditorType
            }
          })
      }),
      define(d[476], h([
        0,
        1,
        8,
        142,
        188,
        17,
        58,
        12,
        2,
        18,
        266,
        267,
        43,
        96
      ]), function(e, t, n, i, o, r, s, a, u, l, c, d, h, p) {
        'use strict'
        function f(e) {
          i.ModesRegistry.registerLanguage(e)
        }
        function g() {
          var e = []
          return (e = e.concat(i.ModesRegistry.getLanguages()))
        }
        function m(e, t) {
          var n = o.StaticServices.modeService
            .get()
            .onDidCreateMode(function(i) {
              i.getId() === e && (n.dispose(), t())
            })
          return n
        }
        function v(e, t) {
          var n = o.StaticServices.modeService.get().getLanguageIdentifier(e)
          if (!n)
            throw new Error(
              'Cannot set configuration for unknown language ' + e
            )
          return h.LanguageConfigurationRegistry.register(n, t)
        }
        function _(e, t) {
          var n = o.StaticServices.modeService.get().getLanguageIdentifier(e)
          if (!n)
            throw new Error(
              'Cannot set tokens provider for unknown language ' + e
            )
          var i = new F(o.StaticServices.standaloneThemeService.get(), n, t)
          return r.TokenizationRegistry.register(e, i)
        }
        function y(e, t) {
          var n = c.compile(e, t),
            i = d.createTokenizationSupport(
              o.StaticServices.modeService.get(),
              o.StaticServices.standaloneThemeService.get(),
              e,
              n
            )
          return r.TokenizationRegistry.register(e, i)
        }
        function b(e, t) {
          return r.ReferenceProviderRegistry.register(e, t)
        }
        function C(e, t) {
          return r.RenameProviderRegistry.register(e, t)
        }
        function w(e, t) {
          return r.SignatureHelpProviderRegistry.register(e, t)
        }
        function S(e, t) {
          return r.HoverProviderRegistry.register(e, {
            provideHover: function(e, n, i) {
              var o = e.getWordAtPosition(n)
              return l.toThenable(t.provideHover(e, n, i)).then(function(e) {
                if (e)
                  return (
                    !e.range &&
                      o &&
                      (e.range = new u.Range(
                        n.lineNumber,
                        o.startColumn,
                        n.lineNumber,
                        o.endColumn
                      )),
                    e.range ||
                      (e.range = new u.Range(
                        n.lineNumber,
                        n.column,
                        n.lineNumber,
                        n.column
                      )),
                    e
                  )
              })
            }
          })
        }
        function E(e, t) {
          return r.DocumentSymbolProviderRegistry.register(e, t)
        }
        function L(e, t) {
          return r.DocumentHighlightProviderRegistry.register(e, t)
        }
        function x(e, t) {
          return r.DefinitionProviderRegistry.register(e, t)
        }
        function N(e, t) {
          return r.ImplementationProviderRegistry.register(e, t)
        }
        function M(e, t) {
          return r.TypeDefinitionProviderRegistry.register(e, t)
        }
        function T(e, t) {
          return r.CodeLensProviderRegistry.register(e, t)
        }
        function k(e, t) {
          return r.CodeActionProviderRegistry.register(e, {
            provideCodeActions: function(e, n, i) {
              var r = o.StaticServices.markerService
                .get()
                .read({ resource: e.uri })
                .filter(function(e) {
                  return u.Range.areIntersectingOrTouching(e, n)
                })
              return t.provideCodeActions(e, n, { markers: r }, i)
            }
          })
        }
        function I(e, t) {
          return r.DocumentFormattingEditProviderRegistry.register(e, t)
        }
        function D(e, t) {
          return r.DocumentRangeFormattingEditProviderRegistry.register(e, t)
        }
        function O(e, t) {
          return r.OnTypeFormattingEditProviderRegistry.register(e, t)
        }
        function R(e, t) {
          return r.LinkProviderRegistry.register(e, t)
        }
        function P(e, t) {
          var n = new B(t)
          return r.SuggestRegistry.register(e, {
            triggerCharacters: t.triggerCharacters,
            provideCompletionItems: function(e, t, i) {
              return n.provideCompletionItems(e, t, i)
            },
            resolveCompletionItem: function(e, t, i, o) {
              return n.resolveCompletionItem(e, t, i, o)
            }
          })
        }
        function A(e) {
          switch (e) {
            case W.Method:
              return 'method'
            case W.Function:
              return 'function'
            case W.Constructor:
              return 'constructor'
            case W.Field:
              return 'field'
            case W.Variable:
              return 'variable'
            case W.Class:
              return 'class'
            case W.Interface:
              return 'interface'
            case W.Module:
              return 'module'
            case W.Property:
              return 'property'
            case W.Unit:
              return 'unit'
            case W.Value:
              return 'value'
            case W.Enum:
              return 'enum'
            case W.Keyword:
              return 'keyword'
            case W.Snippet:
              return 'snippet'
            case W.Text:
              return 'text'
            case W.Color:
              return 'color'
            case W.File:
              return 'file'
            case W.Reference:
              return 'reference'
            case W.Folder:
              return 'folder'
          }
          return 'property'
        }
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (t.register = f),
          (t.getLanguages = g),
          (t.onLanguage = m),
          (t.setLanguageConfiguration = v)
        var F = (function() {
          function e(e, t, n) {
            ;(this._standaloneThemeService = e),
              (this._languageIdentifier = t),
              (this._actual = n)
          }
          return (
            (e.prototype.getInitialState = function() {
              return this._actual.getInitialState()
            }),
            (e.prototype._toClassicTokens = function(e, t, n) {
              for (var i = [], o = 0, r = 0, s = e.length; r < s; r++) {
                var a = e[r],
                  u = a.startIndex
                0 === r ? (u = 0) : u < o && (u = o),
                  (i[r] = new p.Token(u + n, a.scopes, t)),
                  (o = u)
              }
              return i
            }),
            (e.prototype.tokenize = function(e, t, n) {
              var i,
                o = this._actual.tokenize(e, t),
                r = this._toClassicTokens(
                  o.tokens,
                  this._languageIdentifier.language,
                  n
                )
              return (
                (i = o.endState.equals(t) ? t : o.endState),
                new p.TokenizationResult(r, i)
              )
            }),
            (e.prototype._toBinaryTokens = function(e, t) {
              for (
                var n = this._languageIdentifier.id,
                  i = this._standaloneThemeService.getTheme().tokenTheme,
                  o = [],
                  r = 0,
                  s = 0,
                  a = 0,
                  u = e.length;
                a < u;
                a++
              ) {
                var l = e[a],
                  c = i.match(n, l.scopes)
                if (!(r > 0 && o[r - 1] === c)) {
                  var d = l.startIndex
                  0 === a ? (d = 0) : d < s && (d = s),
                    (o[r++] = d + t),
                    (o[r++] = c),
                    (s = d)
                }
              }
              for (var h = new Uint32Array(r), a = 0; a < r; a++) h[a] = o[a]
              return h
            }),
            (e.prototype.tokenize2 = function(e, t, n) {
              var i,
                o = this._actual.tokenize(e, t),
                r = this._toBinaryTokens(o.tokens, n)
              return (
                (i = o.endState.equals(t) ? t : o.endState),
                new p.TokenizationResult2(r, i)
              )
            }),
            e
          )
        })()
        ;(t.TokenizationSupport2Adapter = F),
          (t.setTokensProvider = _),
          (t.setMonarchTokensProvider = y),
          (t.registerReferenceProvider = b),
          (t.registerRenameProvider = C),
          (t.registerSignatureHelpProvider = w),
          (t.registerHoverProvider = S),
          (t.registerDocumentSymbolProvider = E),
          (t.registerDocumentHighlightProvider = L),
          (t.registerDefinitionProvider = x),
          (t.registerImplementationProvider = N),
          (t.registerTypeDefinitionProvider = M),
          (t.registerCodeLensProvider = T),
          (t.registerCodeActionProvider = k),
          (t.registerDocumentFormattingEditProvider = I),
          (t.registerDocumentRangeFormattingEditProvider = D),
          (t.registerOnTypeFormattingEditProvider = O),
          (t.registerLinkProvider = R),
          (t.registerCompletionItemProvider = P)
        var W
        !(function(e) {
          ;(e[(e.Text = 0)] = 'Text'),
            (e[(e.Method = 1)] = 'Method'),
            (e[(e.Function = 2)] = 'Function'),
            (e[(e.Constructor = 3)] = 'Constructor'),
            (e[(e.Field = 4)] = 'Field'),
            (e[(e.Variable = 5)] = 'Variable'),
            (e[(e.Class = 6)] = 'Class'),
            (e[(e.Interface = 7)] = 'Interface'),
            (e[(e.Module = 8)] = 'Module'),
            (e[(e.Property = 9)] = 'Property'),
            (e[(e.Unit = 10)] = 'Unit'),
            (e[(e.Value = 11)] = 'Value'),
            (e[(e.Enum = 12)] = 'Enum'),
            (e[(e.Keyword = 13)] = 'Keyword'),
            (e[(e.Snippet = 14)] = 'Snippet'),
            (e[(e.Color = 15)] = 'Color'),
            (e[(e.File = 16)] = 'File'),
            (e[(e.Reference = 17)] = 'Reference'),
            (e[(e.Folder = 18)] = 'Folder')
        })((W = t.CompletionItemKind || (t.CompletionItemKind = {})))
        var B = (function() {
          function e(e) {
            this._provider = e
          }
          return (
            (e.from = function(e, t, n) {
              var i = {
                  _actual: e,
                  label: e.label,
                  insertText: e.label,
                  type: A(e.kind),
                  detail: e.detail,
                  documentation: e.documentation,
                  sortText: e.sortText,
                  filterText: e.filterText,
                  snippetType: 'internal'
                },
                o = e.textEdit ? e.textEdit.range : e.range
              if (o) {
                if (
                  !(o.startLineNumber === o.endLineNumber) ||
                  o.startLineNumber !== t.lineNumber
                )
                  return (
                    console.warn(
                      'INVALID range, must be single line and on the same line'
                    ),
                    null
                  )
                ;(i.overwriteBefore = t.column - o.startColumn),
                  (i.overwriteAfter = o.endColumn - t.column)
              } else
                (i.overwriteBefore = t.column - n.column),
                  (i.overwriteAfter = 0)
              return (
                e.textEdit
                  ? (i.insertText = e.textEdit.text)
                  : 'object' == typeof e.insertText &&
                    'string' == typeof e.insertText.value
                    ? ((i.insertText = e.insertText.value),
                      (i.snippetType = 'textmate'))
                    : 'string' == typeof e.insertText &&
                      (i.insertText = e.insertText),
                i
              )
            }),
            (e.prototype.provideCompletionItems = function(t, n, i) {
              return l
                .toThenable(this._provider.provideCompletionItems(t, n, i))
                .then(function(i) {
                  var o = { suggestions: [] },
                    r = n,
                    s = t.getWordUntilPosition(n)
                  s && (r = new a.Position(r.lineNumber, s.startColumn))
                  var u
                  if (Array.isArray(i)) u = { items: i, isIncomplete: !1 }
                  else if ('object' == typeof i && Array.isArray(i.items))
                    (u = i), (o.incomplete = u.isIncomplete)
                  else {
                    if (!i) return
                    console.warn(
                      'INVALID result from completion provider. expected CompletionItem-array or CompletionList but got:',
                      i
                    )
                  }
                  for (var l = 0; l < u.items.length; l++) {
                    var c = u.items[l],
                      d = e.from(c, n, r)
                    d && o.suggestions.push(d)
                  }
                  return o
                })
            }),
            (e.prototype.resolveCompletionItem = function(t, i, o, r) {
              if ('function' != typeof this._provider.resolveCompletionItem)
                return n.TPromise.as(o)
              var s = o._actual
              return s
                ? l
                    .toThenable(this._provider.resolveCompletionItem(s, r))
                    .then(function(n) {
                      var o = i,
                        r = t.getWordUntilPosition(i)
                      return (
                        r && (o = new a.Position(o.lineNumber, r.startColumn)),
                        e.from(n, i, o)
                      )
                    })
                : n.TPromise.as(o)
            }),
            e
          )
        })()
        t.createMonacoLanguagesAPI = function() {
          return {
            register: f,
            getLanguages: g,
            onLanguage: m,
            setLanguageConfiguration: v,
            setTokensProvider: _,
            setMonarchTokensProvider: y,
            registerReferenceProvider: b,
            registerRenameProvider: C,
            registerCompletionItemProvider: P,
            registerSignatureHelpProvider: w,
            registerHoverProvider: S,
            registerDocumentSymbolProvider: E,
            registerDocumentHighlightProvider: L,
            registerDefinitionProvider: x,
            registerImplementationProvider: N,
            registerTypeDefinitionProvider: M,
            registerCodeLensProvider: T,
            registerCodeActionProvider: k,
            registerDocumentFormattingEditProvider: I,
            registerDocumentRangeFormattingEditProvider: D,
            registerOnTypeFormattingEditProvider: O,
            registerLinkProvider: R,
            DocumentHighlightKind: r.DocumentHighlightKind,
            CompletionItemKind: W,
            SymbolKind: r.SymbolKind,
            IndentAction: s.IndentAction
          }
        }
      }),
      define(d[540], h([
        0,
        1,
        193,
        500,
        476,
        49,
        536,
        521,
        522,
        422,
        526,
        524,
        525,
        467
      ]), function(e, t, n, i, o, r) {
        'use strict'
        Object.defineProperty(t, '__esModule', { value: !0 }),
          (r.EDITOR_DEFAULTS.wrappingIndent = r.WrappingIndent.None),
          (r.EDITOR_DEFAULTS.contribInfo.folding = !1),
          (r.EDITOR_DEFAULTS.viewInfo.glyphMargin = !1),
          (r.EDITOR_DEFAULTS.autoIndent = !1)
        var s = n.createMonacoBaseAPI()
        for (var a in s) s.hasOwnProperty(a) && (t[a] = s[a])
        ;(t.editor = i.createMonacoEditorAPI()),
          (t.languages = o.createMonacoLanguagesAPI())
        var u = self
        ;(u.monaco = t),
          void 0 !== u.require &&
            'function' == typeof u.require.config &&
            u.require.config({
              ignoreDuplicateModules: [
                'vscode-languageserver-types',
                'vscode-languageserver-types/main',
                'vscode-nls',
                'vscode-nls/vscode-nls',
                'jsonc-parser',
                'jsonc-parser/main',
                'vscode-uri',
                'vscode-uri/index'
              ]
            })
      })
  }.call(this))

  /*!-----------------------------------------------------------------------------
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * monaco-typescript version: 2.2.0(c9c77f499b932bffefca447e33c3c556d60e40d7)
 * Released under the MIT license
 * https://github.com/Microsoft/monaco-typescript/blob/master/LICENSE.md
 *-----------------------------------------------------------------------------*/
  define('vs/language/typescript/src/monaco.contribution', [
    'require',
    'exports',
    'vs/editor/edcore.main'
  ], function(e, t) {
    'use strict'
    function n() {
      return new monaco.Promise(function(e, t) {
        r(function(n) {
          n.getTypeScriptWorker().then(e, t)
        })
      })
    }
    function i() {
      return new monaco.Promise(function(e, t) {
        r(function(n) {
          n.getJavaScriptWorker().then(e, t)
        })
      })
    }
    function o() {
      return {
        ModuleKind: c,
        JsxEmit: p,
        NewLineKind: u,
        ScriptTarget: g,
        ModuleResolutionKind: d,
        typescriptDefaults: S,
        javascriptDefaults: m,
        getTypeScriptWorker: n,
        getJavaScriptWorker: i
      }
    }
    function r(t) {
      e(['vs/language/typescript/src/mode'], t)
    }
    Object.defineProperty(t, '__esModule', { value: !0 })
    var a = monaco.Emitter,
      s = (function() {
        function e(e, t) {
          ;(this._onDidChange = new a()),
            (this._extraLibs = Object.create(null)),
            (this._workerMaxIdleTime = 12e4),
            this.setCompilerOptions(e),
            this.setDiagnosticsOptions(t)
        }
        return (
          Object.defineProperty(e.prototype, 'onDidChange', {
            get: function() {
              return this._onDidChange.event
            },
            enumerable: !0,
            configurable: !0
          }),
          (e.prototype.getExtraLibs = function() {
            var e = Object.create(null)
            for (var t in this._extraLibs) e[t] = this._extraLibs[t]
            return Object.freeze(e)
          }),
          (e.prototype.addExtraLib = function(e, t) {
            var n = this
            if (
              ('undefined' == typeof t && (t = 'ts:extralib-' + Date.now()),
              this._extraLibs[t])
            )
              throw new Error(t + ' already a extra lib')
            return (
              (this._extraLibs[t] = e),
              this._onDidChange.fire(this),
              {
                dispose: function() {
                  delete n._extraLibs[t] && n._onDidChange.fire(n)
                }
              }
            )
          }),
          (e.prototype.getCompilerOptions = function() {
            return this._compilerOptions
          }),
          (e.prototype.setCompilerOptions = function(e) {
            ;(this._compilerOptions = e || Object.create(null)),
              this._onDidChange.fire(this)
          }),
          (e.prototype.getDiagnosticsOptions = function() {
            return this._diagnosticsOptions
          }),
          (e.prototype.setDiagnosticsOptions = function(e) {
            ;(this._diagnosticsOptions = e || Object.create(null)),
              this._onDidChange.fire(this)
          }),
          (e.prototype.setMaximunWorkerIdleTime = function(e) {
            this._workerMaxIdleTime = e
          }),
          (e.prototype.getWorkerMaxIdleTime = function() {
            return this._workerMaxIdleTime
          }),
          (e.prototype.setEagerModelSync = function(e) {
            this._eagerModelSync = e
          }),
          (e.prototype.getEagerModelSync = function() {
            return this._eagerModelSync
          }),
          e
        )
      })()
    t.LanguageServiceDefaultsImpl = s
    var c
    !(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')
    })(c || (c = {}))
    var p
    !(function(e) {
      ;(e[(e.None = 0)] = 'None'),
        (e[(e.Preserve = 1)] = 'Preserve'),
        (e[(e.React = 2)] = 'React')
    })(p || (p = {}))
    var u
    !(function(e) {
      ;(e[(e.CarriageReturnLineFeed = 0)] = 'CarriageReturnLineFeed'),
        (e[(e.LineFeed = 1)] = 'LineFeed')
    })(u || (u = {}))
    var l
    !(function(e) {
      ;(e[(e.Unknown = 0)] = 'Unknown'),
        (e[(e.JS = 1)] = 'JS'),
        (e[(e.JSX = 2)] = 'JSX'),
        (e[(e.TS = 3)] = 'TS'),
        (e[(e.TSX = 4)] = 'TSX')
    })(l || (l = {}))
    var g
    !(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.ESNext = 5)] = 'ESNext'),
        (e[(e.Latest = 5)] = 'Latest')
    })(g || (g = {}))
    var f
    !(function(e) {
      ;(e[(e.Standard = 0)] = 'Standard'), (e[(e.JSX = 1)] = 'JSX')
    })(f || (f = {}))
    var d
    !(function(e) {
      ;(e[(e.Classic = 1)] = 'Classic'), (e[(e.NodeJs = 2)] = 'NodeJs')
    })(d || (d = {}))
    var S = new s(
        { allowNonTsExtensions: !0, target: g.Latest },
        { noSemanticValidation: !1, noSyntaxValidation: !1 }
      ),
      m = new s(
        { allowNonTsExtensions: !0, allowJs: !0, target: g.Latest },
        { noSemanticValidation: !0, noSyntaxValidation: !1 }
      )
    ;(monaco.languages.typescript = o()),
      monaco.languages.register({
        id: 'typescript',
        extensions: ['.ts', '.tsx'],
        aliases: ['TypeScript', 'ts', 'typescript'],
        mimetypes: ['text/typescript']
      }),
      monaco.languages.onLanguage('typescript', function() {
        r(function(e) {
          return e.setupTypeScript(S)
        })
      }),
      monaco.languages.register({
        id: 'javascript',
        extensions: ['.js', '.es6', '.jsx'],
        firstLine: '^#!.*\\bnode',
        filenames: ['jakefile'],
        aliases: ['JavaScript', 'javascript', 'js'],
        mimetypes: ['text/javascript']
      }),
      monaco.languages.onLanguage('javascript', function() {
        r(function(e) {
          return e.setupJavaScript(m)
        })
      })
  })
  /*!-----------------------------------------------------------------------------
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * monaco-css version: 1.3.2(301b0b29f65de14ab6e2d2398485ed92af690381)
 * Released under the MIT license
 * https://github.com/Microsoft/monaco-css/blob/master/LICENSE.md
 *-----------------------------------------------------------------------------*/
  !(function(e) {
    if ('object' == typeof module && 'object' == typeof module.exports) {
      var n = e(require, exports)
      void 0 !== n && (module.exports = n)
    } else
      'function' == typeof define &&
        define.amd &&
        define('vs/language/css/monaco.contribution', [
          'require',
          'exports',
          'vs/editor/edcore.main'
        ], e)
  })(function(e, n) {
    function o() {
      return { cssDefaults: a, lessDefaults: c, scssDefaults: u }
    }
    function t(n) {
      e(['vs/language/css/cssMode'], n)
    }
    Object.defineProperty(n, '__esModule', { value: !0 })
    var i = monaco.Emitter,
      r = (function() {
        function e(e, n) {
          ;(this._onDidChange = new i()),
            (this._languageId = e),
            this.setDiagnosticsOptions(n)
        }
        return (
          Object.defineProperty(e.prototype, 'onDidChange', {
            get: function() {
              return this._onDidChange.event
            },
            enumerable: !0,
            configurable: !0
          }),
          Object.defineProperty(e.prototype, 'languageId', {
            get: function() {
              return this._languageId
            },
            enumerable: !0,
            configurable: !0
          }),
          Object.defineProperty(e.prototype, 'diagnosticsOptions', {
            get: function() {
              return this._diagnosticsOptions
            },
            enumerable: !0,
            configurable: !0
          }),
          (e.prototype.setDiagnosticsOptions = function(e) {
            ;(this._diagnosticsOptions = e || Object.create(null)),
              this._onDidChange.fire(this)
          }),
          e
        )
      })()
    n.LanguageServiceDefaultsImpl = r
    var s = {
        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'
        }
      },
      a = new r('css', s),
      u = new r('scss', s),
      c = new r('less', s)
    ;(monaco.languages.css = o()),
      monaco.languages.onLanguage('less', function() {
        t(function(e) {
          return e.setupMode(c)
        })
      }),
      monaco.languages.onLanguage('scss', function() {
        t(function(e) {
          return e.setupMode(u)
        })
      }),
      monaco.languages.onLanguage('css', function() {
        t(function(e) {
          return e.setupMode(a)
        })
      })
  })
  /*!-----------------------------------------------------------------------------
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * monaco-json version: 1.3.1(7b38df12a12ed0bf7117b407584b20b786c0ab7d)
 * Released under the MIT license
 * https://github.com/Microsoft/monaco-json/blob/master/LICENSE.md
 *-----------------------------------------------------------------------------*/
  !(function(e) {
    if ('object' == typeof module && 'object' == typeof module.exports) {
      var n = e(require, exports)
      void 0 !== n && (module.exports = n)
    } else
      'function' == typeof define &&
        define.amd &&
        define('vs/language/json/monaco.contribution', [
          'require',
          'exports',
          'vs/editor/edcore.main'
        ], e)
  })(function(e, n) {
    function o() {
      return { jsonDefaults: r }
    }
    function t(n) {
      e(['vs/language/json/jsonMode'], n)
    }
    Object.defineProperty(n, '__esModule', { value: !0 })
    var i = monaco.Emitter,
      s = (function() {
        function e(e, n) {
          ;(this._onDidChange = new i()),
            (this._languageId = e),
            this.setDiagnosticsOptions(n)
        }
        return (
          Object.defineProperty(e.prototype, 'onDidChange', {
            get: function() {
              return this._onDidChange.event
            },
            enumerable: !0,
            configurable: !0
          }),
          Object.defineProperty(e.prototype, 'languageId', {
            get: function() {
              return this._languageId
            },
            enumerable: !0,
            configurable: !0
          }),
          Object.defineProperty(e.prototype, 'diagnosticsOptions', {
            get: function() {
              return this._diagnosticsOptions
            },
            enumerable: !0,
            configurable: !0
          }),
          (e.prototype.setDiagnosticsOptions = function(e) {
            ;(this._diagnosticsOptions = e || Object.create(null)),
              this._onDidChange.fire(this)
          }),
          e
        )
      })()
    n.LanguageServiceDefaultsImpl = s
    var a = { validate: !0, allowComments: !0, schemas: [] },
      r = new s('json', a)
    ;(monaco.languages.json = o()),
      monaco.languages.register({
        id: 'json',
        extensions: [
          '.json',
          '.bowerrc',
          '.jshintrc',
          '.jscsrc',
          '.eslintrc',
          '.babelrc'
        ],
        aliases: ['JSON', 'json'],
        mimetypes: ['application/json']
      }),
      monaco.languages.onLanguage('json', function() {
        t(function(e) {
          return e.setupMode(r)
        })
      })
  })
  /*!-----------------------------------------------------------------------------
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * monaco-html version: 1.3.1(99d9c30dc34cda6f162cc10a784a953d4be23a78)
 * Released under the MIT license
 * https://github.com/Microsoft/monaco-html/blob/master/LICENSE.md
 *-----------------------------------------------------------------------------*/
  !(function(e) {
    if ('object' == typeof module && 'object' == typeof module.exports) {
      var t = e(require, exports)
      void 0 !== t && (module.exports = t)
    } else
      'function' == typeof define &&
        define.amd &&
        define('vs/language/html/monaco.contribution', [
          'require',
          'exports',
          'vs/editor/edcore.main'
        ], e)
  })(function(e, t) {
    function n() {
      return { htmlDefaults: d, razorDefaults: p, handlebarDefaults: m }
    }
    function o(t) {
      e(['vs/language/html/htmlMode'], t)
    }
    Object.defineProperty(t, '__esModule', { value: !0 })
    var a = monaco.Emitter,
      r = (function() {
        function e(e, t) {
          ;(this._onDidChange = new a()),
            (this._languageId = e),
            this.setOptions(t)
        }
        return (
          Object.defineProperty(e.prototype, 'onDidChange', {
            get: function() {
              return this._onDidChange.event
            },
            enumerable: !0,
            configurable: !0
          }),
          Object.defineProperty(e.prototype, 'languageId', {
            get: function() {
              return this._languageId
            },
            enumerable: !0,
            configurable: !0
          }),
          Object.defineProperty(e.prototype, 'options', {
            get: function() {
              return this._options
            },
            enumerable: !0,
            configurable: !0
          }),
          (e.prototype.setOptions = function(e) {
            ;(this._options = e || Object.create(null)),
              this._onDidChange.fire(this)
          }),
          e
        )
      })()
    t.LanguageServiceDefaultsImpl = r
    var u = {
        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'
      },
      i = { format: u, suggest: { html5: !0, angular1: !0, ionic: !0 } },
      s = { format: u, suggest: { html5: !0 } },
      l = { format: u, suggest: { html5: !0, razor: !0 } },
      g = 'html',
      c = 'handlebars',
      f = 'razor',
      d = new r(g, i),
      m = new r(c, s),
      p = new r(f, l)
    ;(monaco.languages.html = n()),
      monaco.languages.onLanguage(g, function() {
        o(function(e) {
          return e.setupMode(d)
        })
      }),
      monaco.languages.onLanguage(c, function() {
        o(function(e) {
          return e.setupMode(m)
        })
      }),
      monaco.languages.onLanguage(f, function() {
        o(function(e) {
          return e.setupMode(p)
        })
      })
  })
  /*!-----------------------------------------------------------------------------
 * Copyright (c) Microsoft Corporation. All rights reserved.
 * monaco-languages version: 0.8.0(fbdcb70601ea4f81278d62ad15d456807ccaa7fa)
 * Released under the MIT license
 * https://github.com/Microsoft/monaco-languages/blob/master/LICENSE.md
 *-----------------------------------------------------------------------------*/
  define('vs/basic-languages/src/monaco.contribution', [
    'require',
    'exports',
    'vs/editor/edcore.main'
  ], function(s, e) {
    'use strict'
    function i(e) {
      var i = l[e].module
      return new o.Promise(function(a, t, l) {
        s(
          [i],
          function(s) {
            o.languages.setMonarchTokensProvider(e, s.language),
              o.languages.setLanguageConfiguration(e, s.conf),
              a(void 0)
          },
          t
        )
      })
    }
    function a(s) {
      return n[s] || (n[s] = i(s)), n[s]
    }
    function t(s) {
      var e = s.id
      ;(l[e] = s),
        o.languages.register(s),
        o.languages.onLanguage(e, function() {
          a(e)
        })
    }
    Object.defineProperty(e, '__esModule', { value: !0 })
    var o = 'undefined' == typeof monaco ? self.monaco : monaco,
      l = {},
      n = {}
    ;(e.loadLanguage = a),
      t({
        id: 'bat',
        extensions: ['.bat', '.cmd'],
        aliases: ['Batch', 'bat'],
        module: './bat'
      }),
      t({
        id: 'coffeescript',
        extensions: ['.coffee'],
        aliases: ['CoffeeScript', 'coffeescript', 'coffee'],
        mimetypes: ['text/x-coffeescript', 'text/coffeescript'],
        module: './coffee'
      }),
      t({
        id: 'c',
        extensions: ['.c', '.h'],
        aliases: ['C', 'c'],
        module: './cpp'
      }),
      t({
        id: 'cpp',
        extensions: ['.cpp', '.cc', '.cxx', '.hpp', '.hh', '.hxx'],
        aliases: ['C++', 'Cpp', 'cpp'],
        module: './cpp'
      }),
      t({
        id: 'csharp',
        extensions: ['.cs', '.csx'],
        aliases: ['C#', 'csharp'],
        module: './csharp'
      }),
      t({
        id: 'dockerfile',
        extensions: ['.dockerfile'],
        filenames: ['Dockerfile'],
        aliases: ['Dockerfile'],
        module: './dockerfile'
      }),
      t({
        id: 'fsharp',
        extensions: ['.fs', '.fsi', '.ml', '.mli', '.fsx', '.fsscript'],
        aliases: ['F#', 'FSharp', 'fsharp'],
        module: './fsharp'
      }),
      t({ id: 'go', extensions: ['.go'], aliases: ['Go'], module: './go' }),
      t({
        id: 'handlebars',
        extensions: ['.handlebars', '.hbs'],
        aliases: ['Handlebars', 'handlebars'],
        mimetypes: ['text/x-handlebars-template'],
        module: './handlebars'
      }),
      t({
        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'
        ],
        module: './html'
      }),
      t({
        id: 'ini',
        extensions: ['.ini', '.properties', '.gitconfig'],
        filenames: ['config', '.gitattributes', '.gitconfig', '.editorconfig'],
        aliases: ['Ini', 'ini'],
        module: './ini'
      }),
      t({
        id: 'pug',
        extensions: ['.jade', '.pug'],
        aliases: ['Pug', 'Jade', 'jade'],
        module: './pug'
      }),
      t({
        id: 'java',
        extensions: ['.java', '.jav'],
        aliases: ['Java', 'java'],
        mimetypes: ['text/x-java-source', 'text/x-java'],
        module: './java'
      }),
      t({
        id: 'lua',
        extensions: ['.lua'],
        aliases: ['Lua', 'lua'],
        module: './lua'
      }),
      t({
        id: 'markdown',
        extensions: [
          '.md',
          '.markdown',
          '.mdown',
          '.mkdn',
          '.mkd',
          '.mdwn',
          '.mdtxt',
          '.mdtext'
        ],
        aliases: ['Markdown', 'markdown'],
        module: './markdown'
      }),
      t({
        id: 'msdax',
        extensions: ['.dax', '.msdax'],
        aliases: ['DAX', 'MSDAX'],
        module: './msdax'
      }),
      t({
        id: 'objective-c',
        extensions: ['.m'],
        aliases: ['Objective-C'],
        module: './objective-c'
      }),
      t({
        id: 'postiats',
        extensions: ['.dats', '.sats', '.hats'],
        aliases: ['ATS', 'ATS/Postiats'],
        module: './postiats'
      }),
      t({
        id: 'php',
        extensions: ['.php', '.php4', '.php5', '.phtml', '.ctp'],
        aliases: ['PHP', 'php'],
        mimetypes: ['application/x-php'],
        module: './php'
      }),
      t({
        id: 'powershell',
        extensions: ['.ps1', '.psm1', '.psd1'],
        aliases: ['PowerShell', 'powershell', 'ps', 'ps1'],
        module: './powershell'
      }),
      t({
        id: 'python',
        extensions: ['.py', '.rpy', '.pyw', '.cpy', '.gyp', '.gypi'],
        aliases: ['Python', 'py'],
        firstLine: '^#!/.*\\bpython[0-9.-]*\\b',
        module: './python'
      }),
      t({
        id: 'r',
        extensions: ['.r', '.rhistory', '.rprofile', '.rt'],
        aliases: ['R', 'r'],
        module: './r'
      }),
      t({
        id: 'razor',
        extensions: ['.cshtml'],
        aliases: ['Razor', 'razor'],
        mimetypes: ['text/x-cshtml'],
        module: './razor'
      }),
      t({
        id: 'ruby',
        extensions: ['.rb', '.rbx', '.rjs', '.gemspec', '.pp'],
        filenames: ['rakefile'],
        aliases: ['Ruby', 'rb'],
        module: './ruby'
      }),
      t({
        id: 'swift',
        aliases: ['Swift', 'swift'],
        extensions: ['.swift'],
        mimetypes: ['text/swift'],
        module: './swift'
      }),
      t({ id: 'sql', extensions: ['.sql'], aliases: ['SQL'], module: './sql' }),
      t({
        id: 'vb',
        extensions: ['.vb'],
        aliases: ['Visual Basic', 'vb'],
        module: './vb'
      }),
      t({
        id: 'xml',
        extensions: [
          '.xml',
          '.dtd',
          '.ascx',
          '.csproj',
          '.config',
          '.wxi',
          '.wxl',
          '.wxs',
          '.xaml',
          '.svg',
          '.svgz'
        ],
        firstLine: '(\\<\\?xml.*)|(\\<svg)|(\\<\\!doctype\\s+svg)',
        aliases: ['XML', 'xml'],
        mimetypes: [
          'text/xml',
          'application/xml',
          'application/xaml+xml',
          'application/xml-dtd'
        ],
        module: './xml'
      }),
      t({
        id: 'less',
        extensions: ['.less'],
        aliases: ['Less', 'less'],
        mimetypes: ['text/x-less', 'text/less'],
        module: './less'
      }),
      t({
        id: 'scss',
        extensions: ['.scss'],
        aliases: ['Sass', 'sass', 'scss'],
        mimetypes: ['text/x-scss', 'text/scss'],
        module: './scss'
      }),
      t({
        id: 'css',
        extensions: ['.css'],
        aliases: ['CSS', 'css'],
        mimetypes: ['text/css'],
        module: './css'
      }),
      t({
        id: 'yaml',
        extensions: ['.yaml', '.yml'],
        aliases: ['YAML', 'yaml', 'YML', 'yml'],
        mimetypes: ['application/x-yaml'],
        module: './yaml'
      }),
      t({
        id: 'sol',
        extensions: ['.sol'],
        aliases: ['sol', 'solidity', 'Solidity'],
        module: './solidity'
      })
  })
  define('vs/editor/editor.main', [
    'vs/editor/edcore.main',
    'vs/language/typescript/src/monaco.contribution',
    'vs/language/css/monaco.contribution',
    'vs/language/json/monaco.contribution',
    'vs/language/html/monaco.contribution',
    'vs/basic-languages/src/monaco.contribution'
  ], function() {})
  //# sourceMappingURL=../../../min-maps/vs/editor/editor.main.js.map
} catch (e) {
  console.error(e)
}
