{"version":3,"sources":["webpack:///./code_navigation/components/app.vue","webpack:///./code_navigation/components/doc_line.vue?7fa9","webpack:///code_navigation/components/doc_line.vue","webpack:///./code_navigation/components/doc_line.vue?395f","webpack:///./code_navigation/components/doc_line.vue","webpack:///./code_navigation/components/popover.vue?0e71","webpack:///code_navigation/components/popover.vue","webpack:///./code_navigation/components/app.vue?9fef","webpack:///code_navigation/components/app.vue","webpack:///./code_navigation/components/popover.vue?e68b","webpack:///./code_navigation/components/popover.vue","webpack:///./code_navigation/components/app.vue?0a23","webpack:///./vue_shared/components/modal_copy_button.vue","webpack:///./vue_shared/components/modal_copy_button.vue?eab4","webpack:///vue_shared/components/modal_copy_button.vue","webpack:///./vue_shared/components/modal_copy_button.vue?ef3f","webpack:///./code_navigation/utils/dom_utils.js","webpack:///./code_navigation/utils/index.js","webpack:///./vue_shared/components/markdown/non_gfm_markdown.vue?f17f","webpack:///./code_navigation/store/actions.js","webpack:///./code_navigation/store/mutation_types.js","webpack:///./code_navigation/store/mutations.js","webpack:///./code_navigation/store/index.js","webpack:///./code_navigation/store/state.js","webpack:///./vue_shared/components/code_block.vue","webpack:///./vue_shared/components/code_block.vue?32d9","webpack:///vue_shared/components/code_block.vue","webpack:///./vue_shared/components/code_block.vue?9c6a","webpack:///./vue_shared/components/markdown/non_gfm_markdown.vue","webpack:///./vue_shared/components/markdown/non_gfm_markdown.vue?6cc6","webpack:///vue_shared/components/markdown/non_gfm_markdown.vue","webpack:///./vue_shared/components/markdown/non_gfm_markdown.vue?df2b","webpack:///./vue_shared/components/markdown/non_gfm_markdown.vue?5ea7","webpack:///./content_editor/services/highlight_js_language_loader.js","webpack:///./vue_shared/components/code_block_highlighted.vue","webpack:///./vue_shared/components/code_block_highlighted.vue?4a6f","webpack:///vue_shared/components/code_block_highlighted.vue","webpack:///./vue_shared/components/code_block_highlighted.vue?fa30","webpack:///./code_navigation/index.js"],"names":["props","language","type","String","required","tokens","Array","_vm","this","_c","_self","staticClass","attrs","_l","token","tokenIndex","key","class","_v","_s","value","components","GlButton","GlTabs","GlTab","GlLink","GlBadge","DocLine","Markdown","position","Object","data","definitionPathPrefix","blobPath","offsetLeft","computed","isCurrentDefinition","definitionLineNumber","lineIndex","positionStyles","left","x","top","y","height","definitionPath","definition_path","isDefinitionCurrentBlob","indexOf","references","watch","handler","_this","$nextTick","updateOffsetLeft","deep","immediate","methods","Math","max","$el","offsetWidth","window","innerWidth","colorScheme","_gon","gon","user_color_scheme","Popover","style","__","hover","index","length","ref","refInFor","$options","s__","_e","scopedSlots","_u","fn","proxy","reference","path","codeNavigationPath","default","pathPrefix","wrapTextNodes","Boolean","mapState","mounted","initialData","blobs","setInitialData","body","document","eventHub","$on","showBlobInteractionZones","addGlobalEventListeners","fetchData","beforeDestroy","$off","removeGlobalEventListeners","mapActions","addEventListener","showDefinition","removeEventListener","currentDefinition","currentDefinitionPosition","currentBlobPath","directives","GlTooltip","GlTooltipDirective","text","id","_uniqueId","container","cssClasses","modalId","target","title","tooltipPlacement","tooltipContainer","category","modalDomId","clipboard","ClipboardJS","querySelector","getElementById","on","e","$root","$emit","BV_HIDE_TOOLTIP","clearSelection","trigger","blur","destroyed","destroy","component","name","rawName","placement","expression","isTextNode","nodeType","createSpan","content","classList","span","createElement","innerText","wrapNodes","dataset","wrapper","innerHTML","replace","outerHTML","wrapSpacesWithSpans","childNodes","forEach","el","s1","textContent","s2","str","test","trim","newEl","assign","replaceWith","wrapTextWithSpan","cachedData","Map","wrappedLines","WeakSet","getCurrentHoverElement","get","setCurrentHoverElement","set","addInteractionClass","d","lineNumber","start_line","lines","querySelectorAll","line","undefined","end_line","charCount","elm","add","find","start_char","charIndex","closest","deprecatedNodeUpdate","walker","createTreeWalker","NodeFilter","SHOW_TEXT","startCharIndex","currentNode","nextNode","end_char","textLength","startIndex","slice","module","exports","push","i","commit","requestDataError","dispatch","state","axios","then","normalizedData","reduce","acc","_d$definition_path","parseInt","split","pop","catch","values","definition","isCurrentElementPopoverOpen","contains","remove","blobEl","_el$closest","offsetTop","offsetHeight","loading","Vuex","Store","actions","mutations","code","maxHeight","styleObject","overflowY","userColorScheme","_t","CodeBlockHighlighted","ModalCopyButton","SafeHtml","markdown","hoverMap","markdownBlocks","marked","lexer","flattenedTokens","lastFlattenedToken","raw","getSafeHtml","sanitize","parse","markdownConfig","setHoverOn","setHoverOff","isLastElement","safeHtmlConfig","ADD_TAGS","i18n","copyCodeTitle","fallbackLanguage","options","locals","block","$event","lang","arg","abnf","accesslog","actionscript","ada","angelscript","apache","applescript","arcade","arduino","armasm","asciidoc","aspectj","autohotkey","autoit","avrasm","awk","axapta","bash","basic","bnf","brainfuck","c","cal","capnproto","ceylon","clean","clojure","codeowners","cmake","coffeescript","coq","cos","cpp","crmsh","crystal","csharp","csp","css","dart","delphi","diff","django","dns","dockerfile","dos","dsconfig","dts","dust","ebnf","elixir","erb","erlang","excel","fix","flix","fortran","fsharp","gams","gauss","gcode","gherkin","glsl","gml","go","golo","gradle","groovy","haml","handlebars","haskell","haxe","hsp","http","hy","inform7","ini","irpf90","isbl","java","javascript","json","julia","kotlin","lasso","latex","ldif","leaf","less","lisp","livecodeserver","livescript","llvm","lsl","lua","makefile","mathematica","matlab","maxima","mel","mercury","mipsasm","mizar","mojolicious","monkey","moonscript","n1ql","nestedtext","nginx","nim","nix","nsis","objectivec","ocaml","openscad","oxygene","parser3","perl","pf","pgsql","php","plaintext","pony","powershell","processing","profile","prolog","properties","protobuf","puppet","purebasic","python","q","qml","r","reasonml","rib","roboconf","routeros","rsl","ruby","ruleslanguage","rust","sas","scala","scheme","scilab","scss","shell","smali","smalltalk","sml","sqf","sql","stan","stata","step21","stylus","subunit","svelte","hcl","swift","taggerscript","tap","tcl","thrift","tp","twig","typescript","ts","vala","vbnet","vbscript","verilog","vhdl","vim","wasm","wren","x86asm","xl","xml","xquery","yaml","zephir","CodeBlock","hljs","languageLoaded","highlighted","highlight","_escape","loadHighlightJS","loadLanguage","languageDefinition","languageLoader","registerLanguage","Vue","use","store","createStore","render","h","App"],"mappings":"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","file":"1218.903ef2d4.chunk.js","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.currentDefinition)?_c('popover',{attrs:{\"position\":_vm.currentDefinitionPosition,\"data\":_vm.currentDefinition,\"definition-path-prefix\":_vm.definitionPathPrefix,\"blob-path\":_vm.currentBlobPath}}):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./doc_line.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./doc_line.vue?vue&type=script&lang=js\"","<script>\nexport default {\n  props: {\n    language: {\n      type: String,\n      required: true,\n    },\n    tokens: {\n      type: Array,\n      required: true,\n    },\n  },\n};\n</script>\n\n<template>\n  <span class=\"line\" :lang=\"language\">\n    <span v-for=\"(token, tokenIndex) in tokens\" :key=\"tokenIndex\" :class=\"token.class\">{{\n      token.value\n    }}</span>\n    <br />\n  </span>\n</template>\n","import { render, staticRenderFns } from \"./doc_line.vue?vue&type=template&id=0ad26ca6\"\nimport script from \"./doc_line.vue?vue&type=script&lang=js\"\nexport * from \"./doc_line.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"line\",attrs:{\"lang\":_vm.language}},[_vm._l((_vm.tokens),function(token,tokenIndex){return _c('span',{key:tokenIndex,class:token.class},[_vm._v(_vm._s(token.value))])}),_vm._v(\" \"),_c('br')],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./popover.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./popover.vue?vue&type=script&lang=js\"","<!-- eslint-disable vue/multi-word-component-names -->\n<script>\nimport { GlButton, GlTabs, GlTab, GlLink, GlBadge } from '@gitlab/ui';\nimport Markdown from '~/vue_shared/components/markdown/non_gfm_markdown.vue';\nimport DocLine from './doc_line.vue';\n\nexport default {\n  components: {\n    GlButton,\n    GlTabs,\n    GlTab,\n    GlLink,\n    GlBadge,\n    DocLine,\n    Markdown,\n  },\n  props: {\n    position: {\n      type: Object,\n      required: true,\n    },\n    data: {\n      type: Object,\n      required: true,\n    },\n    definitionPathPrefix: {\n      type: String,\n      required: true,\n    },\n    blobPath: {\n      type: String,\n      required: true,\n    },\n  },\n  data() {\n    return {\n      offsetLeft: 0,\n    };\n  },\n  computed: {\n    isCurrentDefinition() {\n      return this.data.definitionLineNumber - 1 === this.position.lineIndex;\n    },\n    positionStyles() {\n      return {\n        left: `${this.position.x - this.offsetLeft}px`,\n        top: `${this.position.y + this.position.height}px`,\n      };\n    },\n    definitionPath() {\n      if (!this.data.definition_path) {\n        return null;\n      }\n\n      if (this.isDefinitionCurrentBlob) {\n        return `#L${this.data.definitionLineNumber}`;\n      }\n\n      return `${this.definitionPathPrefix}/${this.data.definition_path}`;\n    },\n    isDefinitionCurrentBlob() {\n      return this.data.definition_path.indexOf(this.blobPath) === 0;\n    },\n    references() {\n      return this.data.references || [];\n    },\n  },\n  watch: {\n    position: {\n      handler() {\n        this.$nextTick(() => this.updateOffsetLeft());\n      },\n      deep: true,\n      immediate: true,\n    },\n  },\n  methods: {\n    updateOffsetLeft() {\n      this.offsetLeft = Math.max(\n        0,\n        this.$el.offsetLeft + this.$el.offsetWidth - window.innerWidth + 20,\n      );\n    },\n  },\n  colorScheme: gon?.user_color_scheme,\n};\n</script>\n\n<template>\n  <div\n    :style=\"positionStyles\"\n    class=\"popover code-navigation-popover popover-font-size-normal gl-popover bs-popover-bottom show\"\n  >\n    <div :style=\"{ left: `${offsetLeft}px` }\" class=\"arrow\"></div>\n    <gl-tabs content-class=\"gl-py-0\">\n      <gl-tab :title=\"__('Definition')\">\n        <div class=\"overflow-auto code-navigation-popover-container\">\n          <div\n            v-for=\"(hover, index) in data.hover\"\n            :key=\"index\"\n            :class=\"{ 'border-bottom': index !== data.hover.length - 1 }\"\n          >\n            <pre\n              v-if=\"hover.language\"\n              ref=\"code-output\"\n              :class=\"$options.colorScheme\"\n              class=\"border-0 bg-transparent m-0 code highlight text-wrap\"\n            ><doc-line v-for=\"(tokens, tokenIndex) in hover.tokens\" :key=\"tokenIndex\" :language=\"hover.language\" :tokens=\"tokens\" /></pre>\n            <markdown v-else ref=\"doc-output\" class=\"gl-p-3\" :markdown=\"hover.value\" />\n          </div>\n        </div>\n        <div v-if=\"definitionPath || isCurrentDefinition\" class=\"popover-body border-top\">\n          <span v-if=\"isCurrentDefinition\" class=\"gl-text-base gl-font-bold\">\n            {{ s__('CodeIntelligence|This is the definition') }}\n          </span>\n          <gl-button\n            v-else\n            :href=\"definitionPath\"\n            :target=\"isDefinitionCurrentBlob ? null : '_blank'\"\n            class=\"gl-w-full\"\n            variant=\"default\"\n            data-testid=\"go-to-definition-btn\"\n          >\n            {{ __('Go to definition') }}\n          </gl-button>\n        </div>\n      </gl-tab>\n      <gl-tab data-testid=\"references-tab\" class=\"py-2\">\n        <template #title>\n          {{ __('References') }}\n          <gl-badge class=\"gl-tab-counter-badge\">{{ references.length }}</gl-badge>\n        </template>\n        <template v-if=\"references.length\">\n          <div v-for=\"(reference, index) in references\" :key=\"index\" class=\"gl-dropdown-item\">\n            <gl-link\n              :href=\"`${definitionPathPrefix}/${reference.path}`\"\n              class=\"dropdown-item\"\n              data-testid=\"reference-link\"\n            >\n              {{ reference.path }}\n            </gl-link>\n          </div>\n        </template>\n        <p v-else class=\"gl-my-4 gl-px-4\">\n          {{ s__('CodeNavigation|No references found') }}\n        </p>\n      </gl-tab>\n    </gl-tabs>\n  </div>\n</template>\n","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./app.vue?vue&type=script&lang=js\"","<script>\n// eslint-disable-next-line no-restricted-imports\nimport { mapActions, mapState } from 'vuex';\nimport eventHub from '~/notes/event_hub';\nimport Popover from './popover.vue';\n\nexport default {\n  components: {\n    Popover,\n  },\n  props: {\n    codeNavigationPath: {\n      type: String,\n      required: false,\n      default: null,\n    },\n    blobPath: {\n      type: String,\n      required: false,\n      default: null,\n    },\n    pathPrefix: {\n      type: String,\n      required: false,\n      default: null,\n    },\n    wrapTextNodes: {\n      type: Boolean,\n      required: false,\n      default: false,\n    },\n  },\n  computed: {\n    ...mapState([\n      'currentDefinition',\n      'currentDefinitionPosition',\n      'currentBlobPath',\n      'definitionPathPrefix',\n    ]),\n  },\n  mounted() {\n    if (this.codeNavigationPath && this.blobPath && this.pathPrefix) {\n      const initialData = {\n        blobs: [{ path: this.blobPath, codeNavigationPath: this.codeNavigationPath }],\n        definitionPathPrefix: this.pathPrefix,\n        wrapTextNodes: this.wrapTextNodes,\n      };\n      this.setInitialData(initialData);\n    }\n\n    this.body = document.body;\n\n    eventHub.$on('showBlobInteractionZones', this.showBlobInteractionZones);\n\n    this.addGlobalEventListeners();\n    this.fetchData();\n  },\n  beforeDestroy() {\n    eventHub.$off('showBlobInteractionZones', this.showBlobInteractionZones);\n    this.removeGlobalEventListeners();\n  },\n  methods: {\n    ...mapActions(['fetchData', 'showDefinition', 'showBlobInteractionZones', 'setInitialData']),\n    addGlobalEventListeners() {\n      if (this.body) {\n        this.body.addEventListener('click', this.showDefinition);\n      }\n    },\n    removeGlobalEventListeners() {\n      if (this.body) {\n        this.body.removeEventListener('click', this.showDefinition);\n      }\n    },\n  },\n};\n</script>\n\n<template>\n  <popover\n    v-if=\"currentDefinition\"\n    :position=\"currentDefinitionPosition\"\n    :data=\"currentDefinition\"\n    :definition-path-prefix=\"definitionPathPrefix\"\n    :blob-path=\"currentBlobPath\"\n  />\n</template>\n","import { render, staticRenderFns } from \"./popover.vue?vue&type=template&id=91bcaa12\"\nimport script from \"./popover.vue?vue&type=script&lang=js\"\nexport * from \"./popover.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"popover code-navigation-popover popover-font-size-normal gl-popover bs-popover-bottom show\",style:(_vm.positionStyles)},[_c('div',{staticClass:\"arrow\",style:({ left: `${_vm.offsetLeft}px` })}),_vm._v(\" \"),_c('gl-tabs',{attrs:{\"content-class\":\"gl-py-0\"}},[_c('gl-tab',{attrs:{\"title\":_vm.__('Definition')}},[_c('div',{staticClass:\"overflow-auto code-navigation-popover-container\"},_vm._l((_vm.data.hover),function(hover,index){return _c('div',{key:index,class:{ 'border-bottom': index !== _vm.data.hover.length - 1 }},[(hover.language)?_c('pre',{ref:\"code-output\",refInFor:true,staticClass:\"border-0 bg-transparent m-0 code highlight text-wrap\",class:_vm.$options.colorScheme},_vm._l((hover.tokens),function(tokens,tokenIndex){return _c('doc-line',{key:tokenIndex,attrs:{\"language\":hover.language,\"tokens\":tokens}})}),1):_c('markdown',{ref:\"doc-output\",refInFor:true,staticClass:\"gl-p-3\",attrs:{\"markdown\":hover.value}})],1)}),0),_vm._v(\" \"),(_vm.definitionPath || _vm.isCurrentDefinition)?_c('div',{staticClass:\"popover-body border-top\"},[(_vm.isCurrentDefinition)?_c('span',{staticClass:\"gl-text-base gl-font-bold\"},[_vm._v(\"\\n          \"+_vm._s(_vm.s__('CodeIntelligence|This is the definition'))+\"\\n        \")]):_c('gl-button',{staticClass:\"gl-w-full\",attrs:{\"href\":_vm.definitionPath,\"target\":_vm.isDefinitionCurrentBlob ? null : '_blank',\"variant\":\"default\",\"data-testid\":\"go-to-definition-btn\"}},[_vm._v(\"\\n          \"+_vm._s(_vm.__('Go to definition'))+\"\\n        \")])],1):_vm._e()]),_vm._v(\" \"),_c('gl-tab',{staticClass:\"py-2\",attrs:{\"data-testid\":\"references-tab\"},scopedSlots:_vm._u([{key:\"title\",fn:function(){return [_vm._v(\"\\n        \"+_vm._s(_vm.__('References'))+\"\\n        \"),_c('gl-badge',{staticClass:\"gl-tab-counter-badge\"},[_vm._v(_vm._s(_vm.references.length))])]},proxy:true}])},[_vm._v(\" \"),(_vm.references.length)?_vm._l((_vm.references),function(reference,index){return _c('div',{key:index,staticClass:\"gl-dropdown-item\"},[_c('gl-link',{staticClass:\"dropdown-item\",attrs:{\"href\":`${_vm.definitionPathPrefix}/${reference.path}`,\"data-testid\":\"reference-link\"}},[_vm._v(\"\\n            \"+_vm._s(reference.path)+\"\\n          \")])],1)}):_c('p',{staticClass:\"gl-my-4 gl-px-4\"},[_vm._v(\"\\n        \"+_vm._s(_vm.s__('CodeNavigation|No references found'))+\"\\n      \")])],2)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./app.vue?vue&type=template&id=6c002328\"\nimport script from \"./app.vue?vue&type=script&lang=js\"\nexport * from \"./app.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('gl-button',{directives:[{name:\"gl-tooltip\",rawName:\"v-gl-tooltip\",value:({ placement: _vm.tooltipPlacement, container: _vm.tooltipContainer }),expression:\"{ placement: tooltipPlacement, container: tooltipContainer }\"}],class:_vm.cssClasses,attrs:{\"id\":_vm.id,\"data-clipboard-target\":_vm.target,\"data-clipboard-text\":_vm.text,\"title\":_vm.title,\"aria-label\":_vm.title,\"category\":_vm.category,\"icon\":\"copy-to-clipboard\"}})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal_copy_button.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./modal_copy_button.vue?vue&type=script&lang=js\"","<script>\nimport { GlButton, GlTooltipDirective } from '@gitlab/ui';\nimport ClipboardJS from 'clipboard';\nimport { uniqueId } from 'lodash';\nimport { __ } from '~/locale';\nimport { BV_HIDE_TOOLTIP } from '~/lib/utils/constants';\n\nexport default {\n  components: {\n    GlButton,\n  },\n  directives: {\n    GlTooltip: GlTooltipDirective,\n  },\n  props: {\n    text: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    id: {\n      type: String,\n      required: false,\n      default: () => uniqueId('modal-copy-button-'),\n    },\n    container: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    cssClasses: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    modalId: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    target: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    title: {\n      type: String,\n      required: false,\n      default: __('Copy'),\n    },\n    tooltipPlacement: {\n      type: String,\n      required: false,\n      default: 'top',\n    },\n    tooltipContainer: {\n      type: String,\n      required: false,\n      default: null,\n    },\n    category: {\n      type: String,\n      required: false,\n      default: 'primary',\n    },\n  },\n  computed: {\n    modalDomId() {\n      return this.modalId ? `#${this.modalId}` : '';\n    },\n  },\n  mounted() {\n    this.$nextTick(() => {\n      this.clipboard = new ClipboardJS(this.$el, {\n        container:\n          document.querySelector(`${this.modalDomId} div.modal-content`) ||\n          document.getElementById(this.container) ||\n          document.body,\n      });\n      this.clipboard\n        .on('success', (e) => {\n          this.$root.$emit(BV_HIDE_TOOLTIP, this.id);\n          this.$emit('success', e);\n          // Clear the selection and blur the trigger so it loses its border\n          e.clearSelection();\n          e.trigger.blur();\n        })\n        .on('error', (e) => this.$emit('error', e));\n    });\n  },\n  destroyed() {\n    if (this.clipboard) {\n      this.clipboard.destroy();\n    }\n  },\n};\n</script>\n<template>\n  <gl-button\n    :id=\"id\"\n    v-gl-tooltip=\"{ placement: tooltipPlacement, container: tooltipContainer }\"\n    :class=\"cssClasses\"\n    :data-clipboard-target=\"target\"\n    :data-clipboard-text=\"text\"\n    :title=\"title\"\n    :aria-label=\"title\"\n    :category=\"category\"\n    icon=\"copy-to-clipboard\"\n  />\n</template>\n","import { render, staticRenderFns } from \"./modal_copy_button.vue?vue&type=template&id=4c7472d6\"\nimport script from \"./modal_copy_button.vue?vue&type=script&lang=js\"\nexport * from \"./modal_copy_button.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","const TEXT_NODE = 3;\n\nconst isTextNode = ({ nodeType }) => nodeType === TEXT_NODE;\n\nconst isBlank = (str) => !str || /^\\s*$/.test(str);\n\nconst isMatch = (s1, s2) => !isBlank(s1) && s1.trim() === s2.trim();\n\nconst createSpan = (content, classList) => {\n  const span = document.createElement('span');\n  span.innerText = content;\n  span.classList = classList || '';\n  return span;\n};\n\nconst wrapSpacesWithSpans = (text) =>\n  text.replace(/ /g, createSpan(' ').outerHTML).replace(/\\t/g, createSpan('\t').outerHTML);\n\n// eslint-disable-next-line max-params\nconst wrapTextWithSpan = (el, text, classList, dataset) => {\n  if (isTextNode(el) && isMatch(el.textContent, text)) {\n    const newEl = createSpan(text.trim(), classList);\n    Object.assign(newEl.dataset, dataset);\n    el.replaceWith(newEl);\n  }\n};\n\nconst wrapNodes = (text, classList, dataset) => {\n  const wrapper = createSpan();\n  // eslint-disable-next-line no-unsanitized/property\n  wrapper.innerHTML = wrapSpacesWithSpans(text);\n  wrapper.childNodes.forEach((el) => wrapTextWithSpan(el, text, classList, dataset));\n  return wrapper.childNodes;\n};\n\nexport { wrapNodes, isTextNode };\n","import { wrapNodes, isTextNode } from './dom_utils';\n\nexport const cachedData = new Map();\n\nconst wrappedLines = new WeakSet();\n\nexport const getCurrentHoverElement = () => cachedData.get('current');\nexport const setCurrentHoverElement = (el) => cachedData.set('current', el);\n\nconst deprecatedNodeUpdate = ({ d, line, wrapTextNodes }) => {\n  let charCount = 0;\n\n  if (wrapTextNodes) {\n    line.childNodes.forEach((elm) => {\n      // Highlight.js does not wrap all text nodes by default\n      // We need all text nodes to be wrapped in order to append code nav attributes\n      elm.replaceWith(...wrapNodes(elm.textContent, elm.classList, elm.dataset));\n    });\n    wrappedLines.add(line);\n  }\n\n  const el = [...line.childNodes].find(({ textContent }) => {\n    if (charCount === d.start_char) return true;\n    charCount += textContent.length;\n    return false;\n  });\n\n  if (el && !isTextNode(el)) {\n    el.dataset.charIndex = d.start_char;\n    el.dataset.lineIndex = d.start_line;\n    el.classList.add('cursor-pointer', 'code-navigation', 'js-code-navigation');\n    el.closest('.line').classList.add('code-navigation-line');\n  }\n};\n\nexport const addInteractionClass = ({ path, d, wrapTextNodes }) => {\n  const lineNumber = d.start_line + 1;\n  const lines = document\n    .querySelector(`[data-path=\"${path}\"]`)\n    .querySelectorAll(`.blob-content #LC${lineNumber}, .line_content:not(.old) #LC${lineNumber}`);\n  if (!lines?.length) return;\n\n  lines.forEach((line) => {\n    if (d.end_line === undefined) {\n      // For old cached data we should use the old way of parsing\n      deprecatedNodeUpdate({ d, line, wrapTextNodes });\n    } else {\n      // For new data we can parse slightly differently\n      const walker = document.createTreeWalker(line, NodeFilter.SHOW_TEXT);\n      let startCharIndex = 0;\n      let currentNode = walker.nextNode();\n      while (currentNode) {\n        if (\n          d.start_char >= startCharIndex &&\n          d.end_char <= startCharIndex + currentNode.textContent.length\n        ) {\n          break;\n        }\n        startCharIndex += currentNode.textContent.length;\n        currentNode = walker.nextNode();\n      }\n\n      if (currentNode && d.start_char !== d.end_char) {\n        const text = currentNode.textContent;\n        const textLength = d.end_char - d.start_char;\n        const startIndex = d.start_char - startCharIndex;\n        const span = document.createElement('span');\n\n        span.textContent = text.slice(startIndex, startIndex + textLength);\n        span.dataset.charIndex = d.start_char;\n        span.dataset.lineIndex = d.start_line;\n        span.classList.add('gl-cursor-pointer', 'code-navigation', 'js-code-navigation');\n\n        currentNode.replaceWith(\n          text.slice(0, startIndex),\n          span,\n          text.slice(startIndex + textLength),\n        );\n\n        line.classList.add('code-navigation-line');\n      }\n    }\n  });\n};\n","exports = module.exports = require(\"../../../../../../node_modules/css-loader/dist/runtime/api.js\")(false);\n// Module\nexports.push([module.id, \"\\n/* This is to override a margin caused by bootstrap */\\n.non-gfm-markdown-block {\\np {\\n    margin-bottom: 0;\\n}\\n}\\n\", \"\"]);\n\n","import axios from '~/lib/utils/axios_utils';\nimport { getCurrentHoverElement, setCurrentHoverElement, addInteractionClass } from '../utils';\nimport * as types from './mutation_types';\n\nexport default {\n  setInitialData({ commit }, data) {\n    commit(types.SET_INITIAL_DATA, data);\n  },\n  requestDataError({ commit }) {\n    commit(types.REQUEST_DATA_ERROR);\n  },\n  fetchData({ commit, dispatch, state }) {\n    commit(types.REQUEST_DATA);\n\n    state.blobs.forEach(({ path, codeNavigationPath }) => {\n      axios\n        .get(codeNavigationPath)\n        .then(({ data }) => {\n          const normalizedData = data.reduce((acc, d) => {\n            if (d.hover) {\n              acc[`${d.start_line}:${d.start_char}`] = {\n                ...d,\n                definitionLineNumber: parseInt(d.definition_path?.split('#L').pop() || 0, 10),\n              };\n            }\n            return acc;\n          }, {});\n\n          commit(types.REQUEST_DATA_SUCCESS, { path, normalizedData });\n        })\n        .catch(() => dispatch('requestDataError'));\n    });\n  },\n  showBlobInteractionZones({ state }, path) {\n    if (state.data && state.data[path]) {\n      Object.values(state.data[path]).forEach((d) =>\n        addInteractionClass({ path, d, wrapTextNodes: state.wrapTextNodes }),\n      );\n    }\n  },\n  showDefinition({ commit, state }, { target: el }) {\n    let definition;\n    let position;\n\n    if (!state.data) return;\n\n    const isCurrentElementPopoverOpen = el.classList.contains('hll');\n\n    if (getCurrentHoverElement()) {\n      getCurrentHoverElement().classList.remove('hll');\n    }\n\n    const blobEl = el.closest('[data-path]');\n\n    if (!blobEl) {\n      commit(types.SET_CURRENT_DEFINITION, { definition, position });\n\n      return;\n    }\n\n    const blobPath = blobEl.dataset.path;\n    const data = state.data[blobPath];\n\n    if (!data) return;\n\n    if (el.closest('.js-code-navigation') && !isCurrentElementPopoverOpen) {\n      const { lineIndex, charIndex } = el.dataset;\n\n      position = {\n        x: el.offsetLeft || 0,\n        y: el.offsetTop + (el.closest('pre.code')?.offsetTop || 0) || 0,\n        height: el.offsetHeight,\n        lineIndex: parseInt(lineIndex, 10),\n      };\n      definition = data[`${lineIndex}:${charIndex}`];\n\n      el.classList.add('hll');\n\n      setCurrentHoverElement(el);\n    }\n\n    commit(types.SET_CURRENT_DEFINITION, { definition, position, blobPath });\n  },\n};\n","export const SET_INITIAL_DATA = 'SET_INITIAL_DATA';\nexport const REQUEST_DATA = 'REQUEST_DATA';\nexport const REQUEST_DATA_SUCCESS = 'REQUEST_DATA_SUCCESS';\nexport const REQUEST_DATA_ERROR = 'REQUEST_DATA_ERROR';\nexport const SET_CURRENT_DEFINITION = 'SET_CURRENT_DEFINITION';\n","import * as types from './mutation_types';\n\nexport default {\n  [types.SET_INITIAL_DATA](state, { blobs, definitionPathPrefix, wrapTextNodes }) {\n    state.blobs = blobs;\n    state.definitionPathPrefix = definitionPathPrefix;\n    state.wrapTextNodes = wrapTextNodes;\n  },\n  [types.REQUEST_DATA](state) {\n    state.loading = true;\n  },\n  [types.REQUEST_DATA_SUCCESS](state, { path, normalizedData }) {\n    state.loading = false;\n    state.data = { ...state.data, [path]: normalizedData };\n  },\n  [types.REQUEST_DATA_ERROR](state) {\n    state.loading = false;\n  },\n  [types.SET_CURRENT_DEFINITION](state, { definition, position, blobPath }) {\n    state.currentDefinition = definition;\n    state.currentDefinitionPosition = position;\n    state.currentBlobPath = blobPath;\n  },\n};\n","// eslint-disable-next-line no-restricted-imports\nimport Vuex from 'vuex';\nimport actions from './actions';\nimport mutations from './mutations';\nimport createState from './state';\n\nexport default () =>\n  new Vuex.Store({\n    actions,\n    mutations,\n    state: createState(),\n  });\n","export default () => ({\n  blobs: [],\n  loading: false,\n  data: null,\n  wrapTextNodes: false,\n  currentDefinition: null,\n  currentDefinitionPosition: null,\n  currentBlobPath: null,\n});\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('pre',{staticClass:\"code-block rounded code\",class:_vm.$options.userColorScheme,style:(_vm.styleObject)},[_vm._t(\"default\",function(){return [_c('code',{staticClass:\"gl-block\"},[_vm._v(_vm._s(_vm.code))])]})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./code_block.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./code_block.vue?vue&type=script&lang=js\"","<script>\nexport default {\n  name: 'CodeBlock',\n  props: {\n    code: {\n      type: String,\n      required: false,\n      default: '',\n    },\n    maxHeight: {\n      type: String,\n      required: false,\n      default: 'initial',\n    },\n  },\n  computed: {\n    styleObject() {\n      const { maxHeight } = this;\n      const isScrollable = maxHeight !== 'initial';\n      const scrollableStyles = {\n        maxHeight,\n        overflowY: 'auto',\n      };\n\n      return isScrollable ? scrollableStyles : null;\n    },\n  },\n  userColorScheme: window.gon.user_color_scheme,\n};\n</script>\n<template>\n  <pre\n    class=\"code-block rounded code\"\n    :class=\"$options.userColorScheme\"\n    :style=\"styleObject\"\n  ><slot><code class=\"gl-block\">{{ code }}</code></slot></pre>\n</template>\n","import { render, staticRenderFns } from \"./code_block.vue?vue&type=template&id=441e6620\"\nimport script from \"./code_block.vue?vue&type=script&lang=js\"\nexport * from \"./code_block.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[_vm._l((_vm.markdownBlocks),function(block,index){return [(block.type === 'code')?_c('div',{key:`code-${index}`,class:{ 'gl-relative': true, 'gl-mb-4': !_vm.isLastElement(index) },attrs:{\"data-testid\":\"code-block-wrapper\"},on:{\"mouseenter\":function($event){return _vm.setHoverOn(`code-${index}`)},\"mouseleave\":function($event){return _vm.setHoverOff(`code-${index}`)}}},[(_vm.hoverMap[`code-${index}`])?_c('modal-copy-button',{staticClass:\"gl-absolute gl-right-3 gl-top-3 gl-z-1 gl-duration-medium\",attrs:{\"title\":_vm.$options.i18n.copyCodeTitle,\"text\":block.text}}):_vm._e(),_vm._v(\" \"),_c('code-block-highlighted',{staticClass:\"gl-border gl-mb-0 gl-overflow-y-auto !gl-rounded-none gl-p-4\",attrs:{\"language\":block.lang || _vm.$options.fallbackLanguage,\"code\":block.text}})],1):_c('div',{directives:[{name:\"safe-html\",rawName:\"v-safe-html:[$options.safeHtmlConfig]\",value:(_vm.getSafeHtml(block.raw)),expression:\"getSafeHtml(block.raw)\",arg:_vm.$options.safeHtmlConfig}],key:`text-${index}`,class:{ 'non-gfm-markdown-block': true, 'gl-mb-4': !_vm.isLastElement(index) },attrs:{\"data-testid\":\"non-code-markdown\"}})]})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./non_gfm_markdown.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./non_gfm_markdown.vue?vue&type=script&lang=js\"","<script>\n/*\nThis component is designed to render the markdown, which is **not** the GitLab Flavored Markdown.\n\nIt renders the code snippets the same way GitLab Flavored Markdown code snippets are rendered\nrespecting the user's preferred color scheme and featuring a copy-code button.\n\nThis component can be used to render client-side markdown that doesn't have GitLab-specific markdown elements such as issue links.\n*/\nimport { marked } from 'marked';\nimport CodeBlockHighlighted from '~/vue_shared/components/code_block_highlighted.vue';\nimport SafeHtml from '~/vue_shared/directives/safe_html';\nimport { sanitize } from '~/lib/dompurify';\nimport { markdownConfig } from '~/lib/utils/text_utility';\nimport { __ } from '~/locale';\nimport ModalCopyButton from '~/vue_shared/components/modal_copy_button.vue';\n\nexport default {\n  components: {\n    CodeBlockHighlighted,\n    ModalCopyButton,\n  },\n  directives: {\n    SafeHtml,\n  },\n  props: {\n    markdown: {\n      type: String,\n      required: true,\n    },\n  },\n  data() {\n    return {\n      hoverMap: {},\n    };\n  },\n  computed: {\n    markdownBlocks() {\n      // we use lexer https://marked.js.org/using_pro#lexer\n      // to get an array of tokens that marked npm module uses.\n      // We will use these tokens to override rendering of some of them\n      // with our vue components\n      const tokens = marked.lexer(this.markdown);\n\n      // since we only want to differentiate between code and non-code blocks\n      // we want non-code blocks merged together so that the markdown parser could render\n      // them according to the markdown rules.\n      // This way we introduce minimum extra wrapper mark-up\n      const flattenedTokens = [];\n\n      for (const token of tokens) {\n        const lastFlattenedToken = flattenedTokens[flattenedTokens.length - 1];\n        if (token.type === 'code') {\n          flattenedTokens.push(token);\n        } else if (lastFlattenedToken?.type === 'markdown') {\n          lastFlattenedToken.raw += token.raw;\n        } else {\n          flattenedTokens.push({ type: 'markdown', raw: token.raw });\n        }\n      }\n\n      return flattenedTokens;\n    },\n  },\n  methods: {\n    getSafeHtml(markdown) {\n      return sanitize(marked.parse(markdown), markdownConfig);\n    },\n    setHoverOn(key) {\n      this.hoverMap = { ...this.hoverMap, [key]: true };\n    },\n    setHoverOff(key) {\n      this.hoverMap = { ...this.hoverMap, [key]: false };\n    },\n    isLastElement(index) {\n      return index === this.markdownBlocks.length - 1;\n    },\n  },\n  safeHtmlConfig: {\n    ADD_TAGS: ['use', 'gl-emoji', 'copy-code'],\n  },\n  i18n: {\n    copyCodeTitle: __('Copy code'),\n  },\n  fallbackLanguage: 'text',\n};\n</script>\n<template>\n  <div>\n    <template v-for=\"(block, index) in markdownBlocks\">\n      <div\n        v-if=\"block.type === 'code'\"\n        :key=\"`code-${index}`\"\n        :class=\"{ 'gl-relative': true, 'gl-mb-4': !isLastElement(index) }\"\n        data-testid=\"code-block-wrapper\"\n        @mouseenter=\"setHoverOn(`code-${index}`)\"\n        @mouseleave=\"setHoverOff(`code-${index}`)\"\n      >\n        <modal-copy-button\n          v-if=\"hoverMap[`code-${index}`]\"\n          :title=\"$options.i18n.copyCodeTitle\"\n          :text=\"block.text\"\n          class=\"gl-absolute gl-right-3 gl-top-3 gl-z-1 gl-duration-medium\"\n        />\n        <code-block-highlighted\n          class=\"gl-border gl-mb-0 gl-overflow-y-auto !gl-rounded-none gl-p-4\"\n          :language=\"block.lang || $options.fallbackLanguage\"\n          :code=\"block.text\"\n        />\n      </div>\n      <div\n        v-else\n        :key=\"`text-${index}`\"\n        v-safe-html:[$options.safeHtmlConfig]=\"getSafeHtml(block.raw)\"\n        :class=\"{ 'non-gfm-markdown-block': true, 'gl-mb-4': !isLastElement(index) }\"\n        data-testid=\"non-code-markdown\"\n      ></div>\n    </template>\n  </div>\n</template>\n\n<style lang=\"scss\">\n/* This is to override a margin caused by bootstrap */\n.non-gfm-markdown-block {\n  p {\n    margin-bottom: 0;\n  }\n}\n</style>\n","import api from \"!../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n            import content from \"!!../../../../../../node_modules/css-loader/dist/cjs.js??ref--20-1!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./non_gfm_markdown.vue?vue&type=style&index=0&id=6133c046&prod&lang=scss\";\n\nvar options = {};\n\noptions.insert = \"head\";\noptions.singleton = false;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","import { render, staticRenderFns } from \"./non_gfm_markdown.vue?vue&type=template&id=6133c046\"\nimport script from \"./non_gfm_markdown.vue?vue&type=script&lang=js\"\nexport * from \"./non_gfm_markdown.vue?vue&type=script&lang=js\"\nimport style0 from \"./non_gfm_markdown.vue?vue&type=style&index=0&id=6133c046&prod&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","/**\n * This file is generated based on the contents of highlight.js/lib/languages to avoid\n * utilizing dynamic expressions within `import()` which were the source of some\n * confusion when attempting to produce deterministic webpack compilations across\n * multiple build environments.\n *\n * This list of highlight-able languages will need to be updated as new options are\n * introduced within the highlight.js dependency.\n */\n\nexport default {\n  '1c': () => import(/* webpackChunkName: 'hl-1c' */ 'highlight.js/lib/languages/1c'),\n  abnf: () => import(/* webpackChunkName: 'hl-abnf' */ 'highlight.js/lib/languages/abnf'),\n  accesslog: () =>\n    import(/* webpackChunkName: 'hl-accesslog' */ 'highlight.js/lib/languages/accesslog'),\n  actionscript: () =>\n    import(/* webpackChunkName: 'hl-actionscript' */ 'highlight.js/lib/languages/actionscript'),\n  ada: () => import(/* webpackChunkName: 'hl-ada' */ 'highlight.js/lib/languages/ada'),\n  angelscript: () =>\n    import(/* webpackChunkName: 'hl-angelscript' */ 'highlight.js/lib/languages/angelscript'),\n  apache: () => import(/* webpackChunkName: 'hl-apache' */ 'highlight.js/lib/languages/apache'),\n  applescript: () =>\n    import(/* webpackChunkName: 'hl-applescript' */ 'highlight.js/lib/languages/applescript'),\n  arcade: () => import(/* webpackChunkName: 'hl-arcade' */ 'highlight.js/lib/languages/arcade'),\n  arduino: () => import(/* webpackChunkName: 'hl-arduino' */ 'highlight.js/lib/languages/arduino'),\n  armasm: () => import(/* webpackChunkName: 'hl-armasm' */ 'highlight.js/lib/languages/armasm'),\n  asciidoc: () =>\n    import(/* webpackChunkName: 'hl-asciidoc' */ 'highlight.js/lib/languages/asciidoc'),\n  aspectj: () => import(/* webpackChunkName: 'hl-aspectj' */ 'highlight.js/lib/languages/aspectj'),\n  autohotkey: () =>\n    import(/* webpackChunkName: 'hl-autohotkey' */ 'highlight.js/lib/languages/autohotkey'),\n  autoit: () => import(/* webpackChunkName: 'hl-autoit' */ 'highlight.js/lib/languages/autoit'),\n  avrasm: () => import(/* webpackChunkName: 'hl-avrasm' */ 'highlight.js/lib/languages/avrasm'),\n  awk: () => import(/* webpackChunkName: 'hl-awk' */ 'highlight.js/lib/languages/awk'),\n  axapta: () => import(/* webpackChunkName: 'hl-axapta' */ 'highlight.js/lib/languages/axapta'),\n  bash: () => import(/* webpackChunkName: 'hl-bash' */ 'highlight.js/lib/languages/bash'),\n  basic: () => import(/* webpackChunkName: 'hl-basic' */ 'highlight.js/lib/languages/basic'),\n  bnf: () => import(/* webpackChunkName: 'hl-bnf' */ 'highlight.js/lib/languages/bnf'),\n  brainfuck: () =>\n    import(/* webpackChunkName: 'hl-brainfuck' */ 'highlight.js/lib/languages/brainfuck'),\n  c: () => import(/* webpackChunkName: 'hl-c' */ 'highlight.js/lib/languages/c'),\n  cal: () => import(/* webpackChunkName: 'hl-cal' */ 'highlight.js/lib/languages/cal'),\n  capnproto: () =>\n    import(/* webpackChunkName: 'hl-capnproto' */ 'highlight.js/lib/languages/capnproto'),\n  ceylon: () => import(/* webpackChunkName: 'hl-ceylon' */ 'highlight.js/lib/languages/ceylon'),\n  clean: () => import(/* webpackChunkName: 'hl-clean' */ 'highlight.js/lib/languages/clean'),\n  'clojure-repl': () =>\n    import(/* webpackChunkName: 'hl-clojure-repl' */ 'highlight.js/lib/languages/clojure-repl'),\n  clojure: () => import(/* webpackChunkName: 'hl-clojure' */ 'highlight.js/lib/languages/clojure'),\n  codeowners: () =>\n    import(\n      /* webpackChunkName: 'hl-codeowners' */ '~/vue_shared/components/source_viewer/languages/codeowners'\n    ),\n  cmake: () => import(/* webpackChunkName: 'hl-cmake' */ 'highlight.js/lib/languages/cmake'),\n  coffeescript: () =>\n    import(/* webpackChunkName: 'hl-coffeescript' */ 'highlight.js/lib/languages/coffeescript'),\n  coq: () => import(/* webpackChunkName: 'hl-coq' */ 'highlight.js/lib/languages/coq'),\n  cos: () => import(/* webpackChunkName: 'hl-cos' */ 'highlight.js/lib/languages/cos'),\n  cpp: () => import(/* webpackChunkName: 'hl-cpp' */ 'highlight.js/lib/languages/cpp'),\n  crmsh: () => import(/* webpackChunkName: 'hl-crmsh' */ 'highlight.js/lib/languages/crmsh'),\n  crystal: () => import(/* webpackChunkName: 'hl-crystal' */ 'highlight.js/lib/languages/crystal'),\n  csharp: () => import(/* webpackChunkName: 'hl-csharp' */ 'highlight.js/lib/languages/csharp'),\n  csp: () => import(/* webpackChunkName: 'hl-csp' */ 'highlight.js/lib/languages/csp'),\n  css: () => import(/* webpackChunkName: 'hl-css' */ 'highlight.js/lib/languages/css'),\n  d: () => import(/* webpackChunkName: 'hl-d' */ 'highlight.js/lib/languages/d'),\n  dart: () => import(/* webpackChunkName: 'hl-dart' */ 'highlight.js/lib/languages/dart'),\n  delphi: () => import(/* webpackChunkName: 'hl-delphi' */ 'highlight.js/lib/languages/delphi'),\n  diff: () => import(/* webpackChunkName: 'hl-diff' */ 'highlight.js/lib/languages/diff'),\n  django: () => import(/* webpackChunkName: 'hl-django' */ 'highlight.js/lib/languages/django'),\n  dns: () => import(/* webpackChunkName: 'hl-dns' */ 'highlight.js/lib/languages/dns'),\n  dockerfile: () =>\n    import(/* webpackChunkName: 'hl-dockerfile' */ 'highlight.js/lib/languages/dockerfile'),\n  dos: () => import(/* webpackChunkName: 'hl-dos' */ 'highlight.js/lib/languages/dos'),\n  dsconfig: () =>\n    import(/* webpackChunkName: 'hl-dsconfig' */ 'highlight.js/lib/languages/dsconfig'),\n  dts: () => import(/* webpackChunkName: 'hl-dts' */ 'highlight.js/lib/languages/dts'),\n  dust: () => import(/* webpackChunkName: 'hl-dust' */ 'highlight.js/lib/languages/dust'),\n  ebnf: () => import(/* webpackChunkName: 'hl-ebnf' */ 'highlight.js/lib/languages/ebnf'),\n  elixir: () => import(/* webpackChunkName: 'hl-elixir' */ 'highlight.js/lib/languages/elixir'),\n  elm: () => import(/* webpackChunkName: 'hl-elm' */ 'highlight.js/lib/languages/elm'),\n  erb: () => import(/* webpackChunkName: 'hl-erb' */ 'highlight.js/lib/languages/erb'),\n  'erlang-repl': () =>\n    import(/* webpackChunkName: 'hl-erlang-repl' */ 'highlight.js/lib/languages/erlang-repl'),\n  erlang: () => import(/* webpackChunkName: 'hl-erlang' */ 'highlight.js/lib/languages/erlang'),\n  excel: () => import(/* webpackChunkName: 'hl-excel' */ 'highlight.js/lib/languages/excel'),\n  fix: () => import(/* webpackChunkName: 'hl-fix' */ 'highlight.js/lib/languages/fix'),\n  flix: () => import(/* webpackChunkName: 'hl-flix' */ 'highlight.js/lib/languages/flix'),\n  fortran: () => import(/* webpackChunkName: 'hl-fortran' */ 'highlight.js/lib/languages/fortran'),\n  fsharp: () => import(/* webpackChunkName: 'hl-fsharp' */ 'highlight.js/lib/languages/fsharp'),\n  gams: () => import(/* webpackChunkName: 'hl-gams' */ 'highlight.js/lib/languages/gams'),\n  gauss: () => import(/* webpackChunkName: 'hl-gauss' */ 'highlight.js/lib/languages/gauss'),\n  gcode: () => import(/* webpackChunkName: 'hl-gcode' */ 'highlight.js/lib/languages/gcode'),\n  gherkin: () => import(/* webpackChunkName: 'hl-gherkin' */ 'highlight.js/lib/languages/gherkin'),\n  glsl: () => import(/* webpackChunkName: 'hl-glsl' */ 'highlight.js/lib/languages/glsl'),\n  gml: () => import(/* webpackChunkName: 'hl-gml' */ 'highlight.js/lib/languages/gml'),\n  go: () => import(/* webpackChunkName: 'hl-go' */ 'highlight.js/lib/languages/go'),\n  golo: () => import(/* webpackChunkName: 'hl-golo' */ 'highlight.js/lib/languages/golo'),\n  gradle: () => import(/* webpackChunkName: 'hl-gradle' */ 'highlight.js/lib/languages/gradle'),\n  groovy: () => import(/* webpackChunkName: 'hl-groovy' */ 'highlight.js/lib/languages/groovy'),\n  haml: () => import(/* webpackChunkName: 'hl-haml' */ 'highlight.js/lib/languages/haml'),\n  handlebars: () =>\n    import(/* webpackChunkName: 'hl-handlebars' */ 'highlight.js/lib/languages/handlebars'),\n  haskell: () => import(/* webpackChunkName: 'hl-haskell' */ 'highlight.js/lib/languages/haskell'),\n  haxe: () => import(/* webpackChunkName: 'hl-haxe' */ 'highlight.js/lib/languages/haxe'),\n  hsp: () => import(/* webpackChunkName: 'hl-hsp' */ 'highlight.js/lib/languages/hsp'),\n  http: () => import(/* webpackChunkName: 'hl-http' */ 'highlight.js/lib/languages/http'),\n  hy: () => import(/* webpackChunkName: 'hl-hy' */ 'highlight.js/lib/languages/hy'),\n  inform7: () => import(/* webpackChunkName: 'hl-inform7' */ 'highlight.js/lib/languages/inform7'),\n  ini: () => import(/* webpackChunkName: 'hl-ini' */ 'highlight.js/lib/languages/ini'),\n  irpf90: () => import(/* webpackChunkName: 'hl-irpf90' */ 'highlight.js/lib/languages/irpf90'),\n  isbl: () => import(/* webpackChunkName: 'hl-isbl' */ 'highlight.js/lib/languages/isbl'),\n  java: () => import(/* webpackChunkName: 'hl-java' */ 'highlight.js/lib/languages/java'),\n  javascript: () =>\n    import(/* webpackChunkName: 'hl-javascript' */ 'highlight.js/lib/languages/javascript'),\n  'jboss-cli': () =>\n    import(/* webpackChunkName: 'hl-jboss-cli' */ 'highlight.js/lib/languages/jboss-cli'),\n  json: () => import(/* webpackChunkName: 'hl-json' */ 'highlight.js/lib/languages/json'),\n  'julia-repl': () =>\n    import(/* webpackChunkName: 'hl-julia-repl' */ 'highlight.js/lib/languages/julia-repl'),\n  julia: () => import(/* webpackChunkName: 'hl-julia' */ 'highlight.js/lib/languages/julia'),\n  kotlin: () => import(/* webpackChunkName: 'hl-kotlin' */ 'highlight.js/lib/languages/kotlin'),\n  lasso: () => import(/* webpackChunkName: 'hl-lasso' */ 'highlight.js/lib/languages/lasso'),\n  latex: () => import(/* webpackChunkName: 'hl-latex' */ 'highlight.js/lib/languages/latex'),\n  ldif: () => import(/* webpackChunkName: 'hl-ldif' */ 'highlight.js/lib/languages/ldif'),\n  leaf: () => import(/* webpackChunkName: 'hl-leaf' */ 'highlight.js/lib/languages/leaf'),\n  less: () => import(/* webpackChunkName: 'hl-less' */ 'highlight.js/lib/languages/less'),\n  lisp: () => import(/* webpackChunkName: 'hl-lisp' */ 'highlight.js/lib/languages/lisp'),\n  livecodeserver: () =>\n    import(/* webpackChunkName: 'hl-livecodeserver' */ 'highlight.js/lib/languages/livecodeserver'),\n  livescript: () =>\n    import(/* webpackChunkName: 'hl-livescript' */ 'highlight.js/lib/languages/livescript'),\n  llvm: () => import(/* webpackChunkName: 'hl-llvm' */ 'highlight.js/lib/languages/llvm'),\n  lsl: () => import(/* webpackChunkName: 'hl-lsl' */ 'highlight.js/lib/languages/lsl'),\n  lua: () => import(/* webpackChunkName: 'hl-lua' */ 'highlight.js/lib/languages/lua'),\n  makefile: () =>\n    import(/* webpackChunkName: 'hl-makefile' */ 'highlight.js/lib/languages/makefile'),\n  markdown: () =>\n    import(/* webpackChunkName: 'hl-markdown' */ 'highlight.js/lib/languages/markdown'),\n  mathematica: () =>\n    import(/* webpackChunkName: 'hl-mathematica' */ 'highlight.js/lib/languages/mathematica'),\n  matlab: () => import(/* webpackChunkName: 'hl-matlab' */ 'highlight.js/lib/languages/matlab'),\n  maxima: () => import(/* webpackChunkName: 'hl-maxima' */ 'highlight.js/lib/languages/maxima'),\n  mel: () => import(/* webpackChunkName: 'hl-mel' */ 'highlight.js/lib/languages/mel'),\n  mercury: () => import(/* webpackChunkName: 'hl-mercury' */ 'highlight.js/lib/languages/mercury'),\n  mipsasm: () => import(/* webpackChunkName: 'hl-mipsasm' */ 'highlight.js/lib/languages/mipsasm'),\n  mizar: () => import(/* webpackChunkName: 'hl-mizar' */ 'highlight.js/lib/languages/mizar'),\n  mojolicious: () =>\n    import(/* webpackChunkName: 'hl-mojolicious' */ 'highlight.js/lib/languages/mojolicious'),\n  monkey: () => import(/* webpackChunkName: 'hl-monkey' */ 'highlight.js/lib/languages/monkey'),\n  moonscript: () =>\n    import(/* webpackChunkName: 'hl-moonscript' */ 'highlight.js/lib/languages/moonscript'),\n  n1ql: () => import(/* webpackChunkName: 'hl-n1ql' */ 'highlight.js/lib/languages/n1ql'),\n  nestedtext: () =>\n    import(/* webpackChunkName: 'hl-nestedtext' */ 'highlight.js/lib/languages/nestedtext'),\n  nginx: () => import(/* webpackChunkName: 'hl-nginx' */ 'highlight.js/lib/languages/nginx'),\n  nim: () => import(/* webpackChunkName: 'hl-nim' */ 'highlight.js/lib/languages/nim'),\n  nix: () => import(/* webpackChunkName: 'hl-nix' */ 'highlight.js/lib/languages/nix'),\n  'node-repl': () =>\n    import(/* webpackChunkName: 'hl-node-repl' */ 'highlight.js/lib/languages/node-repl'),\n  nsis: () => import(/* webpackChunkName: 'hl-nsis' */ 'highlight.js/lib/languages/nsis'),\n  objectivec: () =>\n    import(/* webpackChunkName: 'hl-objectivec' */ 'highlight.js/lib/languages/objectivec'),\n  ocaml: () => import(/* webpackChunkName: 'hl-ocaml' */ 'highlight.js/lib/languages/ocaml'),\n  openscad: () =>\n    import(/* webpackChunkName: 'hl-openscad' */ 'highlight.js/lib/languages/openscad'),\n  oxygene: () => import(/* webpackChunkName: 'hl-oxygene' */ 'highlight.js/lib/languages/oxygene'),\n  parser3: () => import(/* webpackChunkName: 'hl-parser3' */ 'highlight.js/lib/languages/parser3'),\n  perl: () => import(/* webpackChunkName: 'hl-perl' */ 'highlight.js/lib/languages/perl'),\n  pf: () => import(/* webpackChunkName: 'hl-pf' */ 'highlight.js/lib/languages/pf'),\n  pgsql: () => import(/* webpackChunkName: 'hl-pgsql' */ 'highlight.js/lib/languages/pgsql'),\n  'php-template': () =>\n    import(/* webpackChunkName: 'hl-php-template' */ 'highlight.js/lib/languages/php-template'),\n  php: () => import(/* webpackChunkName: 'hl-php' */ 'highlight.js/lib/languages/php'),\n  plaintext: () =>\n    import(/* webpackChunkName: 'hl-plaintext' */ 'highlight.js/lib/languages/plaintext'),\n  pony: () => import(/* webpackChunkName: 'hl-pony' */ 'highlight.js/lib/languages/pony'),\n  powershell: () =>\n    import(/* webpackChunkName: 'hl-powershell' */ 'highlight.js/lib/languages/powershell'),\n  processing: () =>\n    import(/* webpackChunkName: 'hl-processing' */ 'highlight.js/lib/languages/processing'),\n  profile: () => import(/* webpackChunkName: 'hl-profile' */ 'highlight.js/lib/languages/profile'),\n  prolog: () => import(/* webpackChunkName: 'hl-prolog' */ 'highlight.js/lib/languages/prolog'),\n  properties: () =>\n    import(/* webpackChunkName: 'hl-properties' */ 'highlight.js/lib/languages/properties'),\n  protobuf: () =>\n    import(/* webpackChunkName: 'hl-protobuf' */ 'highlight.js/lib/languages/protobuf'),\n  puppet: () => import(/* webpackChunkName: 'hl-puppet' */ 'highlight.js/lib/languages/puppet'),\n  purebasic: () =>\n    import(/* webpackChunkName: 'hl-purebasic' */ 'highlight.js/lib/languages/purebasic'),\n  'python-repl': () =>\n    import(/* webpackChunkName: 'hl-python-repl' */ 'highlight.js/lib/languages/python-repl'),\n  python: () => import(/* webpackChunkName: 'hl-python' */ 'highlight.js/lib/languages/python'),\n  q: () => import(/* webpackChunkName: 'hl-q' */ 'highlight.js/lib/languages/q'),\n  qml: () => import(/* webpackChunkName: 'hl-qml' */ 'highlight.js/lib/languages/qml'),\n  r: () => import(/* webpackChunkName: 'hl-r' */ 'highlight.js/lib/languages/r'),\n  reasonml: () =>\n    import(/* webpackChunkName: 'hl-reasonml' */ 'highlight.js/lib/languages/reasonml'),\n  rib: () => import(/* webpackChunkName: 'hl-rib' */ 'highlight.js/lib/languages/rib'),\n  roboconf: () =>\n    import(/* webpackChunkName: 'hl-roboconf' */ 'highlight.js/lib/languages/roboconf'),\n  routeros: () =>\n    import(/* webpackChunkName: 'hl-routeros' */ 'highlight.js/lib/languages/routeros'),\n  rsl: () => import(/* webpackChunkName: 'hl-rsl' */ 'highlight.js/lib/languages/rsl'),\n  ruby: () => import(/* webpackChunkName: 'hl-ruby' */ 'highlight.js/lib/languages/ruby'),\n  ruleslanguage: () =>\n    import(/* webpackChunkName: 'hl-ruleslanguage' */ 'highlight.js/lib/languages/ruleslanguage'),\n  rust: () => import(/* webpackChunkName: 'hl-rust' */ 'highlight.js/lib/languages/rust'),\n  sas: () => import(/* webpackChunkName: 'hl-sas' */ 'highlight.js/lib/languages/sas'),\n  scala: () => import(/* webpackChunkName: 'hl-scala' */ 'highlight.js/lib/languages/scala'),\n  scheme: () => import(/* webpackChunkName: 'hl-scheme' */ 'highlight.js/lib/languages/scheme'),\n  scilab: () => import(/* webpackChunkName: 'hl-scilab' */ 'highlight.js/lib/languages/scilab'),\n  scss: () => import(/* webpackChunkName: 'hl-scss' */ 'highlight.js/lib/languages/scss'),\n  shell: () => import(/* webpackChunkName: 'hl-shell' */ 'highlight.js/lib/languages/shell'),\n  smali: () => import(/* webpackChunkName: 'hl-smali' */ 'highlight.js/lib/languages/smali'),\n  smalltalk: () =>\n    import(/* webpackChunkName: 'hl-smalltalk' */ 'highlight.js/lib/languages/smalltalk'),\n  sml: () => import(/* webpackChunkName: 'hl-sml' */ 'highlight.js/lib/languages/sml'),\n  sqf: () => import(/* webpackChunkName: 'hl-sqf' */ 'highlight.js/lib/languages/sqf'),\n  sql: () => import(/* webpackChunkName: 'hl-sql' */ 'highlight.js/lib/languages/sql'),\n  stan: () => import(/* webpackChunkName: 'hl-stan' */ 'highlight.js/lib/languages/stan'),\n  stata: () => import(/* webpackChunkName: 'hl-stata' */ 'highlight.js/lib/languages/stata'),\n  step21: () => import(/* webpackChunkName: 'hl-step21' */ 'highlight.js/lib/languages/step21'),\n  stylus: () => import(/* webpackChunkName: 'hl-stylus' */ 'highlight.js/lib/languages/stylus'),\n  subunit: () => import(/* webpackChunkName: 'hl-subunit' */ 'highlight.js/lib/languages/subunit'),\n  svelte: () =>\n    import(\n      /* webpackChunkName: 'hl-svelte' */ '~/vue_shared/components/source_viewer/languages/svelte'\n    ),\n  hcl: () =>\n    import(\n      /* webpackChunkName: 'hl-hcl' */ '~/packages_and_registries/infrastructure_registry/languages/hcl'\n    ),\n  swift: () => import(/* webpackChunkName: 'hl-swift' */ 'highlight.js/lib/languages/swift'),\n  taggerscript: () =>\n    import(/* webpackChunkName: 'hl-taggerscript' */ 'highlight.js/lib/languages/taggerscript'),\n  tap: () => import(/* webpackChunkName: 'hl-tap' */ 'highlight.js/lib/languages/tap'),\n  tcl: () => import(/* webpackChunkName: 'hl-tcl' */ 'highlight.js/lib/languages/tcl'),\n  thrift: () => import(/* webpackChunkName: 'hl-thrift' */ 'highlight.js/lib/languages/thrift'),\n  tp: () => import(/* webpackChunkName: 'hl-tp' */ 'highlight.js/lib/languages/tp'),\n  twig: () => import(/* webpackChunkName: 'hl-twig' */ 'highlight.js/lib/languages/twig'),\n  typescript: () =>\n    import(/* webpackChunkName: 'hl-typescript' */ 'highlight.js/lib/languages/typescript'),\n  ts: () => import(/* webpackChunkName: 'hl-typescript' */ 'highlight.js/lib/languages/typescript'),\n  vala: () => import(/* webpackChunkName: 'hl-vala' */ 'highlight.js/lib/languages/vala'),\n  vbnet: () => import(/* webpackChunkName: 'hl-vbnet' */ 'highlight.js/lib/languages/vbnet'),\n  'vbscript-html': () =>\n    import(/* webpackChunkName: 'hl-vbscript-html' */ 'highlight.js/lib/languages/vbscript-html'),\n  vbscript: () =>\n    import(/* webpackChunkName: 'hl-vbscript' */ 'highlight.js/lib/languages/vbscript'),\n  verilog: () => import(/* webpackChunkName: 'hl-verilog' */ 'highlight.js/lib/languages/verilog'),\n  vhdl: () => import(/* webpackChunkName: 'hl-vhdl' */ 'highlight.js/lib/languages/vhdl'),\n  vim: () => import(/* webpackChunkName: 'hl-vim' */ 'highlight.js/lib/languages/vim'),\n  wasm: () => import(/* webpackChunkName: 'hl-wasm' */ 'highlight.js/lib/languages/wasm'),\n  wren: () => import(/* webpackChunkName: 'hl-wren' */ 'highlight.js/lib/languages/wren'),\n  x86asm: () => import(/* webpackChunkName: 'hl-x86asm' */ 'highlight.js/lib/languages/x86asm'),\n  xl: () => import(/* webpackChunkName: 'hl-xl' */ 'highlight.js/lib/languages/xl'),\n  xml: () => import(/* webpackChunkName: 'hl-xml' */ 'highlight.js/lib/languages/xml'),\n  xquery: () => import(/* webpackChunkName: 'hl-xquery' */ 'highlight.js/lib/languages/xquery'),\n  yaml: () => import(/* webpackChunkName: 'hl-yaml' */ 'highlight.js/lib/languages/yaml'),\n  zephir: () => import(/* webpackChunkName: 'hl-zephir' */ 'highlight.js/lib/languages/zephir'),\n};\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('code-block',{staticClass:\"highlight\",attrs:{\"max-height\":_vm.maxHeight}},[_c('span',{directives:[{name:\"safe-html\",rawName:\"v-safe-html\",value:(_vm.highlighted),expression:\"highlighted\"}]})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./code_block_highlighted.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../../../node_modules/thread-loader/dist/cjs.js??ref--13-0!../../../../../node_modules/babel-loader/lib/index.js??ref--13-1!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./code_block_highlighted.vue?vue&type=script&lang=js\"","<script>\nimport { escape } from 'lodash';\nimport SafeHtml from '~/vue_shared/directives/safe_html';\nimport languageLoader from '~/content_editor/services/highlight_js_language_loader';\nimport CodeBlock from './code_block.vue';\n\nexport default {\n  name: 'CodeBlockHighlighted',\n  directives: {\n    SafeHtml,\n  },\n  components: {\n    CodeBlock,\n  },\n  props: {\n    code: {\n      type: String,\n      required: true,\n    },\n    language: {\n      type: String,\n      required: true,\n    },\n    maxHeight: {\n      type: String,\n      required: false,\n      default: 'initial',\n    },\n  },\n  data() {\n    return {\n      hljs: null,\n      languageLoaded: false,\n    };\n  },\n  computed: {\n    highlighted() {\n      if (this.hljs && this.languageLoaded) {\n        return this.hljs.default.highlight(this.code, { language: this.language }).value;\n      }\n\n      return escape(this.code);\n    },\n  },\n  async mounted() {\n    this.hljs = await this.loadHighlightJS();\n    if (this.language) {\n      await this.loadLanguage();\n    }\n  },\n  methods: {\n    async loadLanguage() {\n      try {\n        const { default: languageDefinition } = await languageLoader[this.language]();\n\n        this.hljs.default.registerLanguage(this.language, languageDefinition);\n        this.languageLoaded = true;\n      } catch (e) {\n        this.$emit('error', e);\n      }\n    },\n    loadHighlightJS() {\n      return import('highlight.js/lib/core');\n    },\n  },\n};\n</script>\n<template>\n  <code-block :max-height=\"maxHeight\" class=\"highlight\">\n    <span v-safe-html=\"highlighted\"></span>\n  </code-block>\n</template>\n","import { render, staticRenderFns } from \"./code_block_highlighted.vue?vue&type=template&id=f1ae75cc\"\nimport script from \"./code_block_highlighted.vue?vue&type=script&lang=js\"\nexport * from \"./code_block_highlighted.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports","import Vue from 'vue';\n// eslint-disable-next-line no-restricted-imports\nimport Vuex from 'vuex';\nimport App from './components/app.vue';\nimport createStore from './store';\n\nexport default (initialData) => {\n  const el = document.getElementById('js-code-navigation');\n\n  if (!el) return null;\n\n  Vue.use(Vuex);\n\n  const store = createStore();\n\n  store.dispatch('setInitialData', initialData);\n\n  return new Vue({\n    el,\n    store,\n    render(h) {\n      return h(App);\n    },\n  });\n};\n"],"sourceRoot":""}