Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/files_texteditor.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@users.noreply.github.com>2019-09-07 12:11:21 +0300
committerGitHub <noreply@github.com>2019-09-07 12:11:21 +0300
commita3ef143487313403c388ee30e03518a3eb76d554 (patch)
treeb5e207f2f1a925137f7f25975b219917542d0f8d
parent577d02205bacfc99201bb0f870489600fe7b35de (diff)
parent77f3d263ad2a7c25a98602de1e638507736a7605 (diff)
Merge pull request #181 from nextcloud/update-stable17-target-versionsv17.0.0rc1
Update stable17 target versions
-rw-r--r--.travis.yml2
-rw-r--r--build/editor.js.map2
-rw-r--r--build/public-share.js2
-rw-r--r--build/public-share.js.map2
4 files changed, 4 insertions, 4 deletions
diff --git a/.travis.yml b/.travis.yml
index d347514..897e767 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -6,7 +6,7 @@ php:
env:
global:
- - CORE_BRANCH=master
+ - CORE_BRANCH=stable17
- APP=files_texteditor
matrix:
- DB=sqlite
diff --git a/build/editor.js.map b/build/editor.js.map
index f220c38..64cf6b4 100644
--- a/build/editor.js.map
+++ b/build/editor.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap 670a82338906950ceca6","webpack:///./js/ImportAce.js","webpack:///./js/SyntaxMode.js","webpack:///./js/editor.js","webpack:///./js/index.js","webpack:///./js/newfileplugin.js","webpack:///./js/sidebarpreview.js","webpack:///./js/supported_mimetypes.json"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","installedModules","30","__webpack_require__","exports","module","l","e","installedChunkData","Promise","resolve","promise","reject","head","document","getElementsByTagName","script","createElement","type","charset","async","timeout","nc","setAttribute","src","p","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","setTimeout","onScriptComplete","onerror","onload","clearTimeout","chunk","Error","undefined","appendChild","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","oe","err","console","error","s","__webpack_exports__","then","bind","extension","filetype","loaders","$","when","supportedMimeTypes","ace","Texteditor","$container","editor","file","edited","mtime","dir","writeable","mime","size","saving","currentContext","saveTimer","oldTitle","saveMessageTimeout","previewPlugins","registerPreviewPlugin","mimeType","plugin","this","previewPluginsLoaded","preview","previewPluginOnChange","_onSaveTrigger","$message","find","text","t","show","saveFile","aceEditor","getSession","getValue","data","title","css","fadeOut","message","focus","_onCloseTrigger","hideEditor","OC","Notification","showTemporary","closeEditor","on","_onReOpenTrigger","_onEditorTrigger","filename","context","_this","fileList","__WEBPACK_IMPORTED_MODULE_1__ImportAce__","_ace","loadEditor","history","pushState","_onEdit","_onUnsaved","initialize","container","registerFileActions","_this2","forEach","OCA","Files","fileActions","registerAction","actionHandler","permissions","PERMISSION_READ","icon","imagePath","setDefault","_self","html","append","loadFile","removeClass","configureACE","loadControlBar","setupAutosave","bindVisibleActions","addClass","replace","_","debounce","element","loadPreviewPlugin","resize","loadPreviewControlBar","dialogs","alert","Deferred","init","escapeHTML","controlBar","before","setFilenameMaxLength","bindControlBar","setPreviewMode","mode","makeButton","tooltip","active","button","placement","delay","hide","click","attr","controls","after","unloadControlBar","remove","width","outerWidth","onpopstate","location","hash","substr","edit","setNewLineMode","setShowPrintMargin","setUseWrapMode","setReadOnly","setEditorSyntaxMode","split","setTheme","commands","addCommand","bindKey","win","mac","sender","exec","removeCommand","byName","transposeletters","__WEBPACK_IMPORTED_MODULE_0__SyntaxMode__","setMode","success","failure","generateUrl","done","filecontents","fail","jqXHR","JSON","parse","responseText","path","ajax","url","unBindVisibleActions","fileInfoModel","getModelForFile","set","etag","_onClickDocument","event","target","closest","unbind","__WEBPACK_IMPORTED_MODULE_2__newfileplugin__","filePath","querySelector","getAttribute","Files_Texteditor","__WEBPACK_IMPORTED_MODULE_1__editor__","Plugins","register","__WEBPACK_IMPORTED_MODULE_0__sidebarpreview__","ready","newFileMenuPlugin","attach","menu","Text","id","addMenuEntry","displayName","templateName","iconClass","fileType","getCurrentDirectory","createFile","SidebarPreview","_classCallCheck","_createClass","key","value","manager","handler","handlePreview","addPreviewHandler","model","$thumbnailDiv","$thumbnailContainer","fallback","previewWidth","parent","previewHeight","getFileContent","getFullPath","content","$editorDiv","children","imports","parts","slice","join","headers","Range"],"mappings":"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","file":"editor.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonpTexteditor\"];\n \twindow[\"webpackJsonpTexteditor\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t30: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData === 0) {\n \t\t\treturn new Promise(function(resolve) { resolve(); });\n \t\t}\n\n \t\t// a Promise means \"currently loading\".\n \t\tif(installedChunkData) {\n \t\t\treturn installedChunkData[2];\n \t\t}\n\n \t\t// setup Promise in chunk cache\n \t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t});\n \t\tinstalledChunkData[2] = promise;\n\n \t\t// start chunk loading\n \t\tvar head = document.getElementsByTagName('head')[0];\n \t\tvar script = document.createElement('script');\n \t\tscript.type = \"text/javascript\";\n \t\tscript.charset = 'utf-8';\n \t\tscript.async = true;\n \t\tscript.timeout = 120000;\n\n \t\tif (__webpack_require__.nc) {\n \t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t}\n \t\tscript.src = __webpack_require__.p + \"\" + ({\"1\":\"markdown-mode\",\"2\":\"php-mode\",\"3\":\"html-mode\",\"4\":\"svg-mode\",\"5\":\"xml-mode\",\"6\":\"scala-mode\",\"7\":\"lua-mode\",\"8\":\"json-mode\",\"9\":\"js-mode\",\"10\":\"java-mode\",\"11\":\"groovy-mode\",\"12\":\"css-mode\",\"13\":\"coffee-mode\",\"14\":\"ace\",\"15\":\"textile-mode\",\"16\":\"sql-mode\",\"17\":\"sh-mode\",\"18\":\"scss-mode\",\"19\":\"scad-mode\",\"20\":\"rb-mode\",\"21\":\"py-mode\",\"22\":\"ps1-mode\",\"23\":\"pl-mode\",\"24\":\"ml-mode\",\"25\":\"less-mode\",\"26\":\"latex-mode\",\"27\":\"cs-mode\",\"28\":\"h-mode\",\"29\":\"bat-mode\"}[chunkId]||chunkId) + \".bundle.js\";\n \t\tvar timeout = setTimeout(onScriptComplete, 120000);\n \t\tscript.onerror = script.onload = onScriptComplete;\n \t\tfunction onScriptComplete() {\n \t\t\t// avoid mem leaks in IE.\n \t\t\tscript.onerror = script.onload = null;\n \t\t\tclearTimeout(timeout);\n \t\t\tvar chunk = installedChunks[chunkId];\n \t\t\tif(chunk !== 0) {\n \t\t\t\tif(chunk) {\n \t\t\t\t\tchunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));\n \t\t\t\t}\n \t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t}\n \t\t};\n \t\thead.appendChild(script);\n\n \t\treturn promise;\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./js/index.js\");\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 670a82338906950ceca6","/*\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default function() {\n\treturn import(/* webpackChunkName: \"ace\" */'brace')\n}\n\n\n\n// WEBPACK FOOTER //\n// ./js/ImportAce.js","const filetype = {};\n// add file extensions like this: filetype[\"extension\"] = \"filetype\":\nfiletype[\"bat\"] = \"batchfile\";\nfiletype[\"cmd\"] = \"batchfile\";\nfiletype[\"h\"] = \"c_cpp\";\nfiletype[\"c\"] = \"c_cpp\";\nfiletype[\"clj\"] = \"clojure\";\nfiletype[\"coffee\"] = \"coffee\"; // coffescript can be compiled to javascript\nfiletype[\"cpp\"] = \"c_cpp\";\nfiletype[\"cs\"] = \"csharp\";\nfiletype[\"css\"] = \"css\";\nfiletype[\"groovy\"] = \"groovy\";\nfiletype[\"htm\"] = \"html\";\nfiletype[\"html\"] = \"html\";\nfiletype[\"tt\"] = \"html\";\nfiletype[\"java\"] = \"java\";\nfiletype[\"js\"] = \"javascript\";\nfiletype[\"jsm\"] = \"javascript\";\nfiletype[\"json\"] = \"json\";\nfiletype[\"latex\"] = \"latex\";\nfiletype[\"tex\"] = \"latex\";\nfiletype[\"less\"] = \"less\";\nfiletype[\"ly\"] = \"latex\";\nfiletype[\"ily\"] = \"latex\";\nfiletype[\"lua\"] = \"lua\";\nfiletype[\"markdown\"] = \"markdown\";\nfiletype[\"md\"] = \"markdown\";\nfiletype[\"mdown\"] = \"markdown\";\nfiletype[\"mdwn\"] = \"markdown\";\nfiletype[\"mkd\"] = \"markdown\";\nfiletype[\"ml\"] = \"ocaml\";\nfiletype[\"mli\"] = \"ocaml\";\nfiletype[\"pl\"] = \"perl\";\nfiletype[\"php\"] = \"php\";\nfiletype[\"ps1\"] = \"powershell\";\nfiletype[\"py\"] = \"python\";\nfiletype[\"rb\"] = \"ruby\";\nfiletype[\"scad\"] = \"scad\"; // seems to be something like 3d model files printed with e.g. reprap\nfiletype[\"scala\"] = \"scala\";\nfiletype[\"scss\"] = \"scss\"; // \"sassy css\"\nfiletype[\"sh\"] = \"sh\";\nfiletype[\"sql\"] = \"sql\";\nfiletype[\"svg\"] = \"svg\";\nfiletype[\"textile\"] = \"textile\"; // related to markdown\nfiletype[\"xml\"] = \"xml\";\n\nconst loaders = {};\n// add loader like this: loaders[\"filetype\"] = () => require(\"promise?brace/mode/filetype\"):\n\n// note that these require statements can't be generated from the filetypes dynamically\n// to make sure webpack can analyse our dependencies\nloaders[\"batchfile\"] = () => import(\n\t/* webpackChunkName: \"bat-mode\" */\n\t\"brace/mode/batchfile\"\n\t);\nloaders[\"c_cpp\"] = () => import(\n\t/* webpackChunkName: \"h-mode\" */\n\t\"brace/mode/c_cpp\"\n\t);\nloaders[\"coffee\"] = () => import\n\t/* webpackChunkName: \"coffee-mode\" */(\n\t\"brace/mode/coffee\"\n\t);\nloaders[\"cs\"] = () => import(\n\t/* webpackChunkName: \"cs-mode\" */\n\t\"brace/mode/csharp\"\n\t);\nloaders[\"css\"] = () => import(\n\t/* webpackChunkName: \"css-mode\" */\n\t\"brace/mode/css\"\n\t);\nloaders[\"groovy\"] = () => import\n\t/* webpackChunkName: \"groovy-mode\" */(\n\t\"brace/mode/groovy\"\n\t);\nloaders[\"html\"] = () => import(\n\t/* webpackChunkName: \"html-mode\" */\n\t\"brace/mode/html\"\n\t);\nloaders[\"java\"] = () => import(\n\t/* webpackChunkName: \"java-mode\" */\n\t\"brace/mode/java\"\n\t);\nloaders[\"javascript\"] = () => import(\n\t/* webpackChunkName: \"js-mode\" */\n\t\"brace/mode/javascript\"\n\t);\nloaders[\"json\"] = () => import(\n\t/* webpackChunkName: \"json-mode\" */\n\t\"brace/mode/json\"\n\t);\nloaders[\"latex\"] = () => import(\n\t/* webpackChunkName: \"latex-mode\" */\n\t\"brace/mode/latex\"\n\t);\nloaders[\"less\"] = () => import(\n\t/* webpackChunkName: \"less-mode\" */\n\t\"brace/mode/less\"\n\t);\nloaders[\"lua\"] = () => import(\n\t/* webpackChunkName: \"lua-mode\" */\n\t\"brace/mode/lua\"\n\t);\nloaders[\"markdown\"] = () => import(\n\t/* webpackChunkName: \"markdown-mode\" */\n\t\"brace/mode/markdown\"\n\t);\nloaders[\"ocaml\"] = () => import(\n\t/* webpackChunkName: \"ml-mode\" */\n\t\"brace/mode/ocaml\"\n\t);\nloaders[\"perl\"] = () => import(\n\t/* webpackChunkName: \"pl-mode\" */\n\t\"brace/mode/perl\"\n\t);\nloaders[\"php\"] = () => import(\n\t/* webpackChunkName: \"php-mode\" */\n\t\"brace/mode/php\"\n\t);\nloaders[\"powershell\"] = () => import(\n\t/* webpackChunkName: \"ps1-mode\" */\n\t\"brace/mode/powershell\"\n\t);\nloaders[\"python\"] = () => import(\n\t/* webpackChunkName: \"py-mode\" */\n\t\"brace/mode/python\"\n\t);\nloaders[\"ruby\"] = () => import(\n\t/* webpackChunkName: \"rb-mode\" */\n\t\"brace/mode/ruby\"\n\t);\nloaders[\"scad\"] = () => import(\n\t/* webpackChunkName: \"scad-mode\" */\n\t\"brace/mode/scad\"\n\t); // seems to be something like 3d model files printed with e.g. reprap\nloaders[\"scala\"] = () => import(\n\t/* webpackChunkName: \"scala-mode\" */\n\t\"brace/mode/scala\"\n\t);\nloaders[\"scss\"] = () => import(\n\t/* webpackChunkName: \"scss-mode\" */\n\t\"brace/mode/scss\"); // \"sassy css\"\nloaders[\"sh\"] = () => import(\n\t/* webpackChunkName: \"sh-mode\" */\n\t\"brace/mode/sh\"\n\t);\nloaders[\"sql\"] = () => import(\n\t/* webpackChunkName: \"sql-mode\" */\n\t\"brace/mode/sql\"\n\t);\nloaders[\"svg\"] = () => import(\n\t/* webpackChunkName: \"svg-mode\" */\n\t\"brace/mode/svg\"\n\t);\nloaders[\"textile\"] = () => import(\n\t/* webpackChunkName: \"textile-mode\" */\n\t\"brace/mode/textile\"); // related to markdown\nloaders[\"xml\"] = () => import(\n\t/* webpackChunkName: \"xml-mode\" */\n\t\"brace/mode/xml\"\n\t);\n\nexport function getSyntaxMode (extension) {\n\tconst type = filetype[extension];\n\tif (type) {\n\t\t// Then it must be in the array, so load the custom syntax mode\n\t\t// Set the syntax mode\n\t\treturn loaders[type]().then(() => {\n\t\t\treturn type;\n\t\t});\n\t}\n\n\treturn $.when();\n}\n\n\n\n// WEBPACK FOOTER //\n// ./js/SyntaxMode.js","import {getSyntaxMode} from './SyntaxMode';\nimport importAce from './ImportAce';\n\n/** @type array[] supportedMimeTypes */\nconst supportedMimeTypes = require('./supported_mimetypes.json');\n\nlet ace;\nexport const Texteditor = {\n\n\t/**\n\t * Holds the editor container\n\t */\n\t$container: null,\n\n\t/**\n\t * Holds the editor element ID\n\t */\n\teditor: 'editor',\n\n\t/**\n\t * Stores info on the file being edited\n\t */\n\tfile: {\n\t\tedited: false,\n\t\tmtime: null,\n\t\tdir: null,\n\t\tname: null,\n\t\twriteable: null,\n\t\tmime: null,\n\t\tsize: null\n\t},\n\n\t/**\n\t * Stored the saving state\n\t */\n\tsaving: false,\n\n\t/**\n\t * Current files app context\n\t */\n\tcurrentContext: null,\n\n\t/**\n\t * Stores the autosave timer\n\t */\n\tsaveTimer: null,\n\n\t/**\n\t * Stores the old page title\n\t */\n\toldTitle: null,\n\n\t/**\n\t * Stores the timeout for the saving message\n\t */\n\tsaveMessageTimeout: null,\n\n\t/**\n\t * preview plugins by mimetype\n\t */\n\tpreviewPlugins: {},\n\n\tregisterPreviewPlugin: function (mimeType, plugin) {\n\t\tthis.previewPlugins[mimeType] = plugin;\n\t},\n\n\tpreviewPluginsLoaded: {},\n\n\t/**\n\t * preview element\n\t */\n\tpreview: null,\n\n\tpreviewPluginOnChange: null,\n\n\t/**\n\t * Save handler, triggered by the button, or keyboard\n\t */\n\t_onSaveTrigger: function () {\n\t\t// Don't save if not edited\n\t\tif (!Texteditor.file.edited) {\n\t\t\treturn;\n\t\t}\n\t\t// Don't try to save twice\n\t\tif (Texteditor.saving) {\n\t\t\treturn;\n\t\t} else {\n\t\t\tTexteditor.saving = true;\n\t\t\tTexteditor.file.edited = false;\n\t\t}\n\n\t\t// Can any fade outs on the saving message\n\t\tclearTimeout(Texteditor.saveMessageTimeout);\n\n\t\t// Set the saving status\n\t\tvar $message = $('#editor_controls').find('small.saving-message');\n\t\t$message.text(t('files_texteditor', 'saving...'))\n\t\t\t.show();\n\t\t// Send to server\n\t\tTexteditor.saveFile(\n\t\t\twindow.aceEditor.getSession().getValue(),\n\t\t\tTexteditor.file,\n\t\t\tfunction (data) {\n\t\t\t\t// Yay\n\t\t\t\tif (Texteditor.file.edited == false) {\n\t\t\t\t\tdocument.title = Texteditor.file.name + ' - ' + Texteditor.oldTitle;\n\t\t\t\t\t$('small.unsaved-star').css('display', 'none');\n\t\t\t\t}\n\t\t\t\tTexteditor.file.mtime = data.mtime;\n\t\t\t\tTexteditor.file.size = data.size;\n\n\t\t\t\t$message.text(t('files_texteditor', 'saved!'));\n\t\t\t\tTexteditor.saveMessageTimeout = setTimeout(function () {\n\t\t\t\t\t$('small.saving-message').fadeOut(200);\n\t\t\t\t}, 2000);\n\t\t\t},\n\t\t\tfunction (message) {\n\t\t\t\t// Boo\n\t\t\t\tif (typeof message == 'undefined') {\n\t\t\t\t\t$('small.saving-message').text(t('files_texteditor', 'failed!'));\n\t\t\t\t} else {\n\t\t\t\t\t$('small.saving-message').text(message);\n\t\t\t\t}\n\t\t\t\tTexteditor.saveMessageTimeout = setTimeout(function () {\n\t\t\t\t\t$('small.saving-message').fadeOut(200);\n\t\t\t\t}, 5000);\n\t\t\t\tTexteditor.file.edited = true;\n\t\t\t}\n\t\t);\n\t\tTexteditor.saving = false;\n\t\twindow.aceEditor.focus();\n\t},\n\n\t/**\n\t * Handles on close button click\n\t */\n\t_onCloseTrigger: function () {\n\t\t// Hide or close?\n\t\tif (!Texteditor.file.edited) {\n\t\t\tTexteditor.closeEditor();\n\t\t} else {\n\t\t\t// Trick the autosave attempt into thinking we have no changes\n\t\t\tTexteditor.file.edited = false;\n\t\t\t// Hide the editor\n\t\t\tTexteditor.hideEditor();\n\t\t\t// Try to save\n\t\t\tTexteditor.saveFile(\n\t\t\t\twindow.aceEditor.getSession().getValue(),\n\t\t\t\tTexteditor.file,\n\t\t\t\tfunction () {\n\t\t\t\t\tOC.Notification.showTemporary(t(\n\t\t\t\t\t\t'files_texteditor',\n\t\t\t\t\t\t'Saved'\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t\t// Remove the editor\n\t\t\t\t\tTexteditor.closeEditor();\n\t\t\t\t},\n\t\t\t\tfunction () {\n\t\t\t\t\tOC.Notification.showTemporary(t(\n\t\t\t\t\t\t'files_texteditor',\n\t\t\t\t\t\t'There was a problem saving your changes. Click to resume editing.'\n\t\t\t\t\t));\n\t\t\t\t\t$('#notification').data('reopeneditor', true).on(\n\t\t\t\t\t\t'click',\n\t\t\t\t\t\tTexteditor._onReOpenTrigger\n\t\t\t\t\t);\n\t\t\t\t\tTexteditor.file.edited = true;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t},\n\n\t/**\n\t * Handles the trigger or re open editor\n\t */\n\t_onReOpenTrigger: function () {\n\t\tif ($('#notification').data('reopeneditor') == true) {\n\t\t\tdocument.title = Texteditor.file.name + ' - ' + Texteditor.oldTitle;\n\t\t\tTexteditor.$container.show();\n\t\t}\n\t},\n\n\t/**\n\t * Handles the FileAction click event\n\t */\n\t_onEditorTrigger: function (filename, context) {\n\t\tthis.currentContext = context;\n\t\tthis.file.name = filename;\n\t\tthis.file.dir = context.dir;\n\t\tthis.fileList = context.fileList;\n\t\timportAce().then((_ace) => {\n\t\t\tace = _ace;\n\t\t\tthis.loadEditor(\n\t\t\t\tTexteditor.$container,\n\t\t\t\tTexteditor.file\n\t\t\t);\n\t\t\thistory.pushState({\n\t\t\t\tfile: filename,\n\t\t\t\tdir: context.dir\n\t\t\t}, 'Editor', '#editor');\n\t\t});\n\t},\n\n\t/**\n\t * Handler for edits detected\n\t */\n\t_onEdit: function () {\n\t\tif (!Texteditor.file.edited) {\n\t\t\tTexteditor.file.edited = true;\n\t\t\tif (!Texteditor.saving) {\n\t\t\t\tTexteditor._onUnsaved();\n\t\t\t}\n\t\t}\n\t\tif (this.previewPluginOnChange) {\n\t\t\tvar text = window.aceEditor.getSession().getValue();\n\t\t\tthis.previewPluginOnChange(text, this.preview);\n\t\t}\n\t},\n\n\t/**\n\t * Handler when unsaved work is detected\n\t */\n\t_onUnsaved: function () {\n\t\tdocument.title = '* ' + Texteditor.file.name + ' - ' + Texteditor.oldTitle;\n\t\t$('small.unsaved-star').css('display', 'inline-block');\n\t},\n\n\t/**\n\t * Setup on page load\n\t */\n\tinitialize: function (container) {\n\t\t// Don't load if not in the files app TODO: Fix for sharing\n\t\tif (!$('#content.app-files').length) {\n\t\t\treturn;\n\t\t}\n\t\tthis.$container = container;\n\t\tthis.registerFileActions();\n\t\tthis.oldTitle = document.title;\n\t},\n\n\t/**\n\t * Registers the file actions\n\t */\n\tregisterFileActions: function () {\n\t\tsupportedMimeTypes.forEach((mime) => {\n\t\t\tOCA.Files.fileActions.registerAction({\n\t\t\t\tname: 'Edit in plain text editor',\n\t\t\t\tmime: mime,\n\t\t\t\tactionHandler: this._onEditorTrigger.bind(this),\n\t\t\t\tpermissions: OC.PERMISSION_READ,\n\t\t\t\ticon: function () {\n\t\t\t\t\treturn OC.imagePath('core', 'actions/edit');\n\t\t\t\t}\n\t\t\t});\n\t\t\tOCA.Files.fileActions.setDefault(mime, 'Edit in plain text editor');\n\t\t});\n\t},\n\n\t/**\n\t * Actually fire up the editor in a container\n\t */\n\tloadEditor: function (container, file) {\n\t\tvar _self = this;\n\t\t// Insert the editor into the container\n\t\tcontainer.html(\n\t\t\t'<div id=\"editor_overlay\"></div>'\n\t\t\t+'<div id=\"editor_container\" class=\"icon-loading\">'\n\t\t\t+'<div id=\"editor_wrap\"><div id=\"editor\"></div>'\n\t\t\t+'<div id=\"preview_wrap\"><div id=\"preview\"></div></div></div></div>');\n\t\t$('#content').append(container);\n\n\t\t// Get the file data\n\t\tthis.loadFile(\n\t\t\tfile.dir,\n\t\t\tfile.name,\n\t\t\tfunction (file, data) {\n\t\t\t\t// Success!\n\t\t\t\t// Sort the title\n\t\t\t\tdocument.title = file.name + ' - ' + Texteditor.oldTitle;\n\t\t\t\t// Load ace\n\t\t\t\t$('#' + _self.editor).text(data);\n\t\t\t\t// Remove loading\n\t\t\t\t$('#editor_container').removeClass('icon-loading');\n\t\t\t\t// Configure ace\n\t\t\t\t_self.configureACE(file);\n\t\t\t\t// Show the controls\n\t\t\t\t_self.loadControlBar(file);\n\t\t\t\twindow.aceEditor.getSession().on('change', _self.setupAutosave);\n\t\t\t\t_self.bindVisibleActions();\n\t\t\t\twindow.aceEditor.focus();\n\n\t\t\t\tif (_self.previewPlugins[file.mime]) {\n\t\t\t\t\t_self.preview = container.find('#preview');\n\t\t\t\t\t_self.preview.addClass(file.mime.replace('/', '-'));\n\t\t\t\t\tcontainer.find('#editor_container').addClass('hasPreview');\n\t\t\t\t\t_self.previewPluginOnChange = _.debounce(function (text, element) {\n\t\t\t\t\t\t_self.loadPreviewPlugin(file.mime).then(function () {\n\t\t\t\t\t\t\t_self.previewPlugins[file.mime].preview(text, element);\n\t\t\t\t\t\t});\n\t\t\t\t\t}, 200);\n\t\t\t\t\tvar text = window.aceEditor.getSession().getValue();\n\t\t\t\t\t_self.previewPluginOnChange(text, _self.preview);\n\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\twindow.aceEditor.resize();\n\t\t\t\t\t}, 500);\n\t\t\t\t\t_self.loadPreviewControlBar();\n\t\t\t\t} else {\n\t\t\t\t\t_self.previewPluginOnChange = null;\n\t\t\t\t}\n\t\t\t},\n\t\t\tfunction (message) {\n\t\t\t\t// Oh dear\n\t\t\t\tOC.dialogs.alert(message, t('files_texteditor', 'An error occurred!'));\n\t\t\t\t_self.closeEditor();\n\t\t\t});\n\t},\n\n\tloadPreviewPlugin: function (mime) {\n\t\tif (this.previewPluginsLoaded[mime]) {\n\t\t\treturn $.Deferred().resolve().promise();\n\t\t}\n\t\tthis.previewPluginsLoaded[mime] = true;\n\t\tvar plugin = this.previewPlugins[mime];\n\t\treturn $.when(plugin.init());\n\t},\n\n\t/**\n\t * Load the editor control bar\n\t */\n\tloadControlBar: function (file) {\n\t\tvar html =\n\t\t\t'<small class=\"filename\">' + escapeHTML(file.name) + '</small>'\n\t\t\t+ '<small class=\"unsaved-star\" style=\"display: none\">*</small>'\n\t\t\t+ '<small class=\"saving-message\">'\n\t\t\t+ '</small>'\n\t\t\t+ '<button id=\"editor_close\" class=\"icon-close svg\"></button>';\n\t\tvar controlBar = $('<div id=\"editor_controls\"></div>').html(html);\n\t\t$('#editor_wrap').before(controlBar);\n\t\tthis.setFilenameMaxLength();\n\t\tthis.bindControlBar();\n\n\t},\n\n\tsetPreviewMode: function (mode) {\n\t\tvar container = $('#app-content-texteditor');\n\t\tvar controlBar = $('#preview_editor_controls');\n\t\tcontrolBar.find('button').removeClass('active');\n\t\tcontrolBar.find('button[data-type=\"' + mode + '\"]').addClass('active');\n\t\tswitch (mode) {\n\t\t\tcase 'mixed':\n\t\t\t\tcontainer.find('#editor_container').addClass('hasPreview');\n\t\t\t\tcontainer.find('#editor_container').removeClass('onlyPreview');\n\t\t\t\tbreak;\n\t\t\tcase 'text':\n\t\t\t\tcontainer.find('#editor_container').removeClass('hasPreview');\n\t\t\t\tcontainer.find('#editor_container').removeClass('onlyPreview');\n\t\t\t\tbreak;\n\t\t\tcase 'image':\n\t\t\t\tcontainer.find('#editor_container').addClass('hasPreview');\n\t\t\t\tcontainer.find('#editor_container').addClass('onlyPreview');\n\t\t\t\tbreak;\n\t\t}\n\t\tsetTimeout(function() {\n\t\t\twindow.aceEditor.resize();\n\t\t}, 500);\n\t},\n\n\tloadPreviewControlBar: function () {\n\t\tvar makeButton = function (type, tooltip, active) {\n\t\t\tvar button = $('<button/>');\n\t\t\tbutton.tooltip({\n\t\t\t\ttitle: tooltip,\n\t\t\t\tcontainer: 'body',\n\t\t\t\tplacement: 'bottom',\n\t\t\t\tdelay: {show: 500, hide: 0}\n\t\t\t});\n\t\t\tif (active) {\n\t\t\t\tbutton.addClass('active');\n\t\t\t}\n\t\t\tbutton.click(this.setPreviewMode.bind(this, type));\n\t\t\tbutton.attr('data-type', type);\n\t\t\treturn button.css('background-image', 'url(\"' + OC.imagePath('files_texteditor', type) + '\")');\n\t\t}.bind(this);\n\n\t\tvar controls = $('<span/>').attr('id', 'preview_editor_controls');\n\t\tcontrols.append(makeButton('text', t('files_texteditor', 'Edit')));\n\t\tcontrols.append(makeButton('mixed', t('files_texteditor', 'Mixed'), true));\n\t\tcontrols.append(makeButton('image', t('files_texteditor', 'Preview')));\n\t\t$('#editor_close').after(controls);\n\t},\n\n\t/**\n\t * Removes the control bar\n\t */\n\tunloadControlBar: function () {\n\t\t$('#editor_controls').remove();\n\t},\n\n\t/**\n\t * Set the max width of the filename to prevent wrapping\n\t */\n\tsetFilenameMaxLength: function () {\n\t\t// Get the width of the control bar\n\t\tvar controlBar = $('#editor_controls').width();\n\t\t// Get the width of all of the other controls\n\t\tvar controls = $('small.saving-message').outerWidth(true);\n\t\tcontrols += $('small.unsaved-star').outerWidth(true);\n\t\tcontrols += $('#editor_close').outerWidth(true);\n\t\t// Set the max width\n\t\t$('small.filename').css('max-width', controlBar - controls - 28);\n\t},\n\n\t/**\n\t * Binds the control events on the control bar\n\t */\n\tbindControlBar: function () {\n\t\t$('#editor_close').on('click', _.bind(this._onCloseTrigger, this));\n\t\t$(window).resize(Texteditor.setFilenameMaxLength);\n\t\twindow.onpopstate = function () {\n\t\t\tvar hash = location.hash.substr(1);\n\t\t\tif (hash.substr(0, 6) !== 'editor') {\n\t\t\t\tthis._onCloseTrigger();\n\t\t\t}\n\t\t}.bind(this);\n\t},\n\n\t/**\n\t * Configure the ACE editor\n\t */\n\tconfigureACE: function (file) {\n\t\twindow.aceEditor = ace.edit(this.editor);\n\t\taceEditor.getSession().setNewLineMode(\"windows\");\n\t\taceEditor.setShowPrintMargin(false);\n\t\taceEditor.getSession().setUseWrapMode(true);\n\t\tif (!file.writeable) {\n\t\t\taceEditor.setReadOnly(true);\n\t\t}\n\t\tif (file.mime && file.mime === 'text/html') {\n\t\t\tthis.setEditorSyntaxMode('html');\n\t\t} else {\n\t\t\t// Set the syntax mode based on the file extension\n\t\t\tthis.setEditorSyntaxMode(\n\t\t\t\tfile.name.split('.')[file.name.split('.').length - 1]\n\t\t\t);\n\t\t}\n\t\t// Set the theme\n\t\timport('brace/theme/clouds').then(() => {\n\t\t\twindow.aceEditor.setTheme(\"ace/theme/clouds\");\n\t\t});\n\t\t// Bind the edit event\n\t\twindow.aceEditor.getSession().on('change', this._onEdit.bind(this));\n\t\t// Bind save trigger\n\t\twindow.aceEditor.commands.addCommand({\n\t\t\tname: \"save\",\n\t\t\tbindKey: {\n\t\t\t\twin: \"Ctrl-S\",\n\t\t\t\tmac: \"Command-S\",\n\t\t\t\tsender: \"editor\"\n\t\t\t},\n\t\t\texec: Texteditor._onSaveTrigger\n\t\t});\n\n\t\t// disable Ctrl-T shortcut in ace to allow new tab feature in browser\n\t\twindow.aceEditor.commands.removeCommand(window.aceEditor.commands.byName.transposeletters);\n\t},\n\n\t/**\n\t * Sets the syntax highlighting for the editor based on the file extension\n\t */\n\tsetEditorSyntaxMode: function (extension) {\n\t\tgetSyntaxMode(extension).then(function (mode) {\n\t\t\tif (mode) {\n\t\t\t\twindow.aceEditor.getSession().setMode(`ace/mode/${mode}`);\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n\t * Loads the data through AJAX\n\t */\n\tloadFile: function (dir, filename, success, failure) {\n\t\t$.get(\n\t\t\tOC.generateUrl('/apps/files_texteditor/ajax/loadfile'),\n\t\t\t{\n\t\t\t\tfilename: filename,\n\t\t\t\tdir: dir\n\t\t\t}\n\t\t).done(function (data) {\n\t\t\t// Call success callback\n\t\t\tTexteditor.file.writeable = data.writeable;\n\t\t\tTexteditor.file.mime = data.mime;\n\t\t\tTexteditor.file.mtime = data.mtime;\n\t\t\tsuccess(Texteditor.file, data.filecontents);\n\t\t}).fail(function (jqXHR) {\n\t\t\tfailure(JSON.parse(jqXHR.responseText).message);\n\t\t});\n\t},\n\n/**\n * Send the new file data back to the server\n */\nsaveFile: function (data, file, success, failure) {\n\t// Send the post request\n\tvar path = file.dir + file.name;\n\tif (file.dir !== '/') {\n\t\tpath = file.dir + '/' + file.name;\n\t}\n\t$.ajax({\n\t\ttype: 'PUT',\n\t\turl: OC.generateUrl('/apps/files_texteditor/ajax/savefile'),\n\t\tdata: {\n\t\t\tfilecontents: data,\n\t\t\tpath: path,\n\t\t\tmtime: file.mtime\n\t\t}\n\t})\n\t\t.done(success)\n\t\t.fail(function (jqXHR) {\n\t\t\tvar message;\n\n\t\t\ttry {\n\t\t\t\tmessage = JSON.parse(jqXHR.responseText).message;\n\t\t\t} catch (e) {\n\t\t\t}\n\n\t\t\tfailure(message);\n\t\t});\n},\n\n/**\n * Close the editor for good\n */\ncloseEditor: function () {\n\tthis.$container.html('').show();\n\tthis.unloadControlBar();\n\tthis.unBindVisibleActions();\n\tvar fileInfoModel = this.fileList.getModelForFile(this.file.name);\n\tif (fileInfoModel) {\n\t\tfileInfoModel.set({\n\t\t\t// temp dummy, until we can do a PROPFIND\n\t\t\tetag: fileInfoModel.get('id') + this.file.mtime,\n\t\t\tmtime: this.file.mtime * 1000,\n\t\t\tsize: this.file.size\n\t\t});\n\t}\n\tdocument.title = this.oldTitle;\n},\n\n/**\n * Hide the editor (unsaved changes)\n */\nhideEditor: function () {\n\tthis.$container.hide();\n\tdocument.title = this.oldTitle;\n\tthis.unBindVisibleActions();\n},\n\n/**\n * Configure the autosave timer\n */\n\tsetupAutosave: function () {\n\t\tclearTimeout(this.saveTimer);\n\t\tthis.saveTimer = setTimeout(Texteditor._onSaveTrigger, 3000);\n\t},\n\n\t/**\n\t * Handles event when clicking outside editor\n\t */\n\t_onClickDocument: function (event) {\n\t\t// Check if click was inside the editor or not.\n\t\tif (!$(event.target).closest('#editor_container').length && !$(event.target).closest('.oc-dialog').length) {\n\t\t\t// Edit the editor\n\t\t\tTexteditor._onCloseTrigger();\n\t\t}\n\t},\n\n\t/*\n\t * Binds actions that need to happen whilst the editor is visible\n\t */\n\tbindVisibleActions: function () {\n\t\t$(document).bind('click', this._onClickDocument);\n\t},\n\n\t/**\n\t * Unbinds actions that happen whilst the editor is visible\n\t */\n\tunBindVisibleActions: function () {\n\t\t$(document).unbind('click', this._onClickDocument);\n\t}\n\n};\n\n\n\n// WEBPACK FOOTER //\n// ./js/editor.js","/**\n * ownCloud - Files_Texteditor\n *\n * This file is licensed under the Affero General Public License version 3 or\n * later. See the COPYING file.\n *\n * @author Tom Needham <tom@owncloud.com>\n * @copyright Tom Needham 2015\n */\n\nimport {SidebarPreview} from './sidebarpreview';\nimport {Texteditor} from './editor';\nimport {newFileMenuPlugin} from './newfileplugin';\n\n// convince webpack to load chunks\n__webpack_require__.p = OC.filePath('files_texteditor', 'js', '../build/');\nconst script = document.querySelector('[nonce]');\n__webpack_require__.nc = script['nonce'] || script.getAttribute('nonce');\n\nOCA.Files_Texteditor = Texteditor;\n\nOC.Plugins.register('OCA.Files.NewFileMenu', newFileMenuPlugin);\nOC.Plugins.register('OCA.Files.SidebarPreviewManager', new SidebarPreview());\n\n$(document).ready(function () {\n\t$('#editor').remove();\n\tOCA.Files_Texteditor.initialize($('<div id=\"app-content-texteditor\"></div>'));\n});\n\n\n\n// WEBPACK FOOTER //\n// ./js/index.js","export const newFileMenuPlugin = {\n\n\tattach: function (menu) {\n\t\tvar fileList = menu.fileList;\n\n\t\t// Make text app handle new file creation if enabled\n\t\tif (typeof OCA.Text !== 'undefined') {\n\t\t\treturn;\n\t\t}\n\n\t\t// only attach to main file list, public view is not supported yet\n\t\tif (fileList.id !== 'files') {\n\t\t\treturn;\n\t\t}\n\n\t\t// register the new menu entry\n\t\tmenu.addMenuEntry({\n\t\t\tid: 'file',\n\t\t\tdisplayName: t('files_texteditor', 'New text file'),\n\t\t\ttemplateName: t('files_texteditor', 'New text file.txt'),\n\t\t\ticonClass: 'icon-filetype-text',\n\t\t\tfileType: 'file',\n\t\t\tactionHandler: function (name) {\n\t\t\t\tvar dir = fileList.getCurrentDirectory();\n\t\t\t\t// first create the file\n\t\t\t\tfileList.createFile(name).then(function () {\n\t\t\t\t\t// once the file got successfully created,\n\t\t\t\t\t// open the editor\n\t\t\t\t\tOCA.Files_Texteditor._onEditorTrigger(\n\t\t\t\t\t\tname,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfileList: fileList,\n\t\t\t\t\t\t\tdir: dir\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n};\n\n\n\n// WEBPACK FOOTER //\n// ./js/newfileplugin.js","/*\n * Copyright (c) 2016\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n */\n\nimport {getSyntaxMode} from \"./SyntaxMode\";\nimport importAce from './ImportAce';\n\n/** @type array[] supportedMimeTypes */\nconst supportedMimeTypes = require('./supported_mimetypes.json');\n\nexport class SidebarPreview {\n\tattach (manager) {\n\t\tconst handler = this.handlePreview.bind(this);\n\t\tsupportedMimeTypes.forEach(value => manager.addPreviewHandler(value, handler));\n\t}\n\n\thandlePreview (model, $thumbnailDiv, $thumbnailContainer, fallback) {\n\t\tconst previewWidth = $thumbnailContainer.parent().width() + 50; // 50px for negative margins\n\t\tconst previewHeight = previewWidth / (16 / 9);\n\n\t\tthis.getFileContent(model.getFullPath()).then(function (content) {\n\t\t\tcontent = content.filecontents;\n\t\t\t$thumbnailDiv.removeClass('icon-loading icon-32');\n\t\t\t$thumbnailContainer.addClass('large');\n\t\t\t$thumbnailContainer.addClass('text');\n\t\t\tconst $editorDiv = $(\"<div id='sidebar_editor'/>\");\n\t\t\t$editorDiv.text(content);\n\t\t\t$thumbnailDiv.children('.stretcher').remove();\n\t\t\t$thumbnailDiv.append($editorDiv);\n\t\t\timportAce().then((imports) => {\n\t\t\t\tconst editor = imports.edit('sidebar_editor');\n\t\t\t\teditor.setReadOnly(true);\n\t\t\t\tlet syntaxModePromise;\n\t\t\t\tif (model.get('mimetype') === 'text/html') {\n\t\t\t\t\tsyntaxModePromise = getSyntaxMode('html');\n\t\t\t\t} else {\n\t\t\t\t\t// Set the syntax mode based on the file extension\n\t\t\t\t\tsyntaxModePromise = getSyntaxMode(\n\t\t\t\t\t\tmodel.get('name').split('.')[model.get('name').split('.').length - 1]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tsyntaxModePromise.then(function (mode) {\n\t\t\t\t\tif (mode) {\n\t\t\t\t\t\teditor.getSession().setMode(`ace/mode/${mode}`);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t// Set the theme\n\t\t\t\timport('brace/theme/clouds').then(() => {\n\t\t\t\t\teditor.setTheme(\"ace/theme/clouds\");\n\t\t\t\t});\n\t\t\t\t$editorDiv.css(\"height\", previewHeight);\n\t\t\t\t$editorDiv.css(\"width\", previewWidth);\n\t\t\t});\n\t\t}, function () {\n\t\t\tfallback();\n\t\t});\n\t}\n\n\tgetFileContent (path) {\n\t\tconst parts = path.split('/');\n\t\tconst dir = parts.slice(0, -1).join('');\n\t\tconst file = parts.slice(-1).join('');\n\n\t\treturn $.ajax({\n\t\t\turl: OC.generateUrl('/apps/files_texteditor/ajax/loadfile'),\n\t\t\tdata: {\n\t\t\t\tfilename: file,\n\t\t\t\tdir: dir\n\t\t\t},\n\t\t\theaders: {\n\t\t\t\t'Range': 'bytes=0-10240'\n\t\t\t}\n\t\t});\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./js/sidebarpreview.js","module.exports = [\"text\",\"application/cmd\",\"application/javascript\",\"application/json\",\"application/xml\",\"application/x-empty\",\"application/x-msdos-program\",\"application/x-php\",\"application/x-pearl\",\"application/x-text\",\"application/yaml\"]\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./js/supported_mimetypes.json\n// module id = ./js/supported_mimetypes.json\n// module chunks = 30"],"sourceRoot":""} \ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/bootstrap 4bfd94912308a7356dc6","webpack:///./js/ImportAce.js","webpack:///./js/SyntaxMode.js","webpack:///./js/editor.js","webpack:///./js/index.js","webpack:///./js/newfileplugin.js","webpack:///./js/sidebarpreview.js","webpack:///./js/supported_mimetypes.json"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","installedModules","30","__webpack_require__","exports","module","l","e","installedChunkData","Promise","resolve","promise","reject","head","document","getElementsByTagName","script","createElement","type","charset","async","timeout","nc","setAttribute","src","p","1","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","23","24","25","26","27","28","29","setTimeout","onScriptComplete","onerror","onload","clearTimeout","chunk","Error","undefined","appendChild","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","oe","err","console","error","s","__webpack_exports__","then","bind","extension","filetype","loaders","$","when","supportedMimeTypes","ace","Texteditor","$container","editor","file","edited","mtime","dir","writeable","mime","size","saving","currentContext","saveTimer","oldTitle","saveMessageTimeout","previewPlugins","registerPreviewPlugin","mimeType","plugin","this","previewPluginsLoaded","preview","previewPluginOnChange","_onSaveTrigger","$message","find","text","t","show","saveFile","aceEditor","getSession","getValue","data","title","css","fadeOut","message","focus","_onCloseTrigger","hideEditor","OC","Notification","showTemporary","closeEditor","on","_onReOpenTrigger","_onEditorTrigger","filename","context","_this","fileList","__WEBPACK_IMPORTED_MODULE_1__ImportAce__","_ace","loadEditor","history","pushState","_onEdit","_onUnsaved","initialize","container","registerFileActions","_this2","forEach","OCA","Files","fileActions","registerAction","actionHandler","permissions","PERMISSION_READ","icon","imagePath","setDefault","_self","html","append","loadFile","removeClass","configureACE","loadControlBar","setupAutosave","bindVisibleActions","addClass","replace","_","debounce","element","loadPreviewPlugin","resize","loadPreviewControlBar","dialogs","alert","Deferred","init","escapeHTML","controlBar","before","setFilenameMaxLength","bindControlBar","setPreviewMode","mode","makeButton","tooltip","active","button","placement","delay","hide","click","attr","controls","after","unloadControlBar","remove","width","outerWidth","onpopstate","location","hash","substr","edit","setNewLineMode","setShowPrintMargin","setUseWrapMode","setReadOnly","setEditorSyntaxMode","split","setTheme","commands","addCommand","bindKey","win","mac","sender","exec","removeCommand","byName","transposeletters","__WEBPACK_IMPORTED_MODULE_0__SyntaxMode__","setMode","success","failure","generateUrl","done","filecontents","fail","jqXHR","JSON","parse","responseText","path","ajax","url","unBindVisibleActions","fileInfoModel","getModelForFile","set","etag","_onClickDocument","event","target","closest","unbind","__WEBPACK_IMPORTED_MODULE_2__newfileplugin__","filePath","querySelector","getAttribute","Files_Texteditor","__WEBPACK_IMPORTED_MODULE_1__editor__","Plugins","register","__WEBPACK_IMPORTED_MODULE_0__sidebarpreview__","ready","newFileMenuPlugin","attach","menu","Text","id","addMenuEntry","displayName","templateName","iconClass","fileType","getCurrentDirectory","createFile","SidebarPreview","_classCallCheck","_createClass","key","value","manager","handler","handlePreview","addPreviewHandler","model","$thumbnailDiv","$thumbnailContainer","fallback","previewWidth","parent","previewHeight","getFileContent","getFullPath","content","$editorDiv","children","imports","parts","slice","join","headers","Range"],"mappings":"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","file":"editor.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonpTexteditor\"];\n \twindow[\"webpackJsonpTexteditor\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t30: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData === 0) {\n \t\t\treturn new Promise(function(resolve) { resolve(); });\n \t\t}\n\n \t\t// a Promise means \"currently loading\".\n \t\tif(installedChunkData) {\n \t\t\treturn installedChunkData[2];\n \t\t}\n\n \t\t// setup Promise in chunk cache\n \t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t});\n \t\tinstalledChunkData[2] = promise;\n\n \t\t// start chunk loading\n \t\tvar head = document.getElementsByTagName('head')[0];\n \t\tvar script = document.createElement('script');\n \t\tscript.type = \"text/javascript\";\n \t\tscript.charset = 'utf-8';\n \t\tscript.async = true;\n \t\tscript.timeout = 120000;\n\n \t\tif (__webpack_require__.nc) {\n \t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t}\n \t\tscript.src = __webpack_require__.p + \"\" + ({\"1\":\"markdown-mode\",\"2\":\"php-mode\",\"3\":\"html-mode\",\"4\":\"svg-mode\",\"5\":\"xml-mode\",\"6\":\"scala-mode\",\"7\":\"lua-mode\",\"8\":\"json-mode\",\"9\":\"js-mode\",\"10\":\"java-mode\",\"11\":\"groovy-mode\",\"12\":\"css-mode\",\"13\":\"coffee-mode\",\"14\":\"ace\",\"15\":\"textile-mode\",\"16\":\"sql-mode\",\"17\":\"sh-mode\",\"18\":\"scss-mode\",\"19\":\"scad-mode\",\"20\":\"rb-mode\",\"21\":\"py-mode\",\"22\":\"ps1-mode\",\"23\":\"pl-mode\",\"24\":\"ml-mode\",\"25\":\"less-mode\",\"26\":\"latex-mode\",\"27\":\"cs-mode\",\"28\":\"h-mode\",\"29\":\"bat-mode\"}[chunkId]||chunkId) + \".bundle.js\";\n \t\tvar timeout = setTimeout(onScriptComplete, 120000);\n \t\tscript.onerror = script.onload = onScriptComplete;\n \t\tfunction onScriptComplete() {\n \t\t\t// avoid mem leaks in IE.\n \t\t\tscript.onerror = script.onload = null;\n \t\t\tclearTimeout(timeout);\n \t\t\tvar chunk = installedChunks[chunkId];\n \t\t\tif(chunk !== 0) {\n \t\t\t\tif(chunk) {\n \t\t\t\t\tchunk[1](new Error('Loading chunk ' + chunkId + ' failed.'));\n \t\t\t\t}\n \t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t}\n \t\t};\n \t\thead.appendChild(script);\n\n \t\treturn promise;\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./js/index.js\");\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 4bfd94912308a7356dc6","/*\n * @copyright Copyright (c) 2019 Julius Härtl <jus@bitgrid.net>\n *\n * @author Julius Härtl <jus@bitgrid.net>\n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see <http://www.gnu.org/licenses/>.\n *\n */\n\nexport default function() {\n\treturn import(/* webpackChunkName: \"ace\" */'brace')\n}\n\n\n\n// WEBPACK FOOTER //\n// ./js/ImportAce.js","const filetype = {};\n// add file extensions like this: filetype[\"extension\"] = \"filetype\":\nfiletype[\"bat\"] = \"batchfile\";\nfiletype[\"cmd\"] = \"batchfile\";\nfiletype[\"h\"] = \"c_cpp\";\nfiletype[\"c\"] = \"c_cpp\";\nfiletype[\"clj\"] = \"clojure\";\nfiletype[\"coffee\"] = \"coffee\"; // coffescript can be compiled to javascript\nfiletype[\"cpp\"] = \"c_cpp\";\nfiletype[\"cs\"] = \"csharp\";\nfiletype[\"css\"] = \"css\";\nfiletype[\"groovy\"] = \"groovy\";\nfiletype[\"htm\"] = \"html\";\nfiletype[\"html\"] = \"html\";\nfiletype[\"tt\"] = \"html\";\nfiletype[\"java\"] = \"java\";\nfiletype[\"js\"] = \"javascript\";\nfiletype[\"jsm\"] = \"javascript\";\nfiletype[\"json\"] = \"json\";\nfiletype[\"latex\"] = \"latex\";\nfiletype[\"tex\"] = \"latex\";\nfiletype[\"less\"] = \"less\";\nfiletype[\"ly\"] = \"latex\";\nfiletype[\"ily\"] = \"latex\";\nfiletype[\"lua\"] = \"lua\";\nfiletype[\"markdown\"] = \"markdown\";\nfiletype[\"md\"] = \"markdown\";\nfiletype[\"mdown\"] = \"markdown\";\nfiletype[\"mdwn\"] = \"markdown\";\nfiletype[\"mkd\"] = \"markdown\";\nfiletype[\"ml\"] = \"ocaml\";\nfiletype[\"mli\"] = \"ocaml\";\nfiletype[\"pl\"] = \"perl\";\nfiletype[\"php\"] = \"php\";\nfiletype[\"ps1\"] = \"powershell\";\nfiletype[\"py\"] = \"python\";\nfiletype[\"rb\"] = \"ruby\";\nfiletype[\"scad\"] = \"scad\"; // seems to be something like 3d model files printed with e.g. reprap\nfiletype[\"scala\"] = \"scala\";\nfiletype[\"scss\"] = \"scss\"; // \"sassy css\"\nfiletype[\"sh\"] = \"sh\";\nfiletype[\"sql\"] = \"sql\";\nfiletype[\"svg\"] = \"svg\";\nfiletype[\"textile\"] = \"textile\"; // related to markdown\nfiletype[\"xml\"] = \"xml\";\n\nconst loaders = {};\n// add loader like this: loaders[\"filetype\"] = () => require(\"promise?brace/mode/filetype\"):\n\n// note that these require statements can't be generated from the filetypes dynamically\n// to make sure webpack can analyse our dependencies\nloaders[\"batchfile\"] = () => import(\n\t/* webpackChunkName: \"bat-mode\" */\n\t\"brace/mode/batchfile\"\n\t);\nloaders[\"c_cpp\"] = () => import(\n\t/* webpackChunkName: \"h-mode\" */\n\t\"brace/mode/c_cpp\"\n\t);\nloaders[\"coffee\"] = () => import\n\t/* webpackChunkName: \"coffee-mode\" */(\n\t\"brace/mode/coffee\"\n\t);\nloaders[\"cs\"] = () => import(\n\t/* webpackChunkName: \"cs-mode\" */\n\t\"brace/mode/csharp\"\n\t);\nloaders[\"css\"] = () => import(\n\t/* webpackChunkName: \"css-mode\" */\n\t\"brace/mode/css\"\n\t);\nloaders[\"groovy\"] = () => import\n\t/* webpackChunkName: \"groovy-mode\" */(\n\t\"brace/mode/groovy\"\n\t);\nloaders[\"html\"] = () => import(\n\t/* webpackChunkName: \"html-mode\" */\n\t\"brace/mode/html\"\n\t);\nloaders[\"java\"] = () => import(\n\t/* webpackChunkName: \"java-mode\" */\n\t\"brace/mode/java\"\n\t);\nloaders[\"javascript\"] = () => import(\n\t/* webpackChunkName: \"js-mode\" */\n\t\"brace/mode/javascript\"\n\t);\nloaders[\"json\"] = () => import(\n\t/* webpackChunkName: \"json-mode\" */\n\t\"brace/mode/json\"\n\t);\nloaders[\"latex\"] = () => import(\n\t/* webpackChunkName: \"latex-mode\" */\n\t\"brace/mode/latex\"\n\t);\nloaders[\"less\"] = () => import(\n\t/* webpackChunkName: \"less-mode\" */\n\t\"brace/mode/less\"\n\t);\nloaders[\"lua\"] = () => import(\n\t/* webpackChunkName: \"lua-mode\" */\n\t\"brace/mode/lua\"\n\t);\nloaders[\"markdown\"] = () => import(\n\t/* webpackChunkName: \"markdown-mode\" */\n\t\"brace/mode/markdown\"\n\t);\nloaders[\"ocaml\"] = () => import(\n\t/* webpackChunkName: \"ml-mode\" */\n\t\"brace/mode/ocaml\"\n\t);\nloaders[\"perl\"] = () => import(\n\t/* webpackChunkName: \"pl-mode\" */\n\t\"brace/mode/perl\"\n\t);\nloaders[\"php\"] = () => import(\n\t/* webpackChunkName: \"php-mode\" */\n\t\"brace/mode/php\"\n\t);\nloaders[\"powershell\"] = () => import(\n\t/* webpackChunkName: \"ps1-mode\" */\n\t\"brace/mode/powershell\"\n\t);\nloaders[\"python\"] = () => import(\n\t/* webpackChunkName: \"py-mode\" */\n\t\"brace/mode/python\"\n\t);\nloaders[\"ruby\"] = () => import(\n\t/* webpackChunkName: \"rb-mode\" */\n\t\"brace/mode/ruby\"\n\t);\nloaders[\"scad\"] = () => import(\n\t/* webpackChunkName: \"scad-mode\" */\n\t\"brace/mode/scad\"\n\t); // seems to be something like 3d model files printed with e.g. reprap\nloaders[\"scala\"] = () => import(\n\t/* webpackChunkName: \"scala-mode\" */\n\t\"brace/mode/scala\"\n\t);\nloaders[\"scss\"] = () => import(\n\t/* webpackChunkName: \"scss-mode\" */\n\t\"brace/mode/scss\"); // \"sassy css\"\nloaders[\"sh\"] = () => import(\n\t/* webpackChunkName: \"sh-mode\" */\n\t\"brace/mode/sh\"\n\t);\nloaders[\"sql\"] = () => import(\n\t/* webpackChunkName: \"sql-mode\" */\n\t\"brace/mode/sql\"\n\t);\nloaders[\"svg\"] = () => import(\n\t/* webpackChunkName: \"svg-mode\" */\n\t\"brace/mode/svg\"\n\t);\nloaders[\"textile\"] = () => import(\n\t/* webpackChunkName: \"textile-mode\" */\n\t\"brace/mode/textile\"); // related to markdown\nloaders[\"xml\"] = () => import(\n\t/* webpackChunkName: \"xml-mode\" */\n\t\"brace/mode/xml\"\n\t);\n\nexport function getSyntaxMode (extension) {\n\tconst type = filetype[extension];\n\tif (type) {\n\t\t// Then it must be in the array, so load the custom syntax mode\n\t\t// Set the syntax mode\n\t\treturn loaders[type]().then(() => {\n\t\t\treturn type;\n\t\t});\n\t}\n\n\treturn $.when();\n}\n\n\n\n// WEBPACK FOOTER //\n// ./js/SyntaxMode.js","import {getSyntaxMode} from './SyntaxMode';\nimport importAce from './ImportAce';\n\n/** @type array[] supportedMimeTypes */\nconst supportedMimeTypes = require('./supported_mimetypes.json');\n\nlet ace;\nexport const Texteditor = {\n\n\t/**\n\t * Holds the editor container\n\t */\n\t$container: null,\n\n\t/**\n\t * Holds the editor element ID\n\t */\n\teditor: 'editor',\n\n\t/**\n\t * Stores info on the file being edited\n\t */\n\tfile: {\n\t\tedited: false,\n\t\tmtime: null,\n\t\tdir: null,\n\t\tname: null,\n\t\twriteable: null,\n\t\tmime: null,\n\t\tsize: null\n\t},\n\n\t/**\n\t * Stored the saving state\n\t */\n\tsaving: false,\n\n\t/**\n\t * Current files app context\n\t */\n\tcurrentContext: null,\n\n\t/**\n\t * Stores the autosave timer\n\t */\n\tsaveTimer: null,\n\n\t/**\n\t * Stores the old page title\n\t */\n\toldTitle: null,\n\n\t/**\n\t * Stores the timeout for the saving message\n\t */\n\tsaveMessageTimeout: null,\n\n\t/**\n\t * preview plugins by mimetype\n\t */\n\tpreviewPlugins: {},\n\n\tregisterPreviewPlugin: function (mimeType, plugin) {\n\t\tthis.previewPlugins[mimeType] = plugin;\n\t},\n\n\tpreviewPluginsLoaded: {},\n\n\t/**\n\t * preview element\n\t */\n\tpreview: null,\n\n\tpreviewPluginOnChange: null,\n\n\t/**\n\t * Save handler, triggered by the button, or keyboard\n\t */\n\t_onSaveTrigger: function () {\n\t\t// Don't save if not edited\n\t\tif (!Texteditor.file.edited) {\n\t\t\treturn;\n\t\t}\n\t\t// Don't try to save twice\n\t\tif (Texteditor.saving) {\n\t\t\treturn;\n\t\t} else {\n\t\t\tTexteditor.saving = true;\n\t\t\tTexteditor.file.edited = false;\n\t\t}\n\n\t\t// Can any fade outs on the saving message\n\t\tclearTimeout(Texteditor.saveMessageTimeout);\n\n\t\t// Set the saving status\n\t\tvar $message = $('#editor_controls').find('small.saving-message');\n\t\t$message.text(t('files_texteditor', 'saving...'))\n\t\t\t.show();\n\t\t// Send to server\n\t\tTexteditor.saveFile(\n\t\t\twindow.aceEditor.getSession().getValue(),\n\t\t\tTexteditor.file,\n\t\t\tfunction (data) {\n\t\t\t\t// Yay\n\t\t\t\tif (Texteditor.file.edited == false) {\n\t\t\t\t\tdocument.title = Texteditor.file.name + ' - ' + Texteditor.oldTitle;\n\t\t\t\t\t$('small.unsaved-star').css('display', 'none');\n\t\t\t\t}\n\t\t\t\tTexteditor.file.mtime = data.mtime;\n\t\t\t\tTexteditor.file.size = data.size;\n\n\t\t\t\t$message.text(t('files_texteditor', 'saved!'));\n\t\t\t\tTexteditor.saveMessageTimeout = setTimeout(function () {\n\t\t\t\t\t$('small.saving-message').fadeOut(200);\n\t\t\t\t}, 2000);\n\t\t\t},\n\t\t\tfunction (message) {\n\t\t\t\t// Boo\n\t\t\t\tif (typeof message == 'undefined') {\n\t\t\t\t\t$('small.saving-message').text(t('files_texteditor', 'failed!'));\n\t\t\t\t} else {\n\t\t\t\t\t$('small.saving-message').text(message);\n\t\t\t\t}\n\t\t\t\tTexteditor.saveMessageTimeout = setTimeout(function () {\n\t\t\t\t\t$('small.saving-message').fadeOut(200);\n\t\t\t\t}, 5000);\n\t\t\t\tTexteditor.file.edited = true;\n\t\t\t}\n\t\t);\n\t\tTexteditor.saving = false;\n\t\twindow.aceEditor.focus();\n\t},\n\n\t/**\n\t * Handles on close button click\n\t */\n\t_onCloseTrigger: function () {\n\t\t// Hide or close?\n\t\tif (!Texteditor.file.edited) {\n\t\t\tTexteditor.closeEditor();\n\t\t} else {\n\t\t\t// Trick the autosave attempt into thinking we have no changes\n\t\t\tTexteditor.file.edited = false;\n\t\t\t// Hide the editor\n\t\t\tTexteditor.hideEditor();\n\t\t\t// Try to save\n\t\t\tTexteditor.saveFile(\n\t\t\t\twindow.aceEditor.getSession().getValue(),\n\t\t\t\tTexteditor.file,\n\t\t\t\tfunction () {\n\t\t\t\t\tOC.Notification.showTemporary(t(\n\t\t\t\t\t\t'files_texteditor',\n\t\t\t\t\t\t'Saved'\n\t\t\t\t\t\t)\n\t\t\t\t\t);\n\t\t\t\t\t// Remove the editor\n\t\t\t\t\tTexteditor.closeEditor();\n\t\t\t\t},\n\t\t\t\tfunction () {\n\t\t\t\t\tOC.Notification.showTemporary(t(\n\t\t\t\t\t\t'files_texteditor',\n\t\t\t\t\t\t'There was a problem saving your changes. Click to resume editing.'\n\t\t\t\t\t));\n\t\t\t\t\t$('#notification').data('reopeneditor', true).on(\n\t\t\t\t\t\t'click',\n\t\t\t\t\t\tTexteditor._onReOpenTrigger\n\t\t\t\t\t);\n\t\t\t\t\tTexteditor.file.edited = true;\n\t\t\t\t}\n\t\t\t);\n\t\t}\n\t},\n\n\t/**\n\t * Handles the trigger or re open editor\n\t */\n\t_onReOpenTrigger: function () {\n\t\tif ($('#notification').data('reopeneditor') == true) {\n\t\t\tdocument.title = Texteditor.file.name + ' - ' + Texteditor.oldTitle;\n\t\t\tTexteditor.$container.show();\n\t\t}\n\t},\n\n\t/**\n\t * Handles the FileAction click event\n\t */\n\t_onEditorTrigger: function (filename, context) {\n\t\tthis.currentContext = context;\n\t\tthis.file.name = filename;\n\t\tthis.file.dir = context.dir;\n\t\tthis.fileList = context.fileList;\n\t\timportAce().then((_ace) => {\n\t\t\tace = _ace;\n\t\t\tthis.loadEditor(\n\t\t\t\tTexteditor.$container,\n\t\t\t\tTexteditor.file\n\t\t\t);\n\t\t\thistory.pushState({\n\t\t\t\tfile: filename,\n\t\t\t\tdir: context.dir\n\t\t\t}, 'Editor', '#editor');\n\t\t});\n\t},\n\n\t/**\n\t * Handler for edits detected\n\t */\n\t_onEdit: function () {\n\t\tif (!Texteditor.file.edited) {\n\t\t\tTexteditor.file.edited = true;\n\t\t\tif (!Texteditor.saving) {\n\t\t\t\tTexteditor._onUnsaved();\n\t\t\t}\n\t\t}\n\t\tif (this.previewPluginOnChange) {\n\t\t\tvar text = window.aceEditor.getSession().getValue();\n\t\t\tthis.previewPluginOnChange(text, this.preview);\n\t\t}\n\t},\n\n\t/**\n\t * Handler when unsaved work is detected\n\t */\n\t_onUnsaved: function () {\n\t\tdocument.title = '* ' + Texteditor.file.name + ' - ' + Texteditor.oldTitle;\n\t\t$('small.unsaved-star').css('display', 'inline-block');\n\t},\n\n\t/**\n\t * Setup on page load\n\t */\n\tinitialize: function (container) {\n\t\t// Don't load if not in the files app TODO: Fix for sharing\n\t\tif (!$('#content.app-files').length) {\n\t\t\treturn;\n\t\t}\n\t\tthis.$container = container;\n\t\tthis.registerFileActions();\n\t\tthis.oldTitle = document.title;\n\t},\n\n\t/**\n\t * Registers the file actions\n\t */\n\tregisterFileActions: function () {\n\t\tsupportedMimeTypes.forEach((mime) => {\n\t\t\tOCA.Files.fileActions.registerAction({\n\t\t\t\tname: 'Edit in plain text editor',\n\t\t\t\tmime: mime,\n\t\t\t\tactionHandler: this._onEditorTrigger.bind(this),\n\t\t\t\tpermissions: OC.PERMISSION_READ,\n\t\t\t\ticon: function () {\n\t\t\t\t\treturn OC.imagePath('core', 'actions/edit');\n\t\t\t\t}\n\t\t\t});\n\t\t\tOCA.Files.fileActions.setDefault(mime, 'Edit in plain text editor');\n\t\t});\n\t},\n\n\t/**\n\t * Actually fire up the editor in a container\n\t */\n\tloadEditor: function (container, file) {\n\t\tvar _self = this;\n\t\t// Insert the editor into the container\n\t\tcontainer.html(\n\t\t\t'<div id=\"editor_overlay\"></div>'\n\t\t\t+'<div id=\"editor_container\" class=\"icon-loading\">'\n\t\t\t+'<div id=\"editor_wrap\"><div id=\"editor\"></div>'\n\t\t\t+'<div id=\"preview_wrap\"><div id=\"preview\"></div></div></div></div>');\n\t\t$('#content').append(container);\n\n\t\t// Get the file data\n\t\tthis.loadFile(\n\t\t\tfile.dir,\n\t\t\tfile.name,\n\t\t\tfunction (file, data) {\n\t\t\t\t// Success!\n\t\t\t\t// Sort the title\n\t\t\t\tdocument.title = file.name + ' - ' + Texteditor.oldTitle;\n\t\t\t\t// Load ace\n\t\t\t\t$('#' + _self.editor).text(data);\n\t\t\t\t// Remove loading\n\t\t\t\t$('#editor_container').removeClass('icon-loading');\n\t\t\t\t// Configure ace\n\t\t\t\t_self.configureACE(file);\n\t\t\t\t// Show the controls\n\t\t\t\t_self.loadControlBar(file);\n\t\t\t\twindow.aceEditor.getSession().on('change', _self.setupAutosave);\n\t\t\t\t_self.bindVisibleActions();\n\t\t\t\twindow.aceEditor.focus();\n\n\t\t\t\tif (_self.previewPlugins[file.mime]) {\n\t\t\t\t\t_self.preview = container.find('#preview');\n\t\t\t\t\t_self.preview.addClass(file.mime.replace('/', '-'));\n\t\t\t\t\tcontainer.find('#editor_container').addClass('hasPreview');\n\t\t\t\t\t_self.previewPluginOnChange = _.debounce(function (text, element) {\n\t\t\t\t\t\t_self.loadPreviewPlugin(file.mime).then(function () {\n\t\t\t\t\t\t\t_self.previewPlugins[file.mime].preview(text, element);\n\t\t\t\t\t\t});\n\t\t\t\t\t}, 200);\n\t\t\t\t\tvar text = window.aceEditor.getSession().getValue();\n\t\t\t\t\t_self.previewPluginOnChange(text, _self.preview);\n\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\twindow.aceEditor.resize();\n\t\t\t\t\t}, 500);\n\t\t\t\t\t_self.loadPreviewControlBar();\n\t\t\t\t} else {\n\t\t\t\t\t_self.previewPluginOnChange = null;\n\t\t\t\t}\n\t\t\t},\n\t\t\tfunction (message) {\n\t\t\t\t// Oh dear\n\t\t\t\tOC.dialogs.alert(message, t('files_texteditor', 'An error occurred!'));\n\t\t\t\t_self.closeEditor();\n\t\t\t});\n\t},\n\n\tloadPreviewPlugin: function (mime) {\n\t\tif (this.previewPluginsLoaded[mime]) {\n\t\t\treturn $.Deferred().resolve().promise();\n\t\t}\n\t\tthis.previewPluginsLoaded[mime] = true;\n\t\tvar plugin = this.previewPlugins[mime];\n\t\treturn $.when(plugin.init());\n\t},\n\n\t/**\n\t * Load the editor control bar\n\t */\n\tloadControlBar: function (file) {\n\t\tvar html =\n\t\t\t'<small class=\"filename\">' + escapeHTML(file.name) + '</small>'\n\t\t\t+ '<small class=\"unsaved-star\" style=\"display: none\">*</small>'\n\t\t\t+ '<small class=\"saving-message\">'\n\t\t\t+ '</small>'\n\t\t\t+ '<button id=\"editor_close\" class=\"icon-close svg\"></button>';\n\t\tvar controlBar = $('<div id=\"editor_controls\"></div>').html(html);\n\t\t$('#editor_wrap').before(controlBar);\n\t\tthis.setFilenameMaxLength();\n\t\tthis.bindControlBar();\n\n\t},\n\n\tsetPreviewMode: function (mode) {\n\t\tvar container = $('#app-content-texteditor');\n\t\tvar controlBar = $('#preview_editor_controls');\n\t\tcontrolBar.find('button').removeClass('active');\n\t\tcontrolBar.find('button[data-type=\"' + mode + '\"]').addClass('active');\n\t\tswitch (mode) {\n\t\t\tcase 'mixed':\n\t\t\t\tcontainer.find('#editor_container').addClass('hasPreview');\n\t\t\t\tcontainer.find('#editor_container').removeClass('onlyPreview');\n\t\t\t\tbreak;\n\t\t\tcase 'text':\n\t\t\t\tcontainer.find('#editor_container').removeClass('hasPreview');\n\t\t\t\tcontainer.find('#editor_container').removeClass('onlyPreview');\n\t\t\t\tbreak;\n\t\t\tcase 'image':\n\t\t\t\tcontainer.find('#editor_container').addClass('hasPreview');\n\t\t\t\tcontainer.find('#editor_container').addClass('onlyPreview');\n\t\t\t\tbreak;\n\t\t}\n\t\tsetTimeout(function() {\n\t\t\twindow.aceEditor.resize();\n\t\t}, 500);\n\t},\n\n\tloadPreviewControlBar: function () {\n\t\tvar makeButton = function (type, tooltip, active) {\n\t\t\tvar button = $('<button/>');\n\t\t\tbutton.tooltip({\n\t\t\t\ttitle: tooltip,\n\t\t\t\tcontainer: 'body',\n\t\t\t\tplacement: 'bottom',\n\t\t\t\tdelay: {show: 500, hide: 0}\n\t\t\t});\n\t\t\tif (active) {\n\t\t\t\tbutton.addClass('active');\n\t\t\t}\n\t\t\tbutton.click(this.setPreviewMode.bind(this, type));\n\t\t\tbutton.attr('data-type', type);\n\t\t\treturn button.css('background-image', 'url(\"' + OC.imagePath('files_texteditor', type) + '\")');\n\t\t}.bind(this);\n\n\t\tvar controls = $('<span/>').attr('id', 'preview_editor_controls');\n\t\tcontrols.append(makeButton('text', t('files_texteditor', 'Edit')));\n\t\tcontrols.append(makeButton('mixed', t('files_texteditor', 'Mixed'), true));\n\t\tcontrols.append(makeButton('image', t('files_texteditor', 'Preview')));\n\t\t$('#editor_close').after(controls);\n\t},\n\n\t/**\n\t * Removes the control bar\n\t */\n\tunloadControlBar: function () {\n\t\t$('#editor_controls').remove();\n\t},\n\n\t/**\n\t * Set the max width of the filename to prevent wrapping\n\t */\n\tsetFilenameMaxLength: function () {\n\t\t// Get the width of the control bar\n\t\tvar controlBar = $('#editor_controls').width();\n\t\t// Get the width of all of the other controls\n\t\tvar controls = $('small.saving-message').outerWidth(true);\n\t\tcontrols += $('small.unsaved-star').outerWidth(true);\n\t\tcontrols += $('#editor_close').outerWidth(true);\n\t\t// Set the max width\n\t\t$('small.filename').css('max-width', controlBar - controls - 28);\n\t},\n\n\t/**\n\t * Binds the control events on the control bar\n\t */\n\tbindControlBar: function () {\n\t\t$('#editor_close').on('click', _.bind(this._onCloseTrigger, this));\n\t\t$(window).resize(Texteditor.setFilenameMaxLength);\n\t\twindow.onpopstate = function () {\n\t\t\tvar hash = location.hash.substr(1);\n\t\t\tif (hash.substr(0, 6) !== 'editor') {\n\t\t\t\tthis._onCloseTrigger();\n\t\t\t}\n\t\t}.bind(this);\n\t},\n\n\t/**\n\t * Configure the ACE editor\n\t */\n\tconfigureACE: function (file) {\n\t\twindow.aceEditor = ace.edit(this.editor);\n\t\taceEditor.getSession().setNewLineMode(\"windows\");\n\t\taceEditor.setShowPrintMargin(false);\n\t\taceEditor.getSession().setUseWrapMode(true);\n\t\tif (!file.writeable) {\n\t\t\taceEditor.setReadOnly(true);\n\t\t}\n\t\tif (file.mime && file.mime === 'text/html') {\n\t\t\tthis.setEditorSyntaxMode('html');\n\t\t} else {\n\t\t\t// Set the syntax mode based on the file extension\n\t\t\tthis.setEditorSyntaxMode(\n\t\t\t\tfile.name.split('.')[file.name.split('.').length - 1]\n\t\t\t);\n\t\t}\n\t\t// Set the theme\n\t\timport('brace/theme/clouds').then(() => {\n\t\t\twindow.aceEditor.setTheme(\"ace/theme/clouds\");\n\t\t});\n\t\t// Bind the edit event\n\t\twindow.aceEditor.getSession().on('change', this._onEdit.bind(this));\n\t\t// Bind save trigger\n\t\twindow.aceEditor.commands.addCommand({\n\t\t\tname: \"save\",\n\t\t\tbindKey: {\n\t\t\t\twin: \"Ctrl-S\",\n\t\t\t\tmac: \"Command-S\",\n\t\t\t\tsender: \"editor\"\n\t\t\t},\n\t\t\texec: Texteditor._onSaveTrigger\n\t\t});\n\n\t\t// disable Ctrl-T shortcut in ace to allow new tab feature in browser\n\t\twindow.aceEditor.commands.removeCommand(window.aceEditor.commands.byName.transposeletters);\n\t},\n\n\t/**\n\t * Sets the syntax highlighting for the editor based on the file extension\n\t */\n\tsetEditorSyntaxMode: function (extension) {\n\t\tgetSyntaxMode(extension).then(function (mode) {\n\t\t\tif (mode) {\n\t\t\t\twindow.aceEditor.getSession().setMode(`ace/mode/${mode}`);\n\t\t\t}\n\t\t});\n\t},\n\n\t/**\n\t * Loads the data through AJAX\n\t */\n\tloadFile: function (dir, filename, success, failure) {\n\t\t$.get(\n\t\t\tOC.generateUrl('/apps/files_texteditor/ajax/loadfile'),\n\t\t\t{\n\t\t\t\tfilename: filename,\n\t\t\t\tdir: dir\n\t\t\t}\n\t\t).done(function (data) {\n\t\t\t// Call success callback\n\t\t\tTexteditor.file.writeable = data.writeable;\n\t\t\tTexteditor.file.mime = data.mime;\n\t\t\tTexteditor.file.mtime = data.mtime;\n\t\t\tsuccess(Texteditor.file, data.filecontents);\n\t\t}).fail(function (jqXHR) {\n\t\t\tfailure(JSON.parse(jqXHR.responseText).message);\n\t\t});\n\t},\n\n/**\n * Send the new file data back to the server\n */\nsaveFile: function (data, file, success, failure) {\n\t// Send the post request\n\tvar path = file.dir + file.name;\n\tif (file.dir !== '/') {\n\t\tpath = file.dir + '/' + file.name;\n\t}\n\t$.ajax({\n\t\ttype: 'PUT',\n\t\turl: OC.generateUrl('/apps/files_texteditor/ajax/savefile'),\n\t\tdata: {\n\t\t\tfilecontents: data,\n\t\t\tpath: path,\n\t\t\tmtime: file.mtime\n\t\t}\n\t})\n\t\t.done(success)\n\t\t.fail(function (jqXHR) {\n\t\t\tvar message;\n\n\t\t\ttry {\n\t\t\t\tmessage = JSON.parse(jqXHR.responseText).message;\n\t\t\t} catch (e) {\n\t\t\t}\n\n\t\t\tfailure(message);\n\t\t});\n},\n\n/**\n * Close the editor for good\n */\ncloseEditor: function () {\n\tthis.$container.html('').show();\n\tthis.unloadControlBar();\n\tthis.unBindVisibleActions();\n\tvar fileInfoModel = this.fileList.getModelForFile(this.file.name);\n\tif (fileInfoModel) {\n\t\tfileInfoModel.set({\n\t\t\t// temp dummy, until we can do a PROPFIND\n\t\t\tetag: fileInfoModel.get('id') + this.file.mtime,\n\t\t\tmtime: this.file.mtime * 1000,\n\t\t\tsize: this.file.size\n\t\t});\n\t}\n\tdocument.title = this.oldTitle;\n},\n\n/**\n * Hide the editor (unsaved changes)\n */\nhideEditor: function () {\n\tthis.$container.hide();\n\tdocument.title = this.oldTitle;\n\tthis.unBindVisibleActions();\n},\n\n/**\n * Configure the autosave timer\n */\n\tsetupAutosave: function () {\n\t\tclearTimeout(this.saveTimer);\n\t\tthis.saveTimer = setTimeout(Texteditor._onSaveTrigger, 3000);\n\t},\n\n\t/**\n\t * Handles event when clicking outside editor\n\t */\n\t_onClickDocument: function (event) {\n\t\t// Check if click was inside the editor or not.\n\t\tif (!$(event.target).closest('#editor_container').length && !$(event.target).closest('.oc-dialog').length) {\n\t\t\t// Edit the editor\n\t\t\tTexteditor._onCloseTrigger();\n\t\t}\n\t},\n\n\t/*\n\t * Binds actions that need to happen whilst the editor is visible\n\t */\n\tbindVisibleActions: function () {\n\t\t$(document).bind('click', this._onClickDocument);\n\t},\n\n\t/**\n\t * Unbinds actions that happen whilst the editor is visible\n\t */\n\tunBindVisibleActions: function () {\n\t\t$(document).unbind('click', this._onClickDocument);\n\t}\n\n};\n\n\n\n// WEBPACK FOOTER //\n// ./js/editor.js","/**\n * ownCloud - Files_Texteditor\n *\n * This file is licensed under the Affero General Public License version 3 or\n * later. See the COPYING file.\n *\n * @author Tom Needham <tom@owncloud.com>\n * @copyright Tom Needham 2015\n */\n\nimport {SidebarPreview} from './sidebarpreview';\nimport {Texteditor} from './editor';\nimport {newFileMenuPlugin} from './newfileplugin';\n\n// convince webpack to load chunks\n__webpack_require__.p = OC.filePath('files_texteditor', 'js', '../build/');\nconst script = document.querySelector('[nonce]');\n__webpack_require__.nc = script['nonce'] || script.getAttribute('nonce');\n\nOCA.Files_Texteditor = Texteditor;\n\nOC.Plugins.register('OCA.Files.NewFileMenu', newFileMenuPlugin);\nOC.Plugins.register('OCA.Files.SidebarPreviewManager', new SidebarPreview());\n\n$(document).ready(function () {\n\t$('#editor').remove();\n\tOCA.Files_Texteditor.initialize($('<div id=\"app-content-texteditor\"></div>'));\n});\n\n\n\n// WEBPACK FOOTER //\n// ./js/index.js","export const newFileMenuPlugin = {\n\n\tattach: function (menu) {\n\t\tvar fileList = menu.fileList;\n\n\t\t// Make text app handle new file creation if enabled\n\t\tif (typeof OCA.Text !== 'undefined') {\n\t\t\treturn;\n\t\t}\n\n\t\t// only attach to main file list, public view is not supported yet\n\t\tif (fileList.id !== 'files') {\n\t\t\treturn;\n\t\t}\n\n\t\t// register the new menu entry\n\t\tmenu.addMenuEntry({\n\t\t\tid: 'file',\n\t\t\tdisplayName: t('files_texteditor', 'New text file'),\n\t\t\ttemplateName: t('files_texteditor', 'New text file.txt'),\n\t\t\ticonClass: 'icon-filetype-text',\n\t\t\tfileType: 'file',\n\t\t\tactionHandler: function (name) {\n\t\t\t\tvar dir = fileList.getCurrentDirectory();\n\t\t\t\t// first create the file\n\t\t\t\tfileList.createFile(name).then(function () {\n\t\t\t\t\t// once the file got successfully created,\n\t\t\t\t\t// open the editor\n\t\t\t\t\tOCA.Files_Texteditor._onEditorTrigger(\n\t\t\t\t\t\tname,\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tfileList: fileList,\n\t\t\t\t\t\t\tdir: dir\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t}\n};\n\n\n\n// WEBPACK FOOTER //\n// ./js/newfileplugin.js","/*\n * Copyright (c) 2016\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n */\n\nimport {getSyntaxMode} from \"./SyntaxMode\";\nimport importAce from './ImportAce';\n\n/** @type array[] supportedMimeTypes */\nconst supportedMimeTypes = require('./supported_mimetypes.json');\n\nexport class SidebarPreview {\n\tattach (manager) {\n\t\tconst handler = this.handlePreview.bind(this);\n\t\tsupportedMimeTypes.forEach(value => manager.addPreviewHandler(value, handler));\n\t}\n\n\thandlePreview (model, $thumbnailDiv, $thumbnailContainer, fallback) {\n\t\tconst previewWidth = $thumbnailContainer.parent().width() + 50; // 50px for negative margins\n\t\tconst previewHeight = previewWidth / (16 / 9);\n\n\t\tthis.getFileContent(model.getFullPath()).then(function (content) {\n\t\t\tcontent = content.filecontents;\n\t\t\t$thumbnailDiv.removeClass('icon-loading icon-32');\n\t\t\t$thumbnailContainer.addClass('large');\n\t\t\t$thumbnailContainer.addClass('text');\n\t\t\tconst $editorDiv = $(\"<div id='sidebar_editor'/>\");\n\t\t\t$editorDiv.text(content);\n\t\t\t$thumbnailDiv.children('.stretcher').remove();\n\t\t\t$thumbnailDiv.append($editorDiv);\n\t\t\timportAce().then((imports) => {\n\t\t\t\tconst editor = imports.edit('sidebar_editor');\n\t\t\t\teditor.setReadOnly(true);\n\t\t\t\tlet syntaxModePromise;\n\t\t\t\tif (model.get('mimetype') === 'text/html') {\n\t\t\t\t\tsyntaxModePromise = getSyntaxMode('html');\n\t\t\t\t} else {\n\t\t\t\t\t// Set the syntax mode based on the file extension\n\t\t\t\t\tsyntaxModePromise = getSyntaxMode(\n\t\t\t\t\t\tmodel.get('name').split('.')[model.get('name').split('.').length - 1]\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tsyntaxModePromise.then(function (mode) {\n\t\t\t\t\tif (mode) {\n\t\t\t\t\t\teditor.getSession().setMode(`ace/mode/${mode}`);\n\t\t\t\t\t}\n\t\t\t\t});\n\t\t\t\t// Set the theme\n\t\t\t\timport('brace/theme/clouds').then(() => {\n\t\t\t\t\teditor.setTheme(\"ace/theme/clouds\");\n\t\t\t\t});\n\t\t\t\t$editorDiv.css(\"height\", previewHeight);\n\t\t\t\t$editorDiv.css(\"width\", previewWidth);\n\t\t\t});\n\t\t}, function () {\n\t\t\tfallback();\n\t\t});\n\t}\n\n\tgetFileContent (path) {\n\t\tconst parts = path.split('/');\n\t\tconst dir = parts.slice(0, -1).join('');\n\t\tconst file = parts.slice(-1).join('');\n\n\t\treturn $.ajax({\n\t\t\turl: OC.generateUrl('/apps/files_texteditor/ajax/loadfile'),\n\t\t\tdata: {\n\t\t\t\tfilename: file,\n\t\t\t\tdir: dir\n\t\t\t},\n\t\t\theaders: {\n\t\t\t\t'Range': 'bytes=0-10240'\n\t\t\t}\n\t\t});\n\t}\n}\n\n\n\n// WEBPACK FOOTER //\n// ./js/sidebarpreview.js","module.exports = [\"text\",\"application/cmd\",\"application/javascript\",\"application/json\",\"application/xml\",\"application/x-empty\",\"application/x-msdos-program\",\"application/x-php\",\"application/x-pearl\",\"application/x-text\",\"application/yaml\"]\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./js/supported_mimetypes.json\n// module id = ./js/supported_mimetypes.json\n// module chunks = 30"],"sourceRoot":""} \ No newline at end of file
diff --git a/build/public-share.js b/build/public-share.js
index 0a0b00a..a437e64 100644
--- a/build/public-share.js
+++ b/build/public-share.js
@@ -1,2 +1,2 @@
-!function(e){var t={};function n(r){if(t[r])return t[r].exports;var s=t[r]={i:r,l:!1,exports:{}};return e[r].call(s.exports,s,s.exports,n),s.l=!0,s.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="./js/public-share.js")}({"./js/public-share.js":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n("./node_modules/marked/lib/marked.js"),s=n.n(r);$(document).ready(function(){var e=$("#isPublic").val(),t=$("#mimetype").val(),n=$("#filesize").val();if(e&&"text/markdown"===t&&n<524288){var r=$("#sharingToken").val(),i=OC.generateUrl("/s/{token}/download",{token:r}),l=$("#imgframe"),o=new s.a.Renderer;o.link=function(e,t,n){try{var r=decodeURIComponent(unescape(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0!==r.indexOf("http:")&&0!==r.indexOf("https:"))return"";var s='<a href="'+e+'" rel="noreferrer noopener"';return t&&(s+=' title="'+t+'"'),s+=">"+n+"</a>"},o.image=function(e,t,n){return n||t},o.blockquote=function(e){return e},l.addClass("icon-loading").children().remove(),$.get(i).success(function(e){l.removeClass("icon-loading").addClass("preview formatted-text").html(DOMPurify.sanitize(s()(e,{renderer:o,smartLists:!0}),{SAFE_FOR_JQUERY:!0}))}).fail(function(e){l.removeClass("icon-loading")})}else if(e&&"text"===t.substr(0,t.indexOf("/"))){(l=$("#imgframe")).addClass("icon-loading").children().remove();var a=$(window).height()-350;a=Math.max(200,a);r=$("#sharingToken").val();$.ajax({url:OC.generateUrl("/apps/files_texteditor/public/{token}",{token:r}),headers:{Range:"bytes=0-524288"}}).success(function(e){var t=$("<div/>").addClass("text-preview default-overridden");t.text(e),l.removeClass("icon-loading").addClass("preview").append(t);var n=t.height();if(e.length>524289){var r=$("<div/>").addClass("ellipsis");r.html("(&#133;)"),r.appendTo("#imgframe")}n>a&&t.height(a)})}})},"./node_modules/marked/lib/marked.js":function(e,t,n){(function(t){!function(t){"use strict";var n={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:m,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,nptable:m,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|<![A-Z][\\s\\S]*?>\\n*|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>\\n*|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|</(?!script|pre|style)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *<?([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,table:m,lheading:/^([^\n]+)\n *(=|-){2,} *(?:\n+|$)/,paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading| {0,3}>|<\/?(?:tag)(?: +|\n|\/?>)|<(?:script|pre|style|!--))[^\n]+)*)/,text:/^[^\n]+/};function r(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||y.defaults,this.rules=n.normal,this.options.pedantic?this.rules=n.pedantic:this.options.gfm&&(this.options.tables?this.rules=n.tables:this.rules=n.gfm)}n._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,n._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,n.def=c(n.def).replace("label",n._label).replace("title",n._title).getRegex(),n.bullet=/(?:[*+-]|\d{1,9}\.)/,n.item=/^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/,n.item=c(n.item,"gm").replace(/bull/g,n.bullet).getRegex(),n.list=c(n.list).replace(/bull/g,n.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+n.def.source+")").getRegex(),n._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",n._comment=/<!--(?!-?>)[\s\S]*?-->/,n.html=c(n.html,"i").replace("comment",n._comment).replace("tag",n._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),n.paragraph=c(n.paragraph).replace("hr",n.hr).replace("heading",n.heading).replace("lheading",n.lheading).replace("tag",n._tag).getRegex(),n.blockquote=c(n.blockquote).replace("paragraph",n.paragraph).getRegex(),n.normal=b({},n),n.gfm=b({},n.normal,{fences:/^ {0,3}(`{3,}|~{3,})([^`\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,paragraph:/^/,heading:/^ *(#{1,6}) +([^\n]+?) *#* *(?:\n+|$)/}),n.gfm.paragraph=c(n.paragraph).replace("(?!","(?!"+n.gfm.fences.source.replace("\\1","\\2")+"|"+n.list.source.replace("\\1","\\3")+"|").getRegex(),n.tables=b({},n.gfm,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),n.pedantic=b({},n.normal,{html:c("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",n._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/}),r.rules=n,r.lex=function(e,t){return new r(t).lex(e)},r.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)},r.prototype.token=function(e,t){var r,s,i,l,o,a,h,p,u,c,g,d,f,m,b,_;for(e=e.replace(/^ +$/gm,"");e;)if((i=this.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&this.tokens.push({type:"space"})),i=this.rules.code.exec(e))e=e.substring(i[0].length),i=i[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",text:this.options.pedantic?i:x(i,"\n")});else if(i=this.rules.fences.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"code",lang:i[2]?i[2].trim():i[2],text:i[3]||""});else if(i=this.rules.heading.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if((i=this.rules.nptable.exec(e))&&(a={type:"table",header:k(i[1].replace(/^ *| *\| *$/g,"")),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3]?i[3].replace(/\n$/,"").split("\n"):[]}).header.length===a.align.length){for(e=e.substring(i[0].length),g=0;g<a.align.length;g++)/^ *-+: *$/.test(a.align[g])?a.align[g]="right":/^ *:-+: *$/.test(a.align[g])?a.align[g]="center":/^ *:-+ *$/.test(a.align[g])?a.align[g]="left":a.align[g]=null;for(g=0;g<a.cells.length;g++)a.cells[g]=k(a.cells[g],a.header.length);this.tokens.push(a)}else if(i=this.rules.hr.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"hr"});else if(i=this.rules.blockquote.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"blockquote_start"}),i=i[0].replace(/^ *> ?/gm,""),this.token(i,t),this.tokens.push({type:"blockquote_end"});else if(i=this.rules.list.exec(e)){for(e=e.substring(i[0].length),h={type:"list_start",ordered:m=(l=i[2]).length>1,start:m?+l:"",loose:!1},this.tokens.push(h),p=[],r=!1,f=(i=i[0].match(this.rules.item)).length,g=0;g<f;g++)c=(a=i[g]).length,~(a=a.replace(/^ *([*+-]|\d+\.) */,"")).indexOf("\n ")&&(c-=a.length,a=this.options.pedantic?a.replace(/^ {1,4}/gm,""):a.replace(new RegExp("^ {1,"+c+"}","gm"),"")),g!==f-1&&(o=n.bullet.exec(i[g+1])[0],(l.length>1?1===o.length:o.length>1||this.options.smartLists&&o!==l)&&(e=i.slice(g+1).join("\n")+e,g=f-1)),s=r||/\n\n(?!\s*$)/.test(a),g!==f-1&&(r="\n"===a.charAt(a.length-1),s||(s=r)),s&&(h.loose=!0),_=void 0,(b=/^\[[ xX]\] /.test(a))&&(_=" "!==a[1],a=a.replace(/^\[[ xX]\] +/,"")),u={type:"list_item_start",task:b,checked:_,loose:s},p.push(u),this.tokens.push(u),this.token(a,!1),this.tokens.push({type:"list_item_end"});if(h.loose)for(f=p.length,g=0;g<f;g++)p[g].loose=!0;this.tokens.push({type:"list_end"})}else if(i=this.rules.html.exec(e))e=e.substring(i[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:i[0]});else if(t&&(i=this.rules.def.exec(e)))e=e.substring(i[0].length),i[3]&&(i[3]=i[3].substring(1,i[3].length-1)),d=i[1].toLowerCase().replace(/\s+/g," "),this.tokens.links[d]||(this.tokens.links[d]={href:i[2],title:i[3]});else if((i=this.rules.table.exec(e))&&(a={type:"table",header:k(i[1].replace(/^ *| *\| *$/g,"")),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3]?i[3].replace(/\n$/,"").split("\n"):[]}).header.length===a.align.length){for(e=e.substring(i[0].length),g=0;g<a.align.length;g++)/^ *-+: *$/.test(a.align[g])?a.align[g]="right":/^ *:-+: *$/.test(a.align[g])?a.align[g]="center":/^ *:-+ *$/.test(a.align[g])?a.align[g]="left":a.align[g]=null;for(g=0;g<a.cells.length;g++)a.cells[g]=k(a.cells[g].replace(/^ *\| *| *\| *$/g,""),a.header.length);this.tokens.push(a)}else if(i=this.rules.lheading.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"heading",depth:"="===i[2]?1:2,text:i[1]});else if(t&&(i=this.rules.paragraph.exec(e)))e=e.substring(i[0].length),this.tokens.push({type:"paragraph",text:"\n"===i[1].charAt(i[1].length-1)?i[1].slice(0,-1):i[1]});else if(i=this.rules.text.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"text",text:i[0]});else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0));return this.tokens};var s={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:m,tag:"^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",link:/^!?\[(label)\]\(href(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*"<\[])\*(?!\*)|^_([^\s][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s"<\[][\s\S]*?[^\s*])\*(?!\*)|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:m,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\<!\[`*]|\b_|$)|[^ ](?= {2,}\n))|(?= {2,}\n))/};function i(e,t){if(this.options=t||y.defaults,this.links=e,this.rules=s.normal,this.renderer=this.options.renderer||new l,this.renderer.options=this.options,!this.links)throw new Error("Tokens array requires a `links` property.");this.options.pedantic?this.rules=s.pedantic:this.options.gfm&&(this.options.breaks?this.rules=s.breaks:this.rules=s.gfm)}function l(e){this.options=e||y.defaults}function o(){}function a(e){this.tokens=[],this.token=null,this.options=e||y.defaults,this.options.renderer=this.options.renderer||new l,this.renderer=this.options.renderer,this.renderer.options=this.options,this.slugger=new h}function h(){this.seen={}}function p(e,t){if(t){if(p.escapeTest.test(e))return e.replace(p.escapeReplace,function(e){return p.replacements[e]})}else if(p.escapeTestNoEncode.test(e))return e.replace(p.escapeReplaceNoEncode,function(e){return p.replacements[e]});return e}function u(e){return e.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}function c(e,t){return e=e.source||e,t=t||"",{replace:function(t,n){return n=(n=n.source||n).replace(/(^|[^\[])\^/g,"$1"),e=e.replace(t,n),this},getRegex:function(){return new RegExp(e,t)}}}function g(e,t,n){if(e){try{var r=decodeURIComponent(u(n)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return null}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:")||0===r.indexOf("data:"))return null}t&&!f.test(n)&&(n=function(e,t){d[" "+e]||(/^[^:]+:\/*[^/]*$/.test(e)?d[" "+e]=e+"/":d[" "+e]=x(e,"/",!0));return e=d[" "+e],"//"===t.slice(0,2)?e.replace(/:[\s\S]*/,":")+t:"/"===t.charAt(0)?e.replace(/(:\/*[^/]*)[\s\S]*/,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(e){return null}return n}s._punctuation="!\"#$%&'()*+,\\-./:;<=>?@\\[^_{|}~",s.em=c(s.em).replace(/punctuation/g,s._punctuation).getRegex(),s._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,s._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,s._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,s.autolink=c(s.autolink).replace("scheme",s._scheme).replace("email",s._email).getRegex(),s._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,s.tag=c(s.tag).replace("comment",n._comment).replace("attribute",s._attribute).getRegex(),s._label=/(?:\[[^\[\]]*\]|\\[\[\]]?|`[^`]*`|`(?!`)|[^\[\]\\`])*?/,s._href=/\s*(<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*)/,s._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,s.link=c(s.link).replace("label",s._label).replace("href",s._href).replace("title",s._title).getRegex(),s.reflink=c(s.reflink).replace("label",s._label).getRegex(),s.normal=b({},s),s.pedantic=b({},s.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:c(/^!?\[(label)\]\((.*?)\)/).replace("label",s._label).getRegex(),reflink:c(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",s._label).getRegex()}),s.gfm=b({},s.normal,{escape:c(s.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\<!\[`*~]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))|(?= {2,}\n|[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))/}),s.gfm.url=c(s.gfm.url,"i").replace("email",s.gfm._extended_email).getRegex(),s.breaks=b({},s.gfm,{br:c(s.br).replace("{2,}","*").getRegex(),text:c(s.gfm.text).replace(/\{2,\}/g,"*").getRegex()}),i.rules=s,i.output=function(e,t,n){return new i(t,n).output(e)},i.prototype.output=function(e){for(var t,n,r,s,l,o,a="";e;)if(l=this.rules.escape.exec(e))e=e.substring(l[0].length),a+=p(l[1]);else if(l=this.rules.tag.exec(e))!this.inLink&&/^<a /i.test(l[0])?this.inLink=!0:this.inLink&&/^<\/a>/i.test(l[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(l[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(l[0])&&(this.inRawBlock=!1),e=e.substring(l[0].length),a+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(l[0]):p(l[0]):l[0];else if(l=this.rules.link.exec(e)){var h=_(l[2],"()");if(h>-1){var u=l[0].length-(l[2].length-h)-(l[3]||"").length;l[2]=l[2].substring(0,h),l[0]=l[0].substring(0,u).trim(),l[3]=""}e=e.substring(l[0].length),this.inLink=!0,r=l[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r))?(r=t[1],s=t[3]):s="":s=l[3]?l[3].slice(1,-1):"",r=r.trim().replace(/^<([\s\S]*)>$/,"$1"),a+=this.outputLink(l,{href:i.escapes(r),title:i.escapes(s)}),this.inLink=!1}else if((l=this.rules.reflink.exec(e))||(l=this.rules.nolink.exec(e))){if(e=e.substring(l[0].length),t=(l[2]||l[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){a+=l[0].charAt(0),e=l[0].substring(1)+e;continue}this.inLink=!0,a+=this.outputLink(l,t),this.inLink=!1}else if(l=this.rules.strong.exec(e))e=e.substring(l[0].length),a+=this.renderer.strong(this.output(l[4]||l[3]||l[2]||l[1]));else if(l=this.rules.em.exec(e))e=e.substring(l[0].length),a+=this.renderer.em(this.output(l[6]||l[5]||l[4]||l[3]||l[2]||l[1]));else if(l=this.rules.code.exec(e))e=e.substring(l[0].length),a+=this.renderer.codespan(p(l[2].trim(),!0));else if(l=this.rules.br.exec(e))e=e.substring(l[0].length),a+=this.renderer.br();else if(l=this.rules.del.exec(e))e=e.substring(l[0].length),a+=this.renderer.del(this.output(l[1]));else if(l=this.rules.autolink.exec(e))e=e.substring(l[0].length),r="@"===l[2]?"mailto:"+(n=p(this.mangle(l[1]))):n=p(l[1]),a+=this.renderer.link(r,null,n);else if(this.inLink||!(l=this.rules.url.exec(e))){if(l=this.rules.text.exec(e))e=e.substring(l[0].length),this.inRawBlock?a+=this.renderer.text(l[0]):a+=this.renderer.text(p(this.smartypants(l[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else{if("@"===l[2])r="mailto:"+(n=p(l[0]));else{do{o=l[0],l[0]=this.rules._backpedal.exec(l[0])[0]}while(o!==l[0]);n=p(l[0]),r="www."===l[1]?"http://"+n:n}e=e.substring(l[0].length),a+=this.renderer.link(r,null,n)}return a},i.escapes=function(e){return e?e.replace(i.rules._escapes,"$1"):e},i.prototype.outputLink=function(e,t){var n=t.href,r=t.title?p(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,p(e[1]))},i.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},i.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",r=e.length,s=0;s<r;s++)t=e.charCodeAt(s),Math.random()>.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n},l.prototype.code=function(e,t,n){var r=(t||"").match(/\S*/)[0];if(this.options.highlight){var s=this.options.highlight(e,r);null!=s&&s!==e&&(n=!0,e=s)}return r?'<pre><code class="'+this.options.langPrefix+p(r,!0)+'">'+(n?e:p(e,!0))+"</code></pre>\n":"<pre><code>"+(n?e:p(e,!0))+"</code></pre>"},l.prototype.blockquote=function(e){return"<blockquote>\n"+e+"</blockquote>\n"},l.prototype.html=function(e){return e},l.prototype.heading=function(e,t,n,r){return this.options.headerIds?"<h"+t+' id="'+this.options.headerPrefix+r.slug(n)+'">'+e+"</h"+t+">\n":"<h"+t+">"+e+"</h"+t+">\n"},l.prototype.hr=function(){return this.options.xhtml?"<hr/>\n":"<hr>\n"},l.prototype.list=function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"</"+r+">\n"},l.prototype.listitem=function(e){return"<li>"+e+"</li>\n"},l.prototype.checkbox=function(e){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox"'+(this.options.xhtml?" /":"")+"> "},l.prototype.paragraph=function(e){return"<p>"+e+"</p>\n"},l.prototype.table=function(e,t){return t&&(t="<tbody>"+t+"</tbody>"),"<table>\n<thead>\n"+e+"</thead>\n"+t+"</table>\n"},l.prototype.tablerow=function(e){return"<tr>\n"+e+"</tr>\n"},l.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"</"+n+">\n"},l.prototype.strong=function(e){return"<strong>"+e+"</strong>"},l.prototype.em=function(e){return"<em>"+e+"</em>"},l.prototype.codespan=function(e){return"<code>"+e+"</code>"},l.prototype.br=function(){return this.options.xhtml?"<br/>":"<br>"},l.prototype.del=function(e){return"<del>"+e+"</del>"},l.prototype.link=function(e,t,n){if(null===(e=g(this.options.sanitize,this.options.baseUrl,e)))return n;var r='<a href="'+p(e)+'"';return t&&(r+=' title="'+t+'"'),r+=">"+n+"</a>"},l.prototype.image=function(e,t,n){if(null===(e=g(this.options.sanitize,this.options.baseUrl,e)))return n;var r='<img src="'+e+'" alt="'+n+'"';return t&&(r+=' title="'+t+'"'),r+=this.options.xhtml?"/>":">"},l.prototype.text=function(e){return e},o.prototype.strong=o.prototype.em=o.prototype.codespan=o.prototype.del=o.prototype.text=function(e){return e},o.prototype.link=o.prototype.image=function(e,t,n){return""+n},o.prototype.br=function(){return""},a.parse=function(e,t){return new a(t).parse(e)},a.prototype.parse=function(e){this.inline=new i(e.links,this.options),this.inlineText=new i(e.links,b({},this.options,{renderer:new o})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},a.prototype.next=function(){return this.token=this.tokens.pop()},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},a.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,u(this.inlineText.output(this.token.text)),this.slugger);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,r,s="",i="";for(n="",e=0;e<this.token.header.length;e++)n+=this.renderer.tablecell(this.inline.output(this.token.header[e]),{header:!0,align:this.token.align[e]});for(s+=this.renderer.tablerow(n),e=0;e<this.token.cells.length;e++){for(t=this.token.cells[e],n="",r=0;r<t.length;r++)n+=this.renderer.tablecell(this.inline.output(t[r]),{header:!1,align:this.token.align[r]});i+=this.renderer.tablerow(n)}return this.renderer.table(s,i);case"blockquote_start":for(i="";"blockquote_end"!==this.next().type;)i+=this.tok();return this.renderer.blockquote(i);case"list_start":i="";for(var l=this.token.ordered,o=this.token.start;"list_end"!==this.next().type;)i+=this.tok();return this.renderer.list(i,l,o);case"list_item_start":i="";var a=this.token.loose,h=this.token.checked,p=this.token.task;for(this.token.task&&(i+=this.renderer.checkbox(h));"list_item_end"!==this.next().type;)i+=a||"text"!==this.token.type?this.tok():this.parseText();return this.renderer.listitem(i,p,h);case"html":return this.renderer.html(this.token.text);case"paragraph":return this.renderer.paragraph(this.inline.output(this.token.text));case"text":return this.renderer.paragraph(this.parseText());default:var c='Token with "'+this.token.type+'" type was not found.';if(!this.options.silent)throw new Error(c);console.log(c)}},h.prototype.slug=function(e){var t=e.toLowerCase().trim().replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(t)){var n=t;do{this.seen[n]++,t=n+"-"+this.seen[n]}while(this.seen.hasOwnProperty(t))}return this.seen[t]=0,t},p.escapeTest=/[&<>"']/,p.escapeReplace=/[&<>"']/g,p.replacements={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},p.escapeTestNoEncode=/[<>"']|&(?!#?\w+;)/,p.escapeReplaceNoEncode=/[<>"']|&(?!#?\w+;)/g;var d={},f=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function m(){}function b(e){for(var t,n,r=1;r<arguments.length;r++)for(n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}function k(e,t){var n=e.replace(/\|/g,function(e,t,n){for(var r=!1,s=t;--s>=0&&"\\"===n[s];)r=!r;return r?"|":" |"}).split(/ \|/),r=0;if(n.length>t)n.splice(t);else for(;n.length<t;)n.push("");for(;r<n.length;r++)n[r]=n[r].trim().replace(/\\\|/g,"|");return n}function x(e,t,n){if(0===e.length)return"";for(var r=0;r<e.length;){var s=e.charAt(e.length-r-1);if(s!==t||n){if(s===t||!n)break;r++}else r++}return e.substr(0,e.length-r)}function _(e,t){if(-1===e.indexOf(t[1]))return-1;for(var n=0,r=0;r<e.length;r++)if("\\"===e[r])r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&--n<0)return r;return-1}function y(e,t,n){if(void 0===e||null===e)throw new Error("marked(): input parameter is undefined or null");if("string"!=typeof e)throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");if(n||"function"==typeof t){n||(n=t,t=null);var s,i,l=(t=b({},y.defaults,t||{})).highlight,o=0;try{s=r.lex(e,t)}catch(e){return n(e)}i=s.length;var h=function(e){if(e)return t.highlight=l,n(e);var r;try{r=a.parse(s,t)}catch(t){e=t}return t.highlight=l,e?n(e):n(null,r)};if(!l||l.length<3)return h();if(delete t.highlight,!i)return h();for(;o<s.length;o++)!function(e){"code"!==e.type?--i||h():l(e.text,e.lang,function(t,n){return t?h(t):null==n||n===e.text?--i||h():(e.text=n,e.escaped=!0,void(--i||h()))})}(s[o])}else try{return t&&(t=b({},y.defaults,t)),a.parse(r.lex(e,t),t)}catch(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",(t||y.defaults).silent)return"<p>An error occurred:</p><pre>"+p(e.message+"",!0)+"</pre>";throw e}}m.exec=m,y.options=y.setOptions=function(e){return b(y.defaults,e),y},y.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new l,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tables:!0,xhtml:!1}},y.defaults=y.getDefaults(),y.Parser=a,y.parser=a.parse,y.Renderer=l,y.TextRenderer=o,y.Lexer=r,y.lexer=r.lex,y.InlineLexer=i,y.inlineLexer=i.output,y.Slugger=h,y.parse=y,e.exports=y}(this||"undefined"!=typeof window&&window)}).call(t,n("./node_modules/webpack/buildin/global.js"))},"./node_modules/webpack/buildin/global.js":function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n}});
+!function(e){var t={};function n(r){if(t[r])return t[r].exports;var s=t[r]={i:r,l:!1,exports:{}};return e[r].call(s.exports,s,s.exports,n),s.l=!0,s.exports}n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:r})},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s="./js/public-share.js")}({"./js/public-share.js":function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=n("./node_modules/marked/lib/marked.js"),s=n.n(r);$(document).ready(function(){var e=$("#isPublic").val(),t=$("#mimetype").val(),n=$("#filesize").val();if(e&&"text/markdown"===t&&n<524288){var r=$("#sharingToken").val(),i=OC.generateUrl("/s/{token}/download",{token:r}),l=$("#imgframe"),o=new s.a.Renderer;o.link=function(e,t,n){try{var r=decodeURIComponent(unescape(e)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return""}if(0!==r.indexOf("http:")&&0!==r.indexOf("https:"))return"";var s='<a href="'+e+'" rel="noreferrer noopener"';return t&&(s+=' title="'+t+'"'),s+=">"+n+"</a>"},o.image=function(e,t,n){return n||t},o.blockquote=function(e){return e},l.addClass("icon-loading").children().remove(),$.get(i).success(function(e){l.removeClass("icon-loading").addClass("preview formatted-text").html(DOMPurify.sanitize(s()(e,{renderer:o,smartLists:!0}),{SAFE_FOR_JQUERY:!0}))}).fail(function(e){l.removeClass("icon-loading")})}else if(e&&"text"===t.substr(0,t.indexOf("/"))){(l=$("#imgframe")).addClass("icon-loading").children().remove();var a=$(window).height()-350;a=Math.max(200,a);r=$("#sharingToken").val();$.ajax({url:OC.generateUrl("/apps/files_texteditor/public/{token}",{token:r}),headers:{Range:"bytes=0-524288"}}).success(function(e){var t=$("<div/>").addClass("text-preview default-overridden");t.text(e),l.removeClass("icon-loading").addClass("preview").append(t);var n=t.height();if(e.length>524289){var r=$("<div/>").addClass("ellipsis");r.html("(&#133;)"),r.appendTo("#imgframe")}n>a&&t.height(a)})}})},"./node_modules/marked/lib/marked.js":function(e,t,n){(function(t){!function(t){"use strict";var n={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:/^ {0,3}(`{3,}|~{3,})([^`~\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?:\n+|$)|$)/,hr:/^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\* *){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6}) +([^\n]*?)(?: +#+)? *(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3})(bull) [\s\S]+?(?:hr|def|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:"^ {0,3}(?:<(script|pre|style)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?\\?>\\n*|<![A-Z][\\s\\S]*?>\\n*|<!\\[CDATA\\[[\\s\\S]*?\\]\\]>\\n*|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:\\n{2,}|$)|<(?!script|pre|style)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$)|</(?!script|pre|style)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:\\n{2,}|$))",def:/^ {0,3}\[(label)\]: *\n? *<?([^\s>]+)>?(?:(?: +\n? *| *\n *)(title))? *(?:\n+|$)/,nptable:m,table:m,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\n]+)*)/,text:/^[^\n]+/};function r(e){this.tokens=[],this.tokens.links=Object.create(null),this.options=e||w.defaults,this.rules=n.normal,this.options.pedantic?this.rules=n.pedantic:this.options.gfm&&(this.rules=n.gfm)}n._label=/(?!\s*\])(?:\\[\[\]]|[^\[\]])+/,n._title=/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/,n.def=c(n.def).replace("label",n._label).replace("title",n._title).getRegex(),n.bullet=/(?:[*+-]|\d{1,9}\.)/,n.item=/^( *)(bull) ?[^\n]*(?:\n(?!\1bull ?)[^\n]*)*/,n.item=c(n.item,"gm").replace(/bull/g,n.bullet).getRegex(),n.list=c(n.list).replace(/bull/g,n.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+n.def.source+")").getRegex(),n._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",n._comment=/<!--(?!-?>)[\s\S]*?-->/,n.html=c(n.html,"i").replace("comment",n._comment).replace("tag",n._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),n.paragraph=c(n._paragraph).replace("hr",n.hr).replace("heading"," {0,3}#{1,6} +").replace("|lheading","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}|~{3,})[^`\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|!--)").replace("tag",n._tag).getRegex(),n.blockquote=c(n.blockquote).replace("paragraph",n.paragraph).getRegex(),n.normal=b({},n),n.gfm=b({},n.normal,{nptable:/^ *([^|\n ].*\|.*)\n *([-:]+ *\|[-| :]*)(?:\n((?:.*[^>\n ].*(?:\n|$))*)\n*|$)/,table:/^ *\|(.+)\n *\|?( *[-:]+[-| :]*)(?:\n((?: *[^>\n ].*(?:\n|$))*)\n*|$)/}),n.pedantic=b({},n.normal,{html:c("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:\"[^\"]*\"|'[^']*'|\\s[^'\"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",n._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/,fences:m,paragraph:c(n.normal._paragraph).replace("hr",n.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",n.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()}),r.rules=n,r.lex=function(e,t){return new r(t).lex(e)},r.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)},r.prototype.token=function(e,t){var r,s,i,l,o,a,h,u,c,g,d,f,m,b,_,y;for(e=e.replace(/^ +$/gm,"");e;)if((i=this.rules.newline.exec(e))&&(e=e.substring(i[0].length),i[0].length>1&&this.tokens.push({type:"space"})),i=this.rules.code.exec(e)){var w=this.tokens[this.tokens.length-1];e=e.substring(i[0].length),w&&"paragraph"===w.type?w.text+="\n"+i[0].trimRight():(i=i[0].replace(/^ {4}/gm,""),this.tokens.push({type:"code",codeBlockStyle:"indented",text:this.options.pedantic?i:x(i,"\n")}))}else if(i=this.rules.fences.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"code",lang:i[2]?i[2].trim():i[2],text:i[3]||""});else if(i=this.rules.heading.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"heading",depth:i[1].length,text:i[2]});else if((i=this.rules.nptable.exec(e))&&(a={type:"table",header:k(i[1].replace(/^ *| *\| *$/g,"")),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3]?i[3].replace(/\n$/,"").split("\n"):[]}).header.length===a.align.length){for(e=e.substring(i[0].length),d=0;d<a.align.length;d++)/^ *-+: *$/.test(a.align[d])?a.align[d]="right":/^ *:-+: *$/.test(a.align[d])?a.align[d]="center":/^ *:-+ *$/.test(a.align[d])?a.align[d]="left":a.align[d]=null;for(d=0;d<a.cells.length;d++)a.cells[d]=k(a.cells[d],a.header.length);this.tokens.push(a)}else if(i=this.rules.hr.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"hr"});else if(i=this.rules.blockquote.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"blockquote_start"}),i=i[0].replace(/^ *> ?/gm,""),this.token(i,t),this.tokens.push({type:"blockquote_end"});else if(i=this.rules.list.exec(e)){for(e=e.substring(i[0].length),h={type:"list_start",ordered:b=(l=i[2]).length>1,start:b?+l:"",loose:!1},this.tokens.push(h),u=[],r=!1,m=(i=i[0].match(this.rules.item)).length,d=0;d<m;d++)g=(a=i[d]).length,~(a=a.replace(/^ *([*+-]|\d+\.) */,"")).indexOf("\n ")&&(g-=a.length,a=this.options.pedantic?a.replace(/^ {1,4}/gm,""):a.replace(new RegExp("^ {1,"+g+"}","gm"),"")),d!==m-1&&(o=n.bullet.exec(i[d+1])[0],(l.length>1?1===o.length:o.length>1||this.options.smartLists&&o!==l)&&(e=i.slice(d+1).join("\n")+e,d=m-1)),s=r||/\n\n(?!\s*$)/.test(a),d!==m-1&&(r="\n"===a.charAt(a.length-1),s||(s=r)),s&&(h.loose=!0),y=void 0,(_=/^\[[ xX]\] /.test(a))&&(y=" "!==a[1],a=a.replace(/^\[[ xX]\] +/,"")),c={type:"list_item_start",task:_,checked:y,loose:s},u.push(c),this.tokens.push(c),this.token(a,!1),this.tokens.push({type:"list_item_end"});if(h.loose)for(m=u.length,d=0;d<m;d++)u[d].loose=!0;this.tokens.push({type:"list_end"})}else if(i=this.rules.html.exec(e))e=e.substring(i[0].length),this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:!this.options.sanitizer&&("pre"===i[1]||"script"===i[1]||"style"===i[1]),text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(i[0]):p(i[0]):i[0]});else if(t&&(i=this.rules.def.exec(e)))e=e.substring(i[0].length),i[3]&&(i[3]=i[3].substring(1,i[3].length-1)),f=i[1].toLowerCase().replace(/\s+/g," "),this.tokens.links[f]||(this.tokens.links[f]={href:i[2],title:i[3]});else if((i=this.rules.table.exec(e))&&(a={type:"table",header:k(i[1].replace(/^ *| *\| *$/g,"")),align:i[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:i[3]?i[3].replace(/\n$/,"").split("\n"):[]}).header.length===a.align.length){for(e=e.substring(i[0].length),d=0;d<a.align.length;d++)/^ *-+: *$/.test(a.align[d])?a.align[d]="right":/^ *:-+: *$/.test(a.align[d])?a.align[d]="center":/^ *:-+ *$/.test(a.align[d])?a.align[d]="left":a.align[d]=null;for(d=0;d<a.cells.length;d++)a.cells[d]=k(a.cells[d].replace(/^ *\| *| *\| *$/g,""),a.header.length);this.tokens.push(a)}else if(i=this.rules.lheading.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"heading",depth:"="===i[2].charAt(0)?1:2,text:i[1]});else if(t&&(i=this.rules.paragraph.exec(e)))e=e.substring(i[0].length),this.tokens.push({type:"paragraph",text:"\n"===i[1].charAt(i[1].length-1)?i[1].slice(0,-1):i[1]});else if(i=this.rules.text.exec(e))e=e.substring(i[0].length),this.tokens.push({type:"text",text:i[0]});else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0));return this.tokens};var s={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:m,tag:"^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(?!\s*\])((?:\\[\[\]]?|[^\[\]\\])+)\]/,nolink:/^!?\[(?!\s*\])((?:\[[^\[\]]*\]|\\[\[\]]|[^\[\]])*)\](?:\[\])?/,strong:/^__([^\s_])__(?!_)|^\*\*([^\s*])\*\*(?!\*)|^__([^\s][\s\S]*?[^\s])__(?!_)|^\*\*([^\s][\s\S]*?[^\s])\*\*(?!\*)/,em:/^_([^\s_])_(?!_)|^\*([^\s*<\[])\*(?!\*)|^_([^\s<][\s\S]*?[^\s_])_(?!_|[^\spunctuation])|^_([^\s_<][\s\S]*?[^\s])_(?!_|[^\spunctuation])|^\*([^\s<"][\s\S]*?[^\s\*])\*(?!\*|[^\spunctuation])|^\*([^\s*"<\[][\s\S]*?[^\s])\*(?!\*)/,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:m,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\<!\[`*]|\b_|$)|[^ ](?= {2,}\n))|(?= {2,}\n))/};function i(e,t){if(this.options=t||w.defaults,this.links=e,this.rules=s.normal,this.renderer=this.options.renderer||new l,this.renderer.options=this.options,!this.links)throw new Error("Tokens array requires a `links` property.");this.options.pedantic?this.rules=s.pedantic:this.options.gfm&&(this.options.breaks?this.rules=s.breaks:this.rules=s.gfm)}function l(e){this.options=e||w.defaults}function o(){}function a(e){this.tokens=[],this.token=null,this.options=e||w.defaults,this.options.renderer=this.options.renderer||new l,this.renderer=this.options.renderer,this.renderer.options=this.options,this.slugger=new h}function h(){this.seen={}}function p(e,t){if(t){if(p.escapeTest.test(e))return e.replace(p.escapeReplace,function(e){return p.replacements[e]})}else if(p.escapeTestNoEncode.test(e))return e.replace(p.escapeReplaceNoEncode,function(e){return p.replacements[e]});return e}function u(e){return e.replace(/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""})}function c(e,t){return e=e.source||e,t=t||"",{replace:function(t,n){return n=(n=n.source||n).replace(/(^|[^\[])\^/g,"$1"),e=e.replace(t,n),this},getRegex:function(){return new RegExp(e,t)}}}function g(e,t,n){if(e){try{var r=decodeURIComponent(u(n)).replace(/[^\w:]/g,"").toLowerCase()}catch(e){return null}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:")||0===r.indexOf("data:"))return null}t&&!f.test(n)&&(n=function(e,t){d[" "+e]||(/^[^:]+:\/*[^/]*$/.test(e)?d[" "+e]=e+"/":d[" "+e]=x(e,"/",!0));return e=d[" "+e],"//"===t.slice(0,2)?e.replace(/:[\s\S]*/,":")+t:"/"===t.charAt(0)?e.replace(/(:\/*[^/]*)[\s\S]*/,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(e){return null}return n}s._punctuation="!\"#$%&'()*+,\\-./:;<=>?@\\[^_{|}~",s.em=c(s.em).replace(/punctuation/g,s._punctuation).getRegex(),s._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,s._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,s._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,s.autolink=c(s.autolink).replace("scheme",s._scheme).replace("email",s._email).getRegex(),s._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,s.tag=c(s.tag).replace("comment",n._comment).replace("attribute",s._attribute).getRegex(),s._label=/(?:\[[^\[\]]*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,s._href=/<(?:\\[<>]?|[^\s<>\\])*>|[^\s\x00-\x1f]*/,s._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,s.link=c(s.link).replace("label",s._label).replace("href",s._href).replace("title",s._title).getRegex(),s.reflink=c(s.reflink).replace("label",s._label).getRegex(),s.normal=b({},s),s.pedantic=b({},s.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/,link:c(/^!?\[(label)\]\((.*?)\)/).replace("label",s._label).getRegex(),reflink:c(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",s._label).getRegex()}),s.gfm=b({},s.normal,{escape:c(s.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^~+(?=\S)([\s\S]*?\S)~+/,text:/^(`+|[^`])(?:[\s\S]*?(?:(?=[\\<!\[`*~]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))|(?= {2,}\n|[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@))/}),s.gfm.url=c(s.gfm.url,"i").replace("email",s.gfm._extended_email).getRegex(),s.breaks=b({},s.gfm,{br:c(s.br).replace("{2,}","*").getRegex(),text:c(s.gfm.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()}),i.rules=s,i.output=function(e,t,n){return new i(t,n).output(e)},i.prototype.output=function(e){for(var t,n,r,s,l,o,a="";e;)if(l=this.rules.escape.exec(e))e=e.substring(l[0].length),a+=p(l[1]);else if(l=this.rules.tag.exec(e))!this.inLink&&/^<a /i.test(l[0])?this.inLink=!0:this.inLink&&/^<\/a>/i.test(l[0])&&(this.inLink=!1),!this.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(l[0])?this.inRawBlock=!0:this.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(l[0])&&(this.inRawBlock=!1),e=e.substring(l[0].length),a+=this.options.sanitize?this.options.sanitizer?this.options.sanitizer(l[0]):p(l[0]):l[0];else if(l=this.rules.link.exec(e)){var h=_(l[2],"()");if(h>-1){var u=4+l[1].length+h;l[2]=l[2].substring(0,h),l[0]=l[0].substring(0,u).trim(),l[3]=""}e=e.substring(l[0].length),this.inLink=!0,r=l[2],this.options.pedantic?(t=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r))?(r=t[1],s=t[3]):s="":s=l[3]?l[3].slice(1,-1):"",r=r.trim().replace(/^<([\s\S]*)>$/,"$1"),a+=this.outputLink(l,{href:i.escapes(r),title:i.escapes(s)}),this.inLink=!1}else if((l=this.rules.reflink.exec(e))||(l=this.rules.nolink.exec(e))){if(e=e.substring(l[0].length),t=(l[2]||l[1]).replace(/\s+/g," "),!(t=this.links[t.toLowerCase()])||!t.href){a+=l[0].charAt(0),e=l[0].substring(1)+e;continue}this.inLink=!0,a+=this.outputLink(l,t),this.inLink=!1}else if(l=this.rules.strong.exec(e))e=e.substring(l[0].length),a+=this.renderer.strong(this.output(l[4]||l[3]||l[2]||l[1]));else if(l=this.rules.em.exec(e))e=e.substring(l[0].length),a+=this.renderer.em(this.output(l[6]||l[5]||l[4]||l[3]||l[2]||l[1]));else if(l=this.rules.code.exec(e))e=e.substring(l[0].length),a+=this.renderer.codespan(p(l[2].trim(),!0));else if(l=this.rules.br.exec(e))e=e.substring(l[0].length),a+=this.renderer.br();else if(l=this.rules.del.exec(e))e=e.substring(l[0].length),a+=this.renderer.del(this.output(l[1]));else if(l=this.rules.autolink.exec(e))e=e.substring(l[0].length),r="@"===l[2]?"mailto:"+(n=p(this.mangle(l[1]))):n=p(l[1]),a+=this.renderer.link(r,null,n);else if(this.inLink||!(l=this.rules.url.exec(e))){if(l=this.rules.text.exec(e))e=e.substring(l[0].length),this.inRawBlock?a+=this.renderer.text(this.options.sanitize?this.options.sanitizer?this.options.sanitizer(l[0]):p(l[0]):l[0]):a+=this.renderer.text(p(this.smartypants(l[0])));else if(e)throw new Error("Infinite loop on byte: "+e.charCodeAt(0))}else{if("@"===l[2])r="mailto:"+(n=p(l[0]));else{do{o=l[0],l[0]=this.rules._backpedal.exec(l[0])[0]}while(o!==l[0]);n=p(l[0]),r="www."===l[1]?"http://"+n:n}e=e.substring(l[0].length),a+=this.renderer.link(r,null,n)}return a},i.escapes=function(e){return e?e.replace(i.rules._escapes,"$1"):e},i.prototype.outputLink=function(e,t){var n=t.href,r=t.title?p(t.title):null;return"!"!==e[0].charAt(0)?this.renderer.link(n,r,this.output(e[1])):this.renderer.image(n,r,p(e[1]))},i.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},i.prototype.mangle=function(e){if(!this.options.mangle)return e;for(var t,n="",r=e.length,s=0;s<r;s++)t=e.charCodeAt(s),Math.random()>.5&&(t="x"+t.toString(16)),n+="&#"+t+";";return n},l.prototype.code=function(e,t,n){var r=(t||"").match(/\S*/)[0];if(this.options.highlight){var s=this.options.highlight(e,r);null!=s&&s!==e&&(n=!0,e=s)}return r?'<pre><code class="'+this.options.langPrefix+p(r,!0)+'">'+(n?e:p(e,!0))+"</code></pre>\n":"<pre><code>"+(n?e:p(e,!0))+"</code></pre>"},l.prototype.blockquote=function(e){return"<blockquote>\n"+e+"</blockquote>\n"},l.prototype.html=function(e){return e},l.prototype.heading=function(e,t,n,r){return this.options.headerIds?"<h"+t+' id="'+this.options.headerPrefix+r.slug(n)+'">'+e+"</h"+t+">\n":"<h"+t+">"+e+"</h"+t+">\n"},l.prototype.hr=function(){return this.options.xhtml?"<hr/>\n":"<hr>\n"},l.prototype.list=function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"</"+r+">\n"},l.prototype.listitem=function(e){return"<li>"+e+"</li>\n"},l.prototype.checkbox=function(e){return"<input "+(e?'checked="" ':"")+'disabled="" type="checkbox"'+(this.options.xhtml?" /":"")+"> "},l.prototype.paragraph=function(e){return"<p>"+e+"</p>\n"},l.prototype.table=function(e,t){return t&&(t="<tbody>"+t+"</tbody>"),"<table>\n<thead>\n"+e+"</thead>\n"+t+"</table>\n"},l.prototype.tablerow=function(e){return"<tr>\n"+e+"</tr>\n"},l.prototype.tablecell=function(e,t){var n=t.header?"th":"td";return(t.align?"<"+n+' align="'+t.align+'">':"<"+n+">")+e+"</"+n+">\n"},l.prototype.strong=function(e){return"<strong>"+e+"</strong>"},l.prototype.em=function(e){return"<em>"+e+"</em>"},l.prototype.codespan=function(e){return"<code>"+e+"</code>"},l.prototype.br=function(){return this.options.xhtml?"<br/>":"<br>"},l.prototype.del=function(e){return"<del>"+e+"</del>"},l.prototype.link=function(e,t,n){if(null===(e=g(this.options.sanitize,this.options.baseUrl,e)))return n;var r='<a href="'+p(e)+'"';return t&&(r+=' title="'+t+'"'),r+=">"+n+"</a>"},l.prototype.image=function(e,t,n){if(null===(e=g(this.options.sanitize,this.options.baseUrl,e)))return n;var r='<img src="'+e+'" alt="'+n+'"';return t&&(r+=' title="'+t+'"'),r+=this.options.xhtml?"/>":">"},l.prototype.text=function(e){return e},o.prototype.strong=o.prototype.em=o.prototype.codespan=o.prototype.del=o.prototype.text=function(e){return e},o.prototype.link=o.prototype.image=function(e,t,n){return""+n},o.prototype.br=function(){return""},a.parse=function(e,t){return new a(t).parse(e)},a.prototype.parse=function(e){this.inline=new i(e.links,this.options),this.inlineText=new i(e.links,b({},this.options,{renderer:new o})),this.tokens=e.reverse();for(var t="";this.next();)t+=this.tok();return t},a.prototype.next=function(){return this.token=this.tokens.pop(),this.token},a.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0},a.prototype.parseText=function(){for(var e=this.token.text;"text"===this.peek().type;)e+="\n"+this.next().text;return this.inline.output(e)},a.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,u(this.inlineText.output(this.token.text)),this.slugger);case"code":return this.renderer.code(this.token.text,this.token.lang,this.token.escaped);case"table":var e,t,n,r,s="",i="";for(n="",e=0;e<this.token.header.length;e++)n+=this.renderer.tablecell(this.inline.output(this.token.header[e]),{header:!0,align:this.token.align[e]});for(s+=this.renderer.tablerow(n),e=0;e<this.token.cells.length;e++){for(t=this.token.cells[e],n="",r=0;r<t.length;r++)n+=this.renderer.tablecell(this.inline.output(t[r]),{header:!1,align:this.token.align[r]});i+=this.renderer.tablerow(n)}return this.renderer.table(s,i);case"blockquote_start":for(i="";"blockquote_end"!==this.next().type;)i+=this.tok();return this.renderer.blockquote(i);case"list_start":i="";for(var l=this.token.ordered,o=this.token.start;"list_end"!==this.next().type;)i+=this.tok();return this.renderer.list(i,l,o);case"list_item_start":i="";var a=this.token.loose,h=this.token.checked,p=this.token.task;for(this.token.task&&(i+=this.renderer.checkbox(h));"list_item_end"!==this.next().type;)i+=a||"text"!==this.token.type?this.tok():this.parseText();return this.renderer.listitem(i,p,h);case"html":return this.renderer.html(this.token.text);case"paragraph":return this.renderer.paragraph(this.inline.output(this.token.text));case"text":return this.renderer.paragraph(this.parseText());default:var c='Token with "'+this.token.type+'" type was not found.';if(!this.options.silent)throw new Error(c);console.log(c)}},h.prototype.slug=function(e){var t=e.toLowerCase().trim().replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-");if(this.seen.hasOwnProperty(t)){var n=t;do{this.seen[n]++,t=n+"-"+this.seen[n]}while(this.seen.hasOwnProperty(t))}return this.seen[t]=0,t},p.escapeTest=/[&<>"']/,p.escapeReplace=/[&<>"']/g,p.replacements={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},p.escapeTestNoEncode=/[<>"']|&(?!#?\w+;)/,p.escapeReplaceNoEncode=/[<>"']|&(?!#?\w+;)/g;var d={},f=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function m(){}function b(e){for(var t,n,r=1;r<arguments.length;r++)for(n in t=arguments[r])Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}function k(e,t){var n=e.replace(/\|/g,function(e,t,n){for(var r=!1,s=t;--s>=0&&"\\"===n[s];)r=!r;return r?"|":" |"}).split(/ \|/),r=0;if(n.length>t)n.splice(t);else for(;n.length<t;)n.push("");for(;r<n.length;r++)n[r]=n[r].trim().replace(/\\\|/g,"|");return n}function x(e,t,n){if(0===e.length)return"";for(var r=0;r<e.length;){var s=e.charAt(e.length-r-1);if(s!==t||n){if(s===t||!n)break;r++}else r++}return e.substr(0,e.length-r)}function _(e,t){if(-1===e.indexOf(t[1]))return-1;for(var n=0,r=0;r<e.length;r++)if("\\"===e[r])r++;else if(e[r]===t[0])n++;else if(e[r]===t[1]&&--n<0)return r;return-1}function y(e){e&&e.sanitize&&!e.silent&&console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options")}function w(e,t,n){if(void 0===e||null===e)throw new Error("marked(): input parameter is undefined or null");if("string"!=typeof e)throw new Error("marked(): input parameter is of type "+Object.prototype.toString.call(e)+", string expected");if(n||"function"==typeof t){n||(n=t,t=null),y(t=b({},w.defaults,t||{}));var s,i,l=t.highlight,o=0;try{s=r.lex(e,t)}catch(e){return n(e)}i=s.length;var h=function(e){if(e)return t.highlight=l,n(e);var r;try{r=a.parse(s,t)}catch(t){e=t}return t.highlight=l,e?n(e):n(null,r)};if(!l||l.length<3)return h();if(delete t.highlight,!i)return h();for(;o<s.length;o++)!function(e){"code"!==e.type?--i||h():l(e.text,e.lang,function(t,n){return t?h(t):null==n||n===e.text?--i||h():(e.text=n,e.escaped=!0,void(--i||h()))})}(s[o])}else try{return t&&(t=b({},w.defaults,t)),y(t),a.parse(r.lex(e,t),t)}catch(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",(t||w.defaults).silent)return"<p>An error occurred:</p><pre>"+p(e.message+"",!0)+"</pre>";throw e}}m.exec=m,w.options=w.setOptions=function(e){return b(w.defaults,e),w},w.getDefaults=function(){return{baseUrl:null,breaks:!1,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:new l,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,xhtml:!1}},w.defaults=w.getDefaults(),w.Parser=a,w.parser=a.parse,w.Renderer=l,w.TextRenderer=o,w.Lexer=r,w.lexer=r.lex,w.InlineLexer=i,w.inlineLexer=i.output,w.Slugger=h,w.parse=w,e.exports=w}(this||"undefined"!=typeof window&&window)}).call(t,n("./node_modules/webpack/buildin/global.js"))},"./node_modules/webpack/buildin/global.js":function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n}});
//# sourceMappingURL=public-share.js.map \ No newline at end of file
diff --git a/build/public-share.js.map b/build/public-share.js.map
index d22f665..0e39a6f 100644
--- a/build/public-share.js.map
+++ b/build/public-share.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack:///webpack/bootstrap 670a82338906950ceca6","webpack:///./js/public-share.js","webpack:///./node_modules/marked/lib/marked.js","webpack:///(webpack)/buildin/global.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","$","document","ready","isPublic","val","mimetype","filesize","sharingToken","downloadUrl","OC","generateUrl","token","previewElement","renderer","__WEBPACK_IMPORTED_MODULE_0_marked___default","a","Renderer","link","href","title","text","prot","decodeURIComponent","unescape","replace","toLowerCase","e","indexOf","out","image","blockquote","quote","addClass","children","remove","success","content","removeClass","html","DOMPurify","sanitize","smartLists","SAFE_FOR_JQUERY","fail","result","substr","previewHeight","window","height","Math","max","ajax","url","headers","Range","textDiv","append","divHeight","length","ellipsis","appendTo","global","root","block","newline","code","fences","noop","hr","heading","nptable","list","def","table","lheading","paragraph","Lexer","options","this","tokens","links","create","marked","defaults","rules","normal","pedantic","gfm","tables","_label","_title","edit","getRegex","bullet","item","source","_tag","_comment","merge","lex","src","top","next","loose","cap","bull","b","listStart","listItems","t","space","tag","isordered","istask","ischecked","exec","substring","push","type","rtrim","lang","trim","depth","header","splitCells","align","split","cells","test","ordered","start","match","RegExp","slice","join","charAt","undefined","task","checked","pre","sanitizer","Error","charCodeAt","inline","escape","autolink","reflink","nolink","strong","em","br","del","InlineLexer","breaks","TextRenderer","Parser","slugger","Slugger","seen","encode","escapeTest","escapeReplace","ch","replacements","escapeTestNoEncode","escapeReplaceNoEncode","_","String","fromCharCode","parseInt","regex","opt","cleanUrl","base","originIndependentUrl","baseUrls","resolveUrl","encodeURI","_punctuation","_escapes","_scheme","_email","_attribute","_href","_extended_email","_backpedal","output","prevCapZero","inLink","inRawBlock","lastParenIndex","findClosingBracket","linkLen","outputLink","escapes","codespan","mangle","smartypants","random","toString","infostring","escaped","highlight","langPrefix","level","raw","headerIds","headerPrefix","slug","xhtml","body","listitem","checkbox","tablerow","tablecell","flags","baseUrl","parse","inlineText","reverse","tok","pop","peek","parseText","row","cell","j","errMsg","silent","console","log","value","originalSlug","&","<",">","\"","'","obj","target","key","arguments","tableRow","count","offset","str","curr","splice","invert","suffLen","currChar","callback","pending","done","err","message","setOptions","getDefaults","parser","lexer","inlineLexer","g","Function","eval"],"mappings":"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","file":"public-share.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./js/public-share.js\");\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 670a82338906950ceca6","import marked from 'marked'\n\n// FIXME: Hack for single public file view since it is not attached to the fileslist\n$(document).ready(function(){\n\tvar isPublic = $('#isPublic').val();\n\tvar mimetype = $('#mimetype').val();\n\tvar filesize = $('#filesize').val();\n\n\tif (isPublic &&\n\t\tmimetype === 'text/markdown' &&\n\t\tfilesize < 524288) {\n\n\t\tvar sharingToken = $('#sharingToken').val();\n\t\tvar downloadUrl = OC.generateUrl('/s/{token}/download', {token: sharingToken});\n\t\tvar previewElement = $('#imgframe');\n\t\tvar renderer = new marked.Renderer();\n\t\trenderer.link = function(href, title, text) {\n\t\t\ttry {\n\t\t\t\tvar prot = decodeURIComponent(unescape(href))\n\t\t\t\t\t.replace(/[^\\w:]/g, '')\n\t\t\t\t\t.toLowerCase();\n\t\t\t} catch (e) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\tif (prot.indexOf('http:') !== 0 && prot.indexOf('https:') !== 0) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\tvar out = '<a href=\"' + href + '\" rel=\"noreferrer noopener\"';\n\t\t\tif (title) {\n\t\t\t\tout += ' title=\"' + title + '\"';\n\t\t\t}\n\t\t\tout += '>' + text + '</a>';\n\t\t\treturn out;\n\t\t};\n\t\trenderer.image = function(href, title, text) {\n\t\t\tif (text) {\n\t\t\t\treturn text;\n\t\t\t}\n\t\t\treturn title;\n\t\t};\n\t\trenderer.blockquote = function(quote) {\n\t\t\treturn quote;\n\t\t};\n\n\t\tpreviewElement\n\t\t\t.addClass('icon-loading')\n\t\t\t.children().remove();\n\n\t\t$.get(downloadUrl).success(function(content) {\n\t\t\tpreviewElement\n\t\t\t\t.removeClass('icon-loading')\n\t\t\t\t.addClass('preview formatted-text')\n\t\t\t\t.html(DOMPurify.sanitize(\n\t\t\t\t\tmarked(content, {\n\t\t\t\t\t\trenderer: renderer,\n\t\t\t\t\t\tsmartLists: true\n\t\t\t\t\t}),\n\t\t\t\t\t{\n\t\t\t\t\t\tSAFE_FOR_JQUERY: true\n\t\t\t\t\t}\n\t\t\t\t));\n\t\t}).fail(function(result){\n\t\t\tpreviewElement\n\t\t\t\t.removeClass('icon-loading');\n\t\t});\n\t} else if (isPublic &&\n\t\t\t mimetype.substr(0, mimetype.indexOf('/')) === 'text') {\n\t\t// Based on default text previews from \"files_sharing/js/public.js\", but\n\t\t// using the public endpoint from files_texteditor for better character\n\t\t// encoding support.\n\t\tvar previewElement = $('#imgframe');\n\t\tpreviewElement\n\t\t\t.addClass('icon-loading')\n\t\t\t.children().remove();\n\n\t\tvar bottomMargin = 350;\n\t\tvar previewHeight = $(window).height() - bottomMargin;\n\t\tpreviewHeight = Math.max(200, previewHeight);\n\n\t\tvar sharingToken = $('#sharingToken').val();\n\t\t$.ajax({\n\t\t\turl: OC.generateUrl('/apps/files_texteditor/public/{token}', { token: sharingToken }),\n\t\t\theaders: {\n\t\t\t\t'Range': 'bytes=0-524288'\n\t\t\t}\n\t\t}).success(function(content) {\n\t\t\tvar textDiv = $('<div/>').addClass('text-preview default-overridden');\n\t\t\ttextDiv.text(content);\n\n\t\t\tpreviewElement\n\t\t\t\t.removeClass('icon-loading')\n\t\t\t\t.addClass('preview')\n\t\t\t\t.append(textDiv);\n\n\t\t\tvar divHeight = textDiv.height();\n\t\t\tif (content.length > 524289) {\n\t\t\t\tvar ellipsis = $('<div/>').addClass('ellipsis');\n\t\t\t\tellipsis.html('(&#133;)');\n\t\t\t\tellipsis.appendTo('#imgframe');\n\t\t\t}\n\t\t\tif (divHeight > previewHeight) {\n\t\t\t\ttextDiv.height(previewHeight);\n\t\t\t}\n\t\t});\n\t}\n});\n\n\n\n// WEBPACK FOOTER //\n// ./js/public-share.js","/**\n * marked - a markdown parser\n * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n;(function(root) {\n'use strict';\n\n/**\n * Block-Level Grammar\n */\n\nvar block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: noop,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n nptable: noop,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n + '|<![A-Z][\\\\s\\\\S]*?>\\\\n*' // (4)\n + '|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\\\\n*' // (5)\n + '|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|</(?!script|pre|style)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *<?([^\\s>]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n table: noop,\n lheading: /^([^\\n]+)\\n *(=|-){2,} *(?:\\n+|$)/,\n paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading| {0,3}>|<\\/?(?:tag)(?: +|\\n|\\/?>)|<(?:script|pre|style|!--))[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}\\.)/;\nblock.item = /^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/;\nblock.item = edit(block.item, 'gm')\n .replace(/bull/g, block.bullet)\n .getRegex();\n\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = /<!--(?!-?>)[\\s\\S]*?-->/;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock.paragraph = edit(block.paragraph)\n .replace('hr', block.hr)\n .replace('heading', block.heading)\n .replace('lheading', block.lheading)\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n fences: /^ {0,3}(`{3,}|~{3,})([^`\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n paragraph: /^/,\n heading: /^ *(#{1,6}) +([^\\n]+?) *#* *(?:\\n+|$)/\n});\n\nblock.gfm.paragraph = edit(block.paragraph)\n .replace('(?!', '(?!'\n + block.gfm.fences.source.replace('\\\\1', '\\\\2') + '|'\n + block.list.source.replace('\\\\1', '\\\\3') + '|')\n .getRegex();\n\n/**\n * GFM + Tables Block Grammar\n */\n\nblock.tables = merge({}, block.gfm, {\n nptable: /^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:.*[^>\\n ].*(?:\\n|$))*)\\n*|$)/,\n table: /^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n((?: *[^>\\n ].*(?:\\n|$))*)\\n*|$)/\n});\n\n/**\n * Pedantic grammar\n */\n\nblock.pedantic = merge({}, block.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|<tag(?:\"[^\"]*\"|\\'[^\\']*\\'|\\\\s[^\\'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/\n});\n\n/**\n * Block Lexer\n */\n\nfunction Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || marked.defaults;\n this.rules = block.normal;\n\n if (this.options.pedantic) {\n this.rules = block.pedantic;\n } else if (this.options.gfm) {\n if (this.options.tables) {\n this.rules = block.tables;\n } else {\n this.rules = block.gfm;\n }\n }\n}\n\n/**\n * Expose Block Rules\n */\n\nLexer.rules = block;\n\n/**\n * Static Lex Method\n */\n\nLexer.lex = function(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n};\n\n/**\n * Preprocessing\n */\n\nLexer.prototype.lex = function(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n')\n .replace(/\\t/g, ' ')\n .replace(/\\u00a0/g, ' ')\n .replace(/\\u2424/g, '\\n');\n\n return this.token(src, true);\n};\n\n/**\n * Lexing\n */\n\nLexer.prototype.token = function(src, top) {\n src = src.replace(/^ +$/gm, '');\n var next,\n loose,\n cap,\n bull,\n b,\n item,\n listStart,\n listItems,\n t,\n space,\n i,\n tag,\n l,\n isordered,\n istask,\n ischecked;\n\n while (src) {\n // newline\n if (cap = this.rules.newline.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[0].length > 1) {\n this.tokens.push({\n type: 'space'\n });\n }\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n text: !this.options.pedantic\n ? rtrim(cap, '\\n')\n : cap\n });\n continue;\n }\n\n // fences (gfm)\n if (cap = this.rules.fences.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'code',\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: cap[3] || ''\n });\n continue;\n }\n\n // heading\n if (cap = this.rules.heading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[1].length,\n text: cap[2]\n });\n continue;\n }\n\n // table no leading pipe (gfm)\n if (cap = this.rules.nptable.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(item.cells[i], item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // hr\n if (cap = this.rules.hr.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'hr'\n });\n continue;\n }\n\n // blockquote\n if (cap = this.rules.blockquote.exec(src)) {\n src = src.substring(cap[0].length);\n\n this.tokens.push({\n type: 'blockquote_start'\n });\n\n cap = cap[0].replace(/^ *> ?/gm, '');\n\n // Pass `top` to keep the current\n // \"toplevel\" state. This is exactly\n // how markdown.pl works.\n this.token(cap, top);\n\n this.tokens.push({\n type: 'blockquote_end'\n });\n\n continue;\n }\n\n // list\n if (cap = this.rules.list.exec(src)) {\n src = src.substring(cap[0].length);\n bull = cap[2];\n isordered = bull.length > 1;\n\n listStart = {\n type: 'list_start',\n ordered: isordered,\n start: isordered ? +bull : '',\n loose: false\n };\n\n this.tokens.push(listStart);\n\n // Get each top-level item.\n cap = cap[0].match(this.rules.item);\n\n listItems = [];\n next = false;\n l = cap.length;\n i = 0;\n\n for (; i < l; i++) {\n item = cap[i];\n\n // Remove the list item's bullet\n // so it is seen as the next token.\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+\\.) */, '');\n\n // Outdent whatever the\n // list item contains. Hacky.\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic\n ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n : item.replace(/^ {1,4}/gm, '');\n }\n\n // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n if (i !== l - 1) {\n b = block.bullet.exec(cap[i + 1])[0];\n if (bull.length > 1 ? b.length === 1\n : (b.length > 1 || (this.options.smartLists && b !== bull))) {\n src = cap.slice(i + 1).join('\\n') + src;\n i = l - 1;\n }\n }\n\n // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n listStart.loose = true;\n }\n\n // Check for task list items\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n\n t = {\n type: 'list_item_start',\n task: istask,\n checked: ischecked,\n loose: loose\n };\n\n listItems.push(t);\n this.tokens.push(t);\n\n // Recurse.\n this.token(item, false);\n\n this.tokens.push({\n type: 'list_item_end'\n });\n }\n\n if (listStart.loose) {\n l = listItems.length;\n i = 0;\n for (; i < l; i++) {\n listItems[i].loose = true;\n }\n }\n\n this.tokens.push({\n type: 'list_end'\n });\n\n continue;\n }\n\n // html\n if (cap = this.rules.html.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: this.options.sanitize\n ? 'paragraph'\n : 'html',\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: cap[0]\n });\n continue;\n }\n\n // def\n if (top && (cap = this.rules.def.exec(src))) {\n src = src.substring(cap[0].length);\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n if (!this.tokens.links[tag]) {\n this.tokens.links[tag] = {\n href: cap[2],\n title: cap[3]\n };\n }\n continue;\n }\n\n // table (gfm)\n if (cap = this.rules.table.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(\n item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''),\n item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // lheading\n if (cap = this.rules.lheading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[2] === '=' ? 1 : 2,\n text: cap[1]\n });\n continue;\n }\n\n // top-level paragraph\n if (top && (cap = this.rules.paragraph.exec(src))) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'paragraph',\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1]\n });\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n // Top-level should never reach here.\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'text',\n text: cap[0]\n });\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return this.tokens;\n};\n\n/**\n * Inline-Level Grammar\n */\n\nvar inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noop,\n tag: '^comment'\n + '|^</[a-zA-Z][\\\\w:-]*\\\\s*>' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. <?php ?>\n + '|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>' // declaration, e.g. <!DOCTYPE html>\n + '|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>', // CDATA section\n link: /^!?\\[(label)\\]\\(href(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n strong: /^__([^\\s_])__(?!_)|^\\*\\*([^\\s*])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,\n em: /^_([^\\s_])_(?!_)|^\\*([^\\s*\"<\\[])\\*(?!\\*)|^_([^\\s][\\s\\S]*?[^\\s_])_(?!_|[^\\spunctuation])|^_([^\\s_][\\s\\S]*?[^\\s])_(?!_|[^\\spunctuation])|^\\*([^\\s\"<\\[][\\s\\S]*?[^\\s*])\\*(?!\\*)|^\\*([^\\s*\"<\\[][\\s\\S]*?[^\\s])\\*(?!\\*)/,\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noop,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\<!\\[`*]|\\b_|$)|[^ ](?= {2,}\\n))|(?= {2,}\\n))/\n};\n\n// list of punctuation marks from common mark spec\n// without ` and ] to workaround Rule 17 (inline code blocks/links)\ninline._punctuation = '!\"#$%&\\'()*+,\\\\-./:;<=>?@\\\\[^_{|}~';\ninline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex();\n\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n .replace('comment', block._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\n\ninline._label = /(?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]?|`[^`]*`|`(?!`)|[^\\[\\]\\\\`])*?/;\ninline._href = /\\s*(<(?:\\\\[<>]?|[^\\s<>\\\\])*>|[^\\s\\x00-\\x1f]*)/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\n\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^~+(?=\\S)([\\s\\S]*?\\S)~+/,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\<!\\[`*~]|\\b_|https?:\\/\\/|ftp:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@))|(?= {2,}\\n|[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@))/\n});\n\ninline.gfm.url = edit(inline.gfm.url, 'i')\n .replace('email', inline.gfm._extended_email)\n .getRegex();\n/**\n * GFM + Line Breaks Inline Grammar\n */\n\ninline.breaks = merge({}, inline.gfm, {\n br: edit(inline.br).replace('{2,}', '*').getRegex(),\n text: edit(inline.gfm.text).replace(/\\{2,\\}/g, '*').getRegex()\n});\n\n/**\n * Inline Lexer & Compiler\n */\n\nfunction InlineLexer(links, options) {\n this.options = options || marked.defaults;\n this.links = links;\n this.rules = inline.normal;\n this.renderer = this.options.renderer || new Renderer();\n this.renderer.options = this.options;\n\n if (!this.links) {\n throw new Error('Tokens array requires a `links` property.');\n }\n\n if (this.options.pedantic) {\n this.rules = inline.pedantic;\n } else if (this.options.gfm) {\n if (this.options.breaks) {\n this.rules = inline.breaks;\n } else {\n this.rules = inline.gfm;\n }\n }\n}\n\n/**\n * Expose Inline Rules\n */\n\nInlineLexer.rules = inline;\n\n/**\n * Static Lexing/Compiling Method\n */\n\nInlineLexer.output = function(src, links, options) {\n var inline = new InlineLexer(links, options);\n return inline.output(src);\n};\n\n/**\n * Lexing/Compiling\n */\n\nInlineLexer.prototype.output = function(src) {\n var out = '',\n link,\n text,\n href,\n title,\n cap,\n prevCapZero;\n\n while (src) {\n // escape\n if (cap = this.rules.escape.exec(src)) {\n src = src.substring(cap[0].length);\n out += escape(cap[1]);\n continue;\n }\n\n // tag\n if (cap = this.rules.tag.exec(src)) {\n if (!this.inLink && /^<a /i.test(cap[0])) {\n this.inLink = true;\n } else if (this.inLink && /^<\\/a>/i.test(cap[0])) {\n this.inLink = false;\n }\n if (!this.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = true;\n } else if (this.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = false;\n }\n\n src = src.substring(cap[0].length);\n out += this.options.sanitize\n ? this.options.sanitizer\n ? this.options.sanitizer(cap[0])\n : escape(cap[0])\n : cap[0];\n continue;\n }\n\n // link\n if (cap = this.rules.link.exec(src)) {\n var lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n var linkLen = cap[0].length - (cap[2].length - lastParenIndex) - (cap[3] || '').length;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n src = src.substring(cap[0].length);\n this.inLink = true;\n href = cap[2];\n if (this.options.pedantic) {\n link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n } else {\n title = '';\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n out += this.outputLink(cap, {\n href: InlineLexer.escapes(href),\n title: InlineLexer.escapes(title)\n });\n this.inLink = false;\n continue;\n }\n\n // reflink, nolink\n if ((cap = this.rules.reflink.exec(src))\n || (cap = this.rules.nolink.exec(src))) {\n src = src.substring(cap[0].length);\n link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = this.links[link.toLowerCase()];\n if (!link || !link.href) {\n out += cap[0].charAt(0);\n src = cap[0].substring(1) + src;\n continue;\n }\n this.inLink = true;\n out += this.outputLink(cap, link);\n this.inLink = false;\n continue;\n }\n\n // strong\n if (cap = this.rules.strong.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // em\n if (cap = this.rules.em.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.codespan(escape(cap[2].trim(), true));\n continue;\n }\n\n // br\n if (cap = this.rules.br.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.br();\n continue;\n }\n\n // del (gfm)\n if (cap = this.rules.del.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.del(this.output(cap[1]));\n continue;\n }\n\n // autolink\n if (cap = this.rules.autolink.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = escape(this.mangle(cap[1]));\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // url (gfm)\n if (!this.inLink && (cap = this.rules.url.exec(src))) {\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n src = src.substring(cap[0].length);\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n src = src.substring(cap[0].length);\n if (this.inRawBlock) {\n out += this.renderer.text(cap[0]);\n } else {\n out += this.renderer.text(escape(this.smartypants(cap[0])));\n }\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return out;\n};\n\nInlineLexer.escapes = function(text) {\n return text ? text.replace(InlineLexer.rules._escapes, '$1') : text;\n};\n\n/**\n * Compile Link\n */\n\nInlineLexer.prototype.outputLink = function(cap, link) {\n var href = link.href,\n title = link.title ? escape(link.title) : null;\n\n return cap[0].charAt(0) !== '!'\n ? this.renderer.link(href, title, this.output(cap[1]))\n : this.renderer.image(href, title, escape(cap[1]));\n};\n\n/**\n * Smartypants Transformations\n */\n\nInlineLexer.prototype.smartypants = function(text) {\n if (!this.options.smartypants) return text;\n return text\n // em-dashes\n .replace(/---/g, '\\u2014')\n // en-dashes\n .replace(/--/g, '\\u2013')\n // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n // closing singles & apostrophes\n .replace(/'/g, '\\u2019')\n // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n // closing doubles\n .replace(/\"/g, '\\u201d')\n // ellipses\n .replace(/\\.{3}/g, '\\u2026');\n};\n\n/**\n * Mangle Links\n */\n\nInlineLexer.prototype.mangle = function(text) {\n if (!this.options.mangle) return text;\n var out = '',\n l = text.length,\n i = 0,\n ch;\n\n for (; i < l; i++) {\n ch = text.charCodeAt(i);\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '&#' + ch + ';';\n }\n\n return out;\n};\n\n/**\n * Renderer\n */\n\nfunction Renderer(options) {\n this.options = options || marked.defaults;\n}\n\nRenderer.prototype.code = function(code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n if (this.options.highlight) {\n var out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n\n if (!lang) {\n return '<pre><code>'\n + (escaped ? code : escape(code, true))\n + '</code></pre>';\n }\n\n return '<pre><code class=\"'\n + this.options.langPrefix\n + escape(lang, true)\n + '\">'\n + (escaped ? code : escape(code, true))\n + '</code></pre>\\n';\n};\n\nRenderer.prototype.blockquote = function(quote) {\n return '<blockquote>\\n' + quote + '</blockquote>\\n';\n};\n\nRenderer.prototype.html = function(html) {\n return html;\n};\n\nRenderer.prototype.heading = function(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return '<h'\n + level\n + ' id=\"'\n + this.options.headerPrefix\n + slugger.slug(raw)\n + '\">'\n + text\n + '</h'\n + level\n + '>\\n';\n }\n // ignore IDs\n return '<h' + level + '>' + text + '</h' + level + '>\\n';\n};\n\nRenderer.prototype.hr = function() {\n return this.options.xhtml ? '<hr/>\\n' : '<hr>\\n';\n};\n\nRenderer.prototype.list = function(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '</' + type + '>\\n';\n};\n\nRenderer.prototype.listitem = function(text) {\n return '<li>' + text + '</li>\\n';\n};\n\nRenderer.prototype.checkbox = function(checked) {\n return '<input '\n + (checked ? 'checked=\"\" ' : '')\n + 'disabled=\"\" type=\"checkbox\"'\n + (this.options.xhtml ? ' /' : '')\n + '> ';\n};\n\nRenderer.prototype.paragraph = function(text) {\n return '<p>' + text + '</p>\\n';\n};\n\nRenderer.prototype.table = function(header, body) {\n if (body) body = '<tbody>' + body + '</tbody>';\n\n return '<table>\\n'\n + '<thead>\\n'\n + header\n + '</thead>\\n'\n + body\n + '</table>\\n';\n};\n\nRenderer.prototype.tablerow = function(content) {\n return '<tr>\\n' + content + '</tr>\\n';\n};\n\nRenderer.prototype.tablecell = function(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align\n ? '<' + type + ' align=\"' + flags.align + '\">'\n : '<' + type + '>';\n return tag + content + '</' + type + '>\\n';\n};\n\n// span level renderer\nRenderer.prototype.strong = function(text) {\n return '<strong>' + text + '</strong>';\n};\n\nRenderer.prototype.em = function(text) {\n return '<em>' + text + '</em>';\n};\n\nRenderer.prototype.codespan = function(text) {\n return '<code>' + text + '</code>';\n};\n\nRenderer.prototype.br = function() {\n return this.options.xhtml ? '<br/>' : '<br>';\n};\n\nRenderer.prototype.del = function(text) {\n return '<del>' + text + '</del>';\n};\n\nRenderer.prototype.link = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n var out = '<a href=\"' + escape(href) + '\"';\n if (title) {\n out += ' title=\"' + title + '\"';\n }\n out += '>' + text + '</a>';\n return out;\n};\n\nRenderer.prototype.image = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n\n var out = '<img src=\"' + href + '\" alt=\"' + text + '\"';\n if (title) {\n out += ' title=\"' + title + '\"';\n }\n out += this.options.xhtml ? '/>' : '>';\n return out;\n};\n\nRenderer.prototype.text = function(text) {\n return text;\n};\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\n\nfunction TextRenderer() {}\n\n// no need for block level renderers\n\nTextRenderer.prototype.strong =\nTextRenderer.prototype.em =\nTextRenderer.prototype.codespan =\nTextRenderer.prototype.del =\nTextRenderer.prototype.text = function (text) {\n return text;\n};\n\nTextRenderer.prototype.link =\nTextRenderer.prototype.image = function(href, title, text) {\n return '' + text;\n};\n\nTextRenderer.prototype.br = function() {\n return '';\n};\n\n/**\n * Parsing & Compiling\n */\n\nfunction Parser(options) {\n this.tokens = [];\n this.token = null;\n this.options = options || marked.defaults;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.slugger = new Slugger();\n}\n\n/**\n * Static Parse Method\n */\n\nParser.parse = function(src, options) {\n var parser = new Parser(options);\n return parser.parse(src);\n};\n\n/**\n * Parse Loop\n */\n\nParser.prototype.parse = function(src) {\n this.inline = new InlineLexer(src.links, this.options);\n // use an InlineLexer with a TextRenderer to extract pure text\n this.inlineText = new InlineLexer(\n src.links,\n merge({}, this.options, {renderer: new TextRenderer()})\n );\n this.tokens = src.reverse();\n\n var out = '';\n while (this.next()) {\n out += this.tok();\n }\n\n return out;\n};\n\n/**\n * Next Token\n */\n\nParser.prototype.next = function() {\n return this.token = this.tokens.pop();\n};\n\n/**\n * Preview Next Token\n */\n\nParser.prototype.peek = function() {\n return this.tokens[this.tokens.length - 1] || 0;\n};\n\n/**\n * Parse Text Tokens\n */\n\nParser.prototype.parseText = function() {\n var body = this.token.text;\n\n while (this.peek().type === 'text') {\n body += '\\n' + this.next().text;\n }\n\n return this.inline.output(body);\n};\n\n/**\n * Parse Current Token\n */\n\nParser.prototype.tok = function() {\n switch (this.token.type) {\n case 'space': {\n return '';\n }\n case 'hr': {\n return this.renderer.hr();\n }\n case 'heading': {\n return this.renderer.heading(\n this.inline.output(this.token.text),\n this.token.depth,\n unescape(this.inlineText.output(this.token.text)),\n this.slugger);\n }\n case 'code': {\n return this.renderer.code(this.token.text,\n this.token.lang,\n this.token.escaped);\n }\n case 'table': {\n var header = '',\n body = '',\n i,\n row,\n cell,\n j;\n\n // header\n cell = '';\n for (i = 0; i < this.token.header.length; i++) {\n cell += this.renderer.tablecell(\n this.inline.output(this.token.header[i]),\n { header: true, align: this.token.align[i] }\n );\n }\n header += this.renderer.tablerow(cell);\n\n for (i = 0; i < this.token.cells.length; i++) {\n row = this.token.cells[i];\n\n cell = '';\n for (j = 0; j < row.length; j++) {\n cell += this.renderer.tablecell(\n this.inline.output(row[j]),\n { header: false, align: this.token.align[j] }\n );\n }\n\n body += this.renderer.tablerow(cell);\n }\n return this.renderer.table(header, body);\n }\n case 'blockquote_start': {\n body = '';\n\n while (this.next().type !== 'blockquote_end') {\n body += this.tok();\n }\n\n return this.renderer.blockquote(body);\n }\n case 'list_start': {\n body = '';\n var ordered = this.token.ordered,\n start = this.token.start;\n\n while (this.next().type !== 'list_end') {\n body += this.tok();\n }\n\n return this.renderer.list(body, ordered, start);\n }\n case 'list_item_start': {\n body = '';\n var loose = this.token.loose;\n var checked = this.token.checked;\n var task = this.token.task;\n\n if (this.token.task) {\n body += this.renderer.checkbox(checked);\n }\n\n while (this.next().type !== 'list_item_end') {\n body += !loose && this.token.type === 'text'\n ? this.parseText()\n : this.tok();\n }\n return this.renderer.listitem(body, task, checked);\n }\n case 'html': {\n // TODO parse inline content if parameter markdown=1\n return this.renderer.html(this.token.text);\n }\n case 'paragraph': {\n return this.renderer.paragraph(this.inline.output(this.token.text));\n }\n case 'text': {\n return this.renderer.paragraph(this.parseText());\n }\n default: {\n var errMsg = 'Token with \"' + this.token.type + '\" type was not found.';\n if (this.options.silent) {\n console.log(errMsg);\n } else {\n throw new Error(errMsg);\n }\n }\n }\n};\n\n/**\n * Slugger generates header id\n */\n\nfunction Slugger () {\n this.seen = {};\n}\n\n/**\n * Convert string to unique id\n */\n\nSlugger.prototype.slug = function (value) {\n var slug = value\n .toLowerCase()\n .trim()\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '')\n .replace(/\\s/g, '-');\n\n if (this.seen.hasOwnProperty(slug)) {\n var originalSlug = slug;\n do {\n this.seen[originalSlug]++;\n slug = originalSlug + '-' + this.seen[originalSlug];\n } while (this.seen.hasOwnProperty(slug));\n }\n this.seen[slug] = 0;\n\n return slug;\n};\n\n/**\n * Helpers\n */\n\nfunction escape(html, encode) {\n if (encode) {\n if (escape.escapeTest.test(html)) {\n return html.replace(escape.escapeReplace, function (ch) { return escape.replacements[ch]; });\n }\n } else {\n if (escape.escapeTestNoEncode.test(html)) {\n return html.replace(escape.escapeReplaceNoEncode, function (ch) { return escape.replacements[ch]; });\n }\n }\n\n return html;\n}\n\nescape.escapeTest = /[&<>\"']/;\nescape.escapeReplace = /[&<>\"']/g;\nescape.replacements = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;'\n};\n\nescape.escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\nescape.escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig, function(_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\n\nfunction edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n return {\n replace: function(name, val) {\n val = val.source || val;\n val = val.replace(/(^|[^\\[])\\^/g, '$1');\n regex = regex.replace(name, val);\n return this;\n },\n getRegex: function() {\n return new RegExp(regex, opt);\n }\n };\n}\n\nfunction cleanUrl(sanitize, base, href) {\n if (sanitize) {\n try {\n var prot = decodeURIComponent(unescape(href))\n .replace(/[^\\w:]/g, '')\n .toLowerCase();\n } catch (e) {\n return null;\n }\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n return href;\n}\n\nfunction resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (/^[^:]+:\\/*[^/]*$/.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n base = baseUrls[' ' + base];\n\n if (href.slice(0, 2) === '//') {\n return base.replace(/:[\\s\\S]*/, ':') + href;\n } else if (href.charAt(0) === '/') {\n return base.replace(/(:\\/*[^/]*)[\\s\\S]*/, '$1') + href;\n } else {\n return base + href;\n }\n}\nvar baseUrls = {};\nvar originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\nfunction noop() {}\nnoop.exec = noop;\n\nfunction merge(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n}\n\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function (match, offset, str) {\n var escaped = false,\n curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/),\n i = 0;\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) cells.push('');\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n\n// Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n// /c*$/ is vulnerable to REDOS.\n// invert: Remove suffix of non-c chars instead. Default falsey.\nfunction rtrim(str, c, invert) {\n if (str.length === 0) {\n return '';\n }\n\n // Length of suffix matching the invert condition.\n var suffLen = 0;\n\n // Step left until we fail to match the invert condition.\n while (suffLen < str.length) {\n var currChar = str.charAt(str.length - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.substr(0, str.length - suffLen);\n}\n\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n var level = 0;\n for (var i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n\n/**\n * Marked\n */\n\nfunction marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (callback || typeof opt === 'function') {\n if (!callback) {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n\n var highlight = opt.highlight,\n tokens,\n pending,\n i = 0;\n\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n pending = tokens.length;\n\n var done = function(err) {\n if (err) {\n opt.highlight = highlight;\n return callback(err);\n }\n\n var out;\n\n try {\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n\n opt.highlight = highlight;\n\n return err\n ? callback(err)\n : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n\n if (!pending) return done();\n\n for (; i < tokens.length; i++) {\n (function(token) {\n if (token.type !== 'code') {\n return --pending || done();\n }\n return highlight(token.text, token.lang, function(err, code) {\n if (err) return done(err);\n if (code == null || code === token.text) {\n return --pending || done();\n }\n token.text = code;\n token.escaped = true;\n --pending || done();\n });\n })(tokens[i]);\n }\n\n return;\n }\n try {\n if (opt) opt = merge({}, marked.defaults, opt);\n return Parser.parse(Lexer.lex(src, opt), opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if ((opt || marked.defaults).silent) {\n return '<p>An error occurred:</p><pre>'\n + escape(e.message + '', true)\n + '</pre>';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n return marked;\n};\n\nmarked.getDefaults = function () {\n return {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: new Renderer(),\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n tables: true,\n xhtml: false\n };\n};\n\nmarked.defaults = marked.getDefaults();\n\n/**\n * Expose\n */\n\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\n\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\n\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\n\nmarked.InlineLexer = InlineLexer;\nmarked.inlineLexer = InlineLexer.output;\n\nmarked.Slugger = Slugger;\n\nmarked.parse = marked;\n\nif (typeof module !== 'undefined' && typeof exports === 'object') {\n module.exports = marked;\n} else if (typeof define === 'function' && define.amd) {\n define(function() { return marked; });\n} else {\n root.marked = marked;\n}\n})(this || (typeof window !== 'undefined' ? window : global));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/marked/lib/marked.js\n// module id = ./node_modules/marked/lib/marked.js\n// module chunks = 31","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = ./node_modules/webpack/buildin/global.js\n// module chunks = 31"],"sourceRoot":""} \ No newline at end of file
+{"version":3,"sources":["webpack:///webpack/bootstrap 4bfd94912308a7356dc6","webpack:///./js/public-share.js","webpack:///./node_modules/marked/lib/marked.js","webpack:///(webpack)/buildin/global.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","$","document","ready","isPublic","val","mimetype","filesize","sharingToken","downloadUrl","OC","generateUrl","token","previewElement","renderer","__WEBPACK_IMPORTED_MODULE_0_marked___default","a","Renderer","link","href","title","text","prot","decodeURIComponent","unescape","replace","toLowerCase","e","indexOf","out","image","blockquote","quote","addClass","children","remove","success","content","removeClass","html","DOMPurify","sanitize","smartLists","SAFE_FOR_JQUERY","fail","result","substr","previewHeight","window","height","Math","max","ajax","url","headers","Range","textDiv","append","divHeight","length","ellipsis","appendTo","global","root","block","newline","code","fences","hr","heading","list","def","nptable","noop","table","lheading","_paragraph","Lexer","options","this","tokens","links","create","marked","defaults","rules","normal","pedantic","gfm","_label","_title","edit","getRegex","bullet","item","source","_tag","_comment","paragraph","merge","lex","src","top","next","loose","cap","bull","b","listStart","listItems","t","space","tag","isordered","istask","ischecked","exec","substring","push","type","lastToken","trimRight","codeBlockStyle","rtrim","lang","trim","depth","header","splitCells","align","split","cells","test","ordered","start","match","RegExp","slice","join","charAt","undefined","task","checked","pre","sanitizer","escape","Error","charCodeAt","inline","autolink","reflink","nolink","strong","em","br","del","InlineLexer","breaks","TextRenderer","Parser","slugger","Slugger","seen","encode","escapeTest","escapeReplace","ch","replacements","escapeTestNoEncode","escapeReplaceNoEncode","_","String","fromCharCode","parseInt","regex","opt","cleanUrl","base","originIndependentUrl","baseUrls","resolveUrl","encodeURI","_punctuation","_escapes","_scheme","_email","_attribute","_href","_extended_email","_backpedal","output","prevCapZero","inLink","inRawBlock","lastParenIndex","findClosingBracket","linkLen","outputLink","escapes","codespan","mangle","smartypants","random","toString","infostring","escaped","highlight","langPrefix","level","raw","headerIds","headerPrefix","slug","xhtml","body","listitem","checkbox","tablerow","tablecell","flags","baseUrl","parse","inlineText","reverse","tok","pop","peek","parseText","row","cell","j","errMsg","silent","console","log","value","originalSlug","&","<",">","\"","'","obj","target","key","arguments","tableRow","count","offset","str","curr","splice","invert","suffLen","currChar","checkSanitizeDeprecation","warn","callback","pending","done","err","message","setOptions","getDefaults","parser","lexer","inlineLexer","g","Function","eval"],"mappings":"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","file":"public-share.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./js/public-share.js\");\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 4bfd94912308a7356dc6","import marked from 'marked'\n\n// FIXME: Hack for single public file view since it is not attached to the fileslist\n$(document).ready(function(){\n\tvar isPublic = $('#isPublic').val();\n\tvar mimetype = $('#mimetype').val();\n\tvar filesize = $('#filesize').val();\n\n\tif (isPublic &&\n\t\tmimetype === 'text/markdown' &&\n\t\tfilesize < 524288) {\n\n\t\tvar sharingToken = $('#sharingToken').val();\n\t\tvar downloadUrl = OC.generateUrl('/s/{token}/download', {token: sharingToken});\n\t\tvar previewElement = $('#imgframe');\n\t\tvar renderer = new marked.Renderer();\n\t\trenderer.link = function(href, title, text) {\n\t\t\ttry {\n\t\t\t\tvar prot = decodeURIComponent(unescape(href))\n\t\t\t\t\t.replace(/[^\\w:]/g, '')\n\t\t\t\t\t.toLowerCase();\n\t\t\t} catch (e) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\tif (prot.indexOf('http:') !== 0 && prot.indexOf('https:') !== 0) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\tvar out = '<a href=\"' + href + '\" rel=\"noreferrer noopener\"';\n\t\t\tif (title) {\n\t\t\t\tout += ' title=\"' + title + '\"';\n\t\t\t}\n\t\t\tout += '>' + text + '</a>';\n\t\t\treturn out;\n\t\t};\n\t\trenderer.image = function(href, title, text) {\n\t\t\tif (text) {\n\t\t\t\treturn text;\n\t\t\t}\n\t\t\treturn title;\n\t\t};\n\t\trenderer.blockquote = function(quote) {\n\t\t\treturn quote;\n\t\t};\n\n\t\tpreviewElement\n\t\t\t.addClass('icon-loading')\n\t\t\t.children().remove();\n\n\t\t$.get(downloadUrl).success(function(content) {\n\t\t\tpreviewElement\n\t\t\t\t.removeClass('icon-loading')\n\t\t\t\t.addClass('preview formatted-text')\n\t\t\t\t.html(DOMPurify.sanitize(\n\t\t\t\t\tmarked(content, {\n\t\t\t\t\t\trenderer: renderer,\n\t\t\t\t\t\tsmartLists: true\n\t\t\t\t\t}),\n\t\t\t\t\t{\n\t\t\t\t\t\tSAFE_FOR_JQUERY: true\n\t\t\t\t\t}\n\t\t\t\t));\n\t\t}).fail(function(result){\n\t\t\tpreviewElement\n\t\t\t\t.removeClass('icon-loading');\n\t\t});\n\t} else if (isPublic &&\n\t\t\t mimetype.substr(0, mimetype.indexOf('/')) === 'text') {\n\t\t// Based on default text previews from \"files_sharing/js/public.js\", but\n\t\t// using the public endpoint from files_texteditor for better character\n\t\t// encoding support.\n\t\tvar previewElement = $('#imgframe');\n\t\tpreviewElement\n\t\t\t.addClass('icon-loading')\n\t\t\t.children().remove();\n\n\t\tvar bottomMargin = 350;\n\t\tvar previewHeight = $(window).height() - bottomMargin;\n\t\tpreviewHeight = Math.max(200, previewHeight);\n\n\t\tvar sharingToken = $('#sharingToken').val();\n\t\t$.ajax({\n\t\t\turl: OC.generateUrl('/apps/files_texteditor/public/{token}', { token: sharingToken }),\n\t\t\theaders: {\n\t\t\t\t'Range': 'bytes=0-524288'\n\t\t\t}\n\t\t}).success(function(content) {\n\t\t\tvar textDiv = $('<div/>').addClass('text-preview default-overridden');\n\t\t\ttextDiv.text(content);\n\n\t\t\tpreviewElement\n\t\t\t\t.removeClass('icon-loading')\n\t\t\t\t.addClass('preview')\n\t\t\t\t.append(textDiv);\n\n\t\t\tvar divHeight = textDiv.height();\n\t\t\tif (content.length > 524289) {\n\t\t\t\tvar ellipsis = $('<div/>').addClass('ellipsis');\n\t\t\t\tellipsis.html('(&#133;)');\n\t\t\t\tellipsis.appendTo('#imgframe');\n\t\t\t}\n\t\t\tif (divHeight > previewHeight) {\n\t\t\t\ttextDiv.height(previewHeight);\n\t\t\t}\n\t\t});\n\t}\n});\n\n\n\n// WEBPACK FOOTER //\n// ./js/public-share.js","/**\n * marked - a markdown parser\n * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n;(function(root) {\n'use strict';\n\n/**\n * Block-Level Grammar\n */\n\nvar block = {\n newline: /^\\n+/,\n code: /^( {4}[^\\n]+\\n*)+/,\n fences: /^ {0,3}(`{3,}|~{3,})([^`~\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n heading: /^ {0,3}(#{1,6}) +([^\\n]*?)(?: +#+)? *(?:\\n+|$)/,\n blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n html: '^ {0,3}(?:' // optional indentation\n + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)' // (1)\n + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n + '|<![A-Z][\\\\s\\\\S]*?>\\\\n*' // (4)\n + '|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\\\\n*' // (5)\n + '|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n + '|</(?!script|pre|style)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n + ')',\n def: /^ {0,3}\\[(label)\\]: *\\n? *<?([^\\s>]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n nptable: noop,\n table: noop,\n lheading: /^([^\\n]+)\\n {0,3}(=+|-+) *(?:\\n+|$)/,\n // regex template, placeholders will be replaced according to different paragraph\n // interruption rules of commonmark and the original markdown spec:\n _paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading|blockquote|fences|list|html)[^\\n]+)*)/,\n text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n .replace('label', block._label)\n .replace('title', block._title)\n .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}\\.)/;\nblock.item = /^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/;\nblock.item = edit(block.item, 'gm')\n .replace(/bull/g, block.bullet)\n .getRegex();\n\nblock.list = edit(block.list)\n .replace(/bull/g, block.bullet)\n .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n .replace('def', '\\\\n+(?=' + block.def.source + ')')\n .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n + '|track|ul';\nblock._comment = /<!--(?!-?>)[\\s\\S]*?-->/;\nblock.html = edit(block.html, 'i')\n .replace('comment', block._comment)\n .replace('tag', block._tag)\n .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n .getRegex();\n\nblock.paragraph = edit(block._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' {0,3}#{1,6} +')\n .replace('|lheading', '') // setex headings don't interrupt commonmark paragraphs\n .replace('blockquote', ' {0,3}>')\n .replace('fences', ' {0,3}(?:`{3,}|~{3,})[^`\\\\n]*\\\\n')\n .replace('list', ' {0,3}(?:[*+-]|1[.)]) ') // only lists starting from 1 can interrupt\n .replace('html', '</?(?:tag)(?: +|\\\\n|/?>)|<(?:script|pre|style|!--)')\n .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n .replace('paragraph', block.paragraph)\n .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n nptable: /^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:.*[^>\\n ].*(?:\\n|$))*)\\n*|$)/,\n table: /^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n((?: *[^>\\n ].*(?:\\n|$))*)\\n*|$)/\n});\n\n/**\n * Pedantic grammar (original John Gruber's loose markdown specification)\n */\n\nblock.pedantic = merge({}, block.normal, {\n html: edit(\n '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n + '|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n + '|<tag(?:\"[^\"]*\"|\\'[^\\']*\\'|\\\\s[^\\'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n .replace('comment', block._comment)\n .replace(/tag/g, '(?!(?:'\n + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n .getRegex(),\n def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/,\n heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n fences: noop, // fences not supported\n paragraph: edit(block.normal._paragraph)\n .replace('hr', block.hr)\n .replace('heading', ' *#{1,6} *[^\\n]')\n .replace('lheading', block.lheading)\n .replace('blockquote', ' {0,3}>')\n .replace('|fences', '')\n .replace('|list', '')\n .replace('|html', '')\n .getRegex()\n});\n\n/**\n * Block Lexer\n */\n\nfunction Lexer(options) {\n this.tokens = [];\n this.tokens.links = Object.create(null);\n this.options = options || marked.defaults;\n this.rules = block.normal;\n\n if (this.options.pedantic) {\n this.rules = block.pedantic;\n } else if (this.options.gfm) {\n this.rules = block.gfm;\n }\n}\n\n/**\n * Expose Block Rules\n */\n\nLexer.rules = block;\n\n/**\n * Static Lex Method\n */\n\nLexer.lex = function(src, options) {\n var lexer = new Lexer(options);\n return lexer.lex(src);\n};\n\n/**\n * Preprocessing\n */\n\nLexer.prototype.lex = function(src) {\n src = src\n .replace(/\\r\\n|\\r/g, '\\n')\n .replace(/\\t/g, ' ')\n .replace(/\\u00a0/g, ' ')\n .replace(/\\u2424/g, '\\n');\n\n return this.token(src, true);\n};\n\n/**\n * Lexing\n */\n\nLexer.prototype.token = function(src, top) {\n src = src.replace(/^ +$/gm, '');\n var next,\n loose,\n cap,\n bull,\n b,\n item,\n listStart,\n listItems,\n t,\n space,\n i,\n tag,\n l,\n isordered,\n istask,\n ischecked;\n\n while (src) {\n // newline\n if (cap = this.rules.newline.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[0].length > 1) {\n this.tokens.push({\n type: 'space'\n });\n }\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n var lastToken = this.tokens[this.tokens.length - 1];\n src = src.substring(cap[0].length);\n // An indented code block cannot interrupt a paragraph.\n if (lastToken && lastToken.type === 'paragraph') {\n lastToken.text += '\\n' + cap[0].trimRight();\n } else {\n cap = cap[0].replace(/^ {4}/gm, '');\n this.tokens.push({\n type: 'code',\n codeBlockStyle: 'indented',\n text: !this.options.pedantic\n ? rtrim(cap, '\\n')\n : cap\n });\n }\n continue;\n }\n\n // fences\n if (cap = this.rules.fences.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'code',\n lang: cap[2] ? cap[2].trim() : cap[2],\n text: cap[3] || ''\n });\n continue;\n }\n\n // heading\n if (cap = this.rules.heading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[1].length,\n text: cap[2]\n });\n continue;\n }\n\n // table no leading pipe (gfm)\n if (cap = this.rules.nptable.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(item.cells[i], item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // hr\n if (cap = this.rules.hr.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'hr'\n });\n continue;\n }\n\n // blockquote\n if (cap = this.rules.blockquote.exec(src)) {\n src = src.substring(cap[0].length);\n\n this.tokens.push({\n type: 'blockquote_start'\n });\n\n cap = cap[0].replace(/^ *> ?/gm, '');\n\n // Pass `top` to keep the current\n // \"toplevel\" state. This is exactly\n // how markdown.pl works.\n this.token(cap, top);\n\n this.tokens.push({\n type: 'blockquote_end'\n });\n\n continue;\n }\n\n // list\n if (cap = this.rules.list.exec(src)) {\n src = src.substring(cap[0].length);\n bull = cap[2];\n isordered = bull.length > 1;\n\n listStart = {\n type: 'list_start',\n ordered: isordered,\n start: isordered ? +bull : '',\n loose: false\n };\n\n this.tokens.push(listStart);\n\n // Get each top-level item.\n cap = cap[0].match(this.rules.item);\n\n listItems = [];\n next = false;\n l = cap.length;\n i = 0;\n\n for (; i < l; i++) {\n item = cap[i];\n\n // Remove the list item's bullet\n // so it is seen as the next token.\n space = item.length;\n item = item.replace(/^ *([*+-]|\\d+\\.) */, '');\n\n // Outdent whatever the\n // list item contains. Hacky.\n if (~item.indexOf('\\n ')) {\n space -= item.length;\n item = !this.options.pedantic\n ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n : item.replace(/^ {1,4}/gm, '');\n }\n\n // Determine whether the next list item belongs here.\n // Backpedal if it does not belong in this list.\n if (i !== l - 1) {\n b = block.bullet.exec(cap[i + 1])[0];\n if (bull.length > 1 ? b.length === 1\n : (b.length > 1 || (this.options.smartLists && b !== bull))) {\n src = cap.slice(i + 1).join('\\n') + src;\n i = l - 1;\n }\n }\n\n // Determine whether item is loose or not.\n // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n // for discount behavior.\n loose = next || /\\n\\n(?!\\s*$)/.test(item);\n if (i !== l - 1) {\n next = item.charAt(item.length - 1) === '\\n';\n if (!loose) loose = next;\n }\n\n if (loose) {\n listStart.loose = true;\n }\n\n // Check for task list items\n istask = /^\\[[ xX]\\] /.test(item);\n ischecked = undefined;\n if (istask) {\n ischecked = item[1] !== ' ';\n item = item.replace(/^\\[[ xX]\\] +/, '');\n }\n\n t = {\n type: 'list_item_start',\n task: istask,\n checked: ischecked,\n loose: loose\n };\n\n listItems.push(t);\n this.tokens.push(t);\n\n // Recurse.\n this.token(item, false);\n\n this.tokens.push({\n type: 'list_item_end'\n });\n }\n\n if (listStart.loose) {\n l = listItems.length;\n i = 0;\n for (; i < l; i++) {\n listItems[i].loose = true;\n }\n }\n\n this.tokens.push({\n type: 'list_end'\n });\n\n continue;\n }\n\n // html\n if (cap = this.rules.html.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: this.options.sanitize\n ? 'paragraph'\n : 'html',\n pre: !this.options.sanitizer\n && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n text: this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0]\n });\n continue;\n }\n\n // def\n if (top && (cap = this.rules.def.exec(src))) {\n src = src.substring(cap[0].length);\n if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n if (!this.tokens.links[tag]) {\n this.tokens.links[tag] = {\n href: cap[2],\n title: cap[3]\n };\n }\n continue;\n }\n\n // table (gfm)\n if (cap = this.rules.table.exec(src)) {\n item = {\n type: 'table',\n header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n };\n\n if (item.header.length === item.align.length) {\n src = src.substring(cap[0].length);\n\n for (i = 0; i < item.align.length; i++) {\n if (/^ *-+: *$/.test(item.align[i])) {\n item.align[i] = 'right';\n } else if (/^ *:-+: *$/.test(item.align[i])) {\n item.align[i] = 'center';\n } else if (/^ *:-+ *$/.test(item.align[i])) {\n item.align[i] = 'left';\n } else {\n item.align[i] = null;\n }\n }\n\n for (i = 0; i < item.cells.length; i++) {\n item.cells[i] = splitCells(\n item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''),\n item.header.length);\n }\n\n this.tokens.push(item);\n\n continue;\n }\n }\n\n // lheading\n if (cap = this.rules.lheading.exec(src)) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'heading',\n depth: cap[2].charAt(0) === '=' ? 1 : 2,\n text: cap[1]\n });\n continue;\n }\n\n // top-level paragraph\n if (top && (cap = this.rules.paragraph.exec(src))) {\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'paragraph',\n text: cap[1].charAt(cap[1].length - 1) === '\\n'\n ? cap[1].slice(0, -1)\n : cap[1]\n });\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n // Top-level should never reach here.\n src = src.substring(cap[0].length);\n this.tokens.push({\n type: 'text',\n text: cap[0]\n });\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return this.tokens;\n};\n\n/**\n * Inline-Level Grammar\n */\n\nvar inline = {\n escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n url: noop,\n tag: '^comment'\n + '|^</[a-zA-Z][\\\\w:-]*\\\\s*>' // self-closing tag\n + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. <?php ?>\n + '|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>' // declaration, e.g. <!DOCTYPE html>\n + '|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>', // CDATA section\n link: /^!?\\[(label)\\]\\(\\s*(href)(?:\\s+(title))?\\s*\\)/,\n reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n strong: /^__([^\\s_])__(?!_)|^\\*\\*([^\\s*])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,\n em: /^_([^\\s_])_(?!_)|^\\*([^\\s*<\\[])\\*(?!\\*)|^_([^\\s<][\\s\\S]*?[^\\s_])_(?!_|[^\\spunctuation])|^_([^\\s_<][\\s\\S]*?[^\\s])_(?!_|[^\\spunctuation])|^\\*([^\\s<\"][\\s\\S]*?[^\\s\\*])\\*(?!\\*|[^\\spunctuation])|^\\*([^\\s*\"<\\[][\\s\\S]*?[^\\s])\\*(?!\\*)/,\n code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n del: noop,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\<!\\[`*]|\\b_|$)|[^ ](?= {2,}\\n))|(?= {2,}\\n))/\n};\n\n// list of punctuation marks from common mark spec\n// without ` and ] to workaround Rule 17 (inline code blocks/links)\ninline._punctuation = '!\"#$%&\\'()*+,\\\\-./:;<=>?@\\\\[^_{|}~';\ninline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex();\n\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n .replace('scheme', inline._scheme)\n .replace('email', inline._email)\n .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n .replace('comment', block._comment)\n .replace('attribute', inline._attribute)\n .getRegex();\n\ninline._label = /(?:\\[[^\\[\\]]*\\]|\\\\.|`[^`]*`|[^\\[\\]\\\\`])*?/;\ninline._href = /<(?:\\\\[<>]?|[^\\s<>\\\\])*>|[^\\s\\x00-\\x1f]*/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n .replace('label', inline._label)\n .replace('href', inline._href)\n .replace('title', inline._title)\n .getRegex();\n\ninline.reflink = edit(inline.reflink)\n .replace('label', inline._label)\n .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,\n link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n .replace('label', inline._label)\n .getRegex(),\n reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n .replace('label', inline._label)\n .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n del: /^~+(?=\\S)([\\s\\S]*?\\S)~+/,\n text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\<!\\[`*~]|\\b_|https?:\\/\\/|ftp:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@))|(?= {2,}\\n|[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@))/\n});\n\ninline.gfm.url = edit(inline.gfm.url, 'i')\n .replace('email', inline.gfm._extended_email)\n .getRegex();\n/**\n * GFM + Line Breaks Inline Grammar\n */\n\ninline.breaks = merge({}, inline.gfm, {\n br: edit(inline.br).replace('{2,}', '*').getRegex(),\n text: edit(inline.gfm.text)\n .replace('\\\\b_', '\\\\b_| {2,}\\\\n')\n .replace(/\\{2,\\}/g, '*')\n .getRegex()\n});\n\n/**\n * Inline Lexer & Compiler\n */\n\nfunction InlineLexer(links, options) {\n this.options = options || marked.defaults;\n this.links = links;\n this.rules = inline.normal;\n this.renderer = this.options.renderer || new Renderer();\n this.renderer.options = this.options;\n\n if (!this.links) {\n throw new Error('Tokens array requires a `links` property.');\n }\n\n if (this.options.pedantic) {\n this.rules = inline.pedantic;\n } else if (this.options.gfm) {\n if (this.options.breaks) {\n this.rules = inline.breaks;\n } else {\n this.rules = inline.gfm;\n }\n }\n}\n\n/**\n * Expose Inline Rules\n */\n\nInlineLexer.rules = inline;\n\n/**\n * Static Lexing/Compiling Method\n */\n\nInlineLexer.output = function(src, links, options) {\n var inline = new InlineLexer(links, options);\n return inline.output(src);\n};\n\n/**\n * Lexing/Compiling\n */\n\nInlineLexer.prototype.output = function(src) {\n var out = '',\n link,\n text,\n href,\n title,\n cap,\n prevCapZero;\n\n while (src) {\n // escape\n if (cap = this.rules.escape.exec(src)) {\n src = src.substring(cap[0].length);\n out += escape(cap[1]);\n continue;\n }\n\n // tag\n if (cap = this.rules.tag.exec(src)) {\n if (!this.inLink && /^<a /i.test(cap[0])) {\n this.inLink = true;\n } else if (this.inLink && /^<\\/a>/i.test(cap[0])) {\n this.inLink = false;\n }\n if (!this.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = true;\n } else if (this.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n this.inRawBlock = false;\n }\n\n src = src.substring(cap[0].length);\n out += this.options.sanitize\n ? this.options.sanitizer\n ? this.options.sanitizer(cap[0])\n : escape(cap[0])\n : cap[0];\n continue;\n }\n\n // link\n if (cap = this.rules.link.exec(src)) {\n var lastParenIndex = findClosingBracket(cap[2], '()');\n if (lastParenIndex > -1) {\n var linkLen = 4 + cap[1].length + lastParenIndex;\n cap[2] = cap[2].substring(0, lastParenIndex);\n cap[0] = cap[0].substring(0, linkLen).trim();\n cap[3] = '';\n }\n src = src.substring(cap[0].length);\n this.inLink = true;\n href = cap[2];\n if (this.options.pedantic) {\n link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n if (link) {\n href = link[1];\n title = link[3];\n } else {\n title = '';\n }\n } else {\n title = cap[3] ? cap[3].slice(1, -1) : '';\n }\n href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n out += this.outputLink(cap, {\n href: InlineLexer.escapes(href),\n title: InlineLexer.escapes(title)\n });\n this.inLink = false;\n continue;\n }\n\n // reflink, nolink\n if ((cap = this.rules.reflink.exec(src))\n || (cap = this.rules.nolink.exec(src))) {\n src = src.substring(cap[0].length);\n link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n link = this.links[link.toLowerCase()];\n if (!link || !link.href) {\n out += cap[0].charAt(0);\n src = cap[0].substring(1) + src;\n continue;\n }\n this.inLink = true;\n out += this.outputLink(cap, link);\n this.inLink = false;\n continue;\n }\n\n // strong\n if (cap = this.rules.strong.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // em\n if (cap = this.rules.em.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));\n continue;\n }\n\n // code\n if (cap = this.rules.code.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.codespan(escape(cap[2].trim(), true));\n continue;\n }\n\n // br\n if (cap = this.rules.br.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.br();\n continue;\n }\n\n // del (gfm)\n if (cap = this.rules.del.exec(src)) {\n src = src.substring(cap[0].length);\n out += this.renderer.del(this.output(cap[1]));\n continue;\n }\n\n // autolink\n if (cap = this.rules.autolink.exec(src)) {\n src = src.substring(cap[0].length);\n if (cap[2] === '@') {\n text = escape(this.mangle(cap[1]));\n href = 'mailto:' + text;\n } else {\n text = escape(cap[1]);\n href = text;\n }\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // url (gfm)\n if (!this.inLink && (cap = this.rules.url.exec(src))) {\n if (cap[2] === '@') {\n text = escape(cap[0]);\n href = 'mailto:' + text;\n } else {\n // do extended autolink path validation\n do {\n prevCapZero = cap[0];\n cap[0] = this.rules._backpedal.exec(cap[0])[0];\n } while (prevCapZero !== cap[0]);\n text = escape(cap[0]);\n if (cap[1] === 'www.') {\n href = 'http://' + text;\n } else {\n href = text;\n }\n }\n src = src.substring(cap[0].length);\n out += this.renderer.link(href, null, text);\n continue;\n }\n\n // text\n if (cap = this.rules.text.exec(src)) {\n src = src.substring(cap[0].length);\n if (this.inRawBlock) {\n out += this.renderer.text(this.options.sanitize ? (this.options.sanitizer ? this.options.sanitizer(cap[0]) : escape(cap[0])) : cap[0]);\n } else {\n out += this.renderer.text(escape(this.smartypants(cap[0])));\n }\n continue;\n }\n\n if (src) {\n throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n }\n }\n\n return out;\n};\n\nInlineLexer.escapes = function(text) {\n return text ? text.replace(InlineLexer.rules._escapes, '$1') : text;\n};\n\n/**\n * Compile Link\n */\n\nInlineLexer.prototype.outputLink = function(cap, link) {\n var href = link.href,\n title = link.title ? escape(link.title) : null;\n\n return cap[0].charAt(0) !== '!'\n ? this.renderer.link(href, title, this.output(cap[1]))\n : this.renderer.image(href, title, escape(cap[1]));\n};\n\n/**\n * Smartypants Transformations\n */\n\nInlineLexer.prototype.smartypants = function(text) {\n if (!this.options.smartypants) return text;\n return text\n // em-dashes\n .replace(/---/g, '\\u2014')\n // en-dashes\n .replace(/--/g, '\\u2013')\n // opening singles\n .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n // closing singles & apostrophes\n .replace(/'/g, '\\u2019')\n // opening doubles\n .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n // closing doubles\n .replace(/\"/g, '\\u201d')\n // ellipses\n .replace(/\\.{3}/g, '\\u2026');\n};\n\n/**\n * Mangle Links\n */\n\nInlineLexer.prototype.mangle = function(text) {\n if (!this.options.mangle) return text;\n var out = '',\n l = text.length,\n i = 0,\n ch;\n\n for (; i < l; i++) {\n ch = text.charCodeAt(i);\n if (Math.random() > 0.5) {\n ch = 'x' + ch.toString(16);\n }\n out += '&#' + ch + ';';\n }\n\n return out;\n};\n\n/**\n * Renderer\n */\n\nfunction Renderer(options) {\n this.options = options || marked.defaults;\n}\n\nRenderer.prototype.code = function(code, infostring, escaped) {\n var lang = (infostring || '').match(/\\S*/)[0];\n if (this.options.highlight) {\n var out = this.options.highlight(code, lang);\n if (out != null && out !== code) {\n escaped = true;\n code = out;\n }\n }\n\n if (!lang) {\n return '<pre><code>'\n + (escaped ? code : escape(code, true))\n + '</code></pre>';\n }\n\n return '<pre><code class=\"'\n + this.options.langPrefix\n + escape(lang, true)\n + '\">'\n + (escaped ? code : escape(code, true))\n + '</code></pre>\\n';\n};\n\nRenderer.prototype.blockquote = function(quote) {\n return '<blockquote>\\n' + quote + '</blockquote>\\n';\n};\n\nRenderer.prototype.html = function(html) {\n return html;\n};\n\nRenderer.prototype.heading = function(text, level, raw, slugger) {\n if (this.options.headerIds) {\n return '<h'\n + level\n + ' id=\"'\n + this.options.headerPrefix\n + slugger.slug(raw)\n + '\">'\n + text\n + '</h'\n + level\n + '>\\n';\n }\n // ignore IDs\n return '<h' + level + '>' + text + '</h' + level + '>\\n';\n};\n\nRenderer.prototype.hr = function() {\n return this.options.xhtml ? '<hr/>\\n' : '<hr>\\n';\n};\n\nRenderer.prototype.list = function(body, ordered, start) {\n var type = ordered ? 'ol' : 'ul',\n startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n return '<' + type + startatt + '>\\n' + body + '</' + type + '>\\n';\n};\n\nRenderer.prototype.listitem = function(text) {\n return '<li>' + text + '</li>\\n';\n};\n\nRenderer.prototype.checkbox = function(checked) {\n return '<input '\n + (checked ? 'checked=\"\" ' : '')\n + 'disabled=\"\" type=\"checkbox\"'\n + (this.options.xhtml ? ' /' : '')\n + '> ';\n};\n\nRenderer.prototype.paragraph = function(text) {\n return '<p>' + text + '</p>\\n';\n};\n\nRenderer.prototype.table = function(header, body) {\n if (body) body = '<tbody>' + body + '</tbody>';\n\n return '<table>\\n'\n + '<thead>\\n'\n + header\n + '</thead>\\n'\n + body\n + '</table>\\n';\n};\n\nRenderer.prototype.tablerow = function(content) {\n return '<tr>\\n' + content + '</tr>\\n';\n};\n\nRenderer.prototype.tablecell = function(content, flags) {\n var type = flags.header ? 'th' : 'td';\n var tag = flags.align\n ? '<' + type + ' align=\"' + flags.align + '\">'\n : '<' + type + '>';\n return tag + content + '</' + type + '>\\n';\n};\n\n// span level renderer\nRenderer.prototype.strong = function(text) {\n return '<strong>' + text + '</strong>';\n};\n\nRenderer.prototype.em = function(text) {\n return '<em>' + text + '</em>';\n};\n\nRenderer.prototype.codespan = function(text) {\n return '<code>' + text + '</code>';\n};\n\nRenderer.prototype.br = function() {\n return this.options.xhtml ? '<br/>' : '<br>';\n};\n\nRenderer.prototype.del = function(text) {\n return '<del>' + text + '</del>';\n};\n\nRenderer.prototype.link = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n var out = '<a href=\"' + escape(href) + '\"';\n if (title) {\n out += ' title=\"' + title + '\"';\n }\n out += '>' + text + '</a>';\n return out;\n};\n\nRenderer.prototype.image = function(href, title, text) {\n href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n if (href === null) {\n return text;\n }\n\n var out = '<img src=\"' + href + '\" alt=\"' + text + '\"';\n if (title) {\n out += ' title=\"' + title + '\"';\n }\n out += this.options.xhtml ? '/>' : '>';\n return out;\n};\n\nRenderer.prototype.text = function(text) {\n return text;\n};\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\n\nfunction TextRenderer() {}\n\n// no need for block level renderers\n\nTextRenderer.prototype.strong =\nTextRenderer.prototype.em =\nTextRenderer.prototype.codespan =\nTextRenderer.prototype.del =\nTextRenderer.prototype.text = function(text) {\n return text;\n};\n\nTextRenderer.prototype.link =\nTextRenderer.prototype.image = function(href, title, text) {\n return '' + text;\n};\n\nTextRenderer.prototype.br = function() {\n return '';\n};\n\n/**\n * Parsing & Compiling\n */\n\nfunction Parser(options) {\n this.tokens = [];\n this.token = null;\n this.options = options || marked.defaults;\n this.options.renderer = this.options.renderer || new Renderer();\n this.renderer = this.options.renderer;\n this.renderer.options = this.options;\n this.slugger = new Slugger();\n}\n\n/**\n * Static Parse Method\n */\n\nParser.parse = function(src, options) {\n var parser = new Parser(options);\n return parser.parse(src);\n};\n\n/**\n * Parse Loop\n */\n\nParser.prototype.parse = function(src) {\n this.inline = new InlineLexer(src.links, this.options);\n // use an InlineLexer with a TextRenderer to extract pure text\n this.inlineText = new InlineLexer(\n src.links,\n merge({}, this.options, { renderer: new TextRenderer() })\n );\n this.tokens = src.reverse();\n\n var out = '';\n while (this.next()) {\n out += this.tok();\n }\n\n return out;\n};\n\n/**\n * Next Token\n */\n\nParser.prototype.next = function() {\n this.token = this.tokens.pop();\n return this.token;\n};\n\n/**\n * Preview Next Token\n */\n\nParser.prototype.peek = function() {\n return this.tokens[this.tokens.length - 1] || 0;\n};\n\n/**\n * Parse Text Tokens\n */\n\nParser.prototype.parseText = function() {\n var body = this.token.text;\n\n while (this.peek().type === 'text') {\n body += '\\n' + this.next().text;\n }\n\n return this.inline.output(body);\n};\n\n/**\n * Parse Current Token\n */\n\nParser.prototype.tok = function() {\n switch (this.token.type) {\n case 'space': {\n return '';\n }\n case 'hr': {\n return this.renderer.hr();\n }\n case 'heading': {\n return this.renderer.heading(\n this.inline.output(this.token.text),\n this.token.depth,\n unescape(this.inlineText.output(this.token.text)),\n this.slugger);\n }\n case 'code': {\n return this.renderer.code(this.token.text,\n this.token.lang,\n this.token.escaped);\n }\n case 'table': {\n var header = '',\n body = '',\n i,\n row,\n cell,\n j;\n\n // header\n cell = '';\n for (i = 0; i < this.token.header.length; i++) {\n cell += this.renderer.tablecell(\n this.inline.output(this.token.header[i]),\n { header: true, align: this.token.align[i] }\n );\n }\n header += this.renderer.tablerow(cell);\n\n for (i = 0; i < this.token.cells.length; i++) {\n row = this.token.cells[i];\n\n cell = '';\n for (j = 0; j < row.length; j++) {\n cell += this.renderer.tablecell(\n this.inline.output(row[j]),\n { header: false, align: this.token.align[j] }\n );\n }\n\n body += this.renderer.tablerow(cell);\n }\n return this.renderer.table(header, body);\n }\n case 'blockquote_start': {\n body = '';\n\n while (this.next().type !== 'blockquote_end') {\n body += this.tok();\n }\n\n return this.renderer.blockquote(body);\n }\n case 'list_start': {\n body = '';\n var ordered = this.token.ordered,\n start = this.token.start;\n\n while (this.next().type !== 'list_end') {\n body += this.tok();\n }\n\n return this.renderer.list(body, ordered, start);\n }\n case 'list_item_start': {\n body = '';\n var loose = this.token.loose;\n var checked = this.token.checked;\n var task = this.token.task;\n\n if (this.token.task) {\n body += this.renderer.checkbox(checked);\n }\n\n while (this.next().type !== 'list_item_end') {\n body += !loose && this.token.type === 'text'\n ? this.parseText()\n : this.tok();\n }\n return this.renderer.listitem(body, task, checked);\n }\n case 'html': {\n // TODO parse inline content if parameter markdown=1\n return this.renderer.html(this.token.text);\n }\n case 'paragraph': {\n return this.renderer.paragraph(this.inline.output(this.token.text));\n }\n case 'text': {\n return this.renderer.paragraph(this.parseText());\n }\n default: {\n var errMsg = 'Token with \"' + this.token.type + '\" type was not found.';\n if (this.options.silent) {\n console.log(errMsg);\n } else {\n throw new Error(errMsg);\n }\n }\n }\n};\n\n/**\n * Slugger generates header id\n */\n\nfunction Slugger() {\n this.seen = {};\n}\n\n/**\n * Convert string to unique id\n */\n\nSlugger.prototype.slug = function(value) {\n var slug = value\n .toLowerCase()\n .trim()\n .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '')\n .replace(/\\s/g, '-');\n\n if (this.seen.hasOwnProperty(slug)) {\n var originalSlug = slug;\n do {\n this.seen[originalSlug]++;\n slug = originalSlug + '-' + this.seen[originalSlug];\n } while (this.seen.hasOwnProperty(slug));\n }\n this.seen[slug] = 0;\n\n return slug;\n};\n\n/**\n * Helpers\n */\n\nfunction escape(html, encode) {\n if (encode) {\n if (escape.escapeTest.test(html)) {\n return html.replace(escape.escapeReplace, function(ch) { return escape.replacements[ch]; });\n }\n } else {\n if (escape.escapeTestNoEncode.test(html)) {\n return html.replace(escape.escapeReplaceNoEncode, function(ch) { return escape.replacements[ch]; });\n }\n }\n\n return html;\n}\n\nescape.escapeTest = /[&<>\"']/;\nescape.escapeReplace = /[&<>\"']/g;\nescape.replacements = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;'\n};\n\nescape.escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\nescape.escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n\nfunction unescape(html) {\n // explicitly match decimal, hex, and named HTML entities\n return html.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig, function(_, n) {\n n = n.toLowerCase();\n if (n === 'colon') return ':';\n if (n.charAt(0) === '#') {\n return n.charAt(1) === 'x'\n ? String.fromCharCode(parseInt(n.substring(2), 16))\n : String.fromCharCode(+n.substring(1));\n }\n return '';\n });\n}\n\nfunction edit(regex, opt) {\n regex = regex.source || regex;\n opt = opt || '';\n return {\n replace: function(name, val) {\n val = val.source || val;\n val = val.replace(/(^|[^\\[])\\^/g, '$1');\n regex = regex.replace(name, val);\n return this;\n },\n getRegex: function() {\n return new RegExp(regex, opt);\n }\n };\n}\n\nfunction cleanUrl(sanitize, base, href) {\n if (sanitize) {\n try {\n var prot = decodeURIComponent(unescape(href))\n .replace(/[^\\w:]/g, '')\n .toLowerCase();\n } catch (e) {\n return null;\n }\n if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n return null;\n }\n }\n if (base && !originIndependentUrl.test(href)) {\n href = resolveUrl(base, href);\n }\n try {\n href = encodeURI(href).replace(/%25/g, '%');\n } catch (e) {\n return null;\n }\n return href;\n}\n\nfunction resolveUrl(base, href) {\n if (!baseUrls[' ' + base]) {\n // we can ignore everything in base after the last slash of its path component,\n // but we might need to add _that_\n // https://tools.ietf.org/html/rfc3986#section-3\n if (/^[^:]+:\\/*[^/]*$/.test(base)) {\n baseUrls[' ' + base] = base + '/';\n } else {\n baseUrls[' ' + base] = rtrim(base, '/', true);\n }\n }\n base = baseUrls[' ' + base];\n\n if (href.slice(0, 2) === '//') {\n return base.replace(/:[\\s\\S]*/, ':') + href;\n } else if (href.charAt(0) === '/') {\n return base.replace(/(:\\/*[^/]*)[\\s\\S]*/, '$1') + href;\n } else {\n return base + href;\n }\n}\nvar baseUrls = {};\nvar originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\nfunction noop() {}\nnoop.exec = noop;\n\nfunction merge(obj) {\n var i = 1,\n target,\n key;\n\n for (; i < arguments.length; i++) {\n target = arguments[i];\n for (key in target) {\n if (Object.prototype.hasOwnProperty.call(target, key)) {\n obj[key] = target[key];\n }\n }\n }\n\n return obj;\n}\n\nfunction splitCells(tableRow, count) {\n // ensure that every cell-delimiting pipe has a space\n // before it to distinguish it from an escaped pipe\n var row = tableRow.replace(/\\|/g, function(match, offset, str) {\n var escaped = false,\n curr = offset;\n while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\n if (escaped) {\n // odd number of slashes means | is escaped\n // so we leave it alone\n return '|';\n } else {\n // add space before unescaped |\n return ' |';\n }\n }),\n cells = row.split(/ \\|/),\n i = 0;\n\n if (cells.length > count) {\n cells.splice(count);\n } else {\n while (cells.length < count) cells.push('');\n }\n\n for (; i < cells.length; i++) {\n // leading or trailing whitespace is ignored per the gfm spec\n cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n }\n return cells;\n}\n\n// Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n// /c*$/ is vulnerable to REDOS.\n// invert: Remove suffix of non-c chars instead. Default falsey.\nfunction rtrim(str, c, invert) {\n if (str.length === 0) {\n return '';\n }\n\n // Length of suffix matching the invert condition.\n var suffLen = 0;\n\n // Step left until we fail to match the invert condition.\n while (suffLen < str.length) {\n var currChar = str.charAt(str.length - suffLen - 1);\n if (currChar === c && !invert) {\n suffLen++;\n } else if (currChar !== c && invert) {\n suffLen++;\n } else {\n break;\n }\n }\n\n return str.substr(0, str.length - suffLen);\n}\n\nfunction findClosingBracket(str, b) {\n if (str.indexOf(b[1]) === -1) {\n return -1;\n }\n var level = 0;\n for (var i = 0; i < str.length; i++) {\n if (str[i] === '\\\\') {\n i++;\n } else if (str[i] === b[0]) {\n level++;\n } else if (str[i] === b[1]) {\n level--;\n if (level < 0) {\n return i;\n }\n }\n }\n return -1;\n}\n\nfunction checkSanitizeDeprecation(opt) {\n if (opt && opt.sanitize && !opt.silent) {\n console.warn('marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options');\n }\n}\n\n/**\n * Marked\n */\n\nfunction marked(src, opt, callback) {\n // throw error in case of non string input\n if (typeof src === 'undefined' || src === null) {\n throw new Error('marked(): input parameter is undefined or null');\n }\n if (typeof src !== 'string') {\n throw new Error('marked(): input parameter is of type '\n + Object.prototype.toString.call(src) + ', string expected');\n }\n\n if (callback || typeof opt === 'function') {\n if (!callback) {\n callback = opt;\n opt = null;\n }\n\n opt = merge({}, marked.defaults, opt || {});\n checkSanitizeDeprecation(opt);\n\n var highlight = opt.highlight,\n tokens,\n pending,\n i = 0;\n\n try {\n tokens = Lexer.lex(src, opt);\n } catch (e) {\n return callback(e);\n }\n\n pending = tokens.length;\n\n var done = function(err) {\n if (err) {\n opt.highlight = highlight;\n return callback(err);\n }\n\n var out;\n\n try {\n out = Parser.parse(tokens, opt);\n } catch (e) {\n err = e;\n }\n\n opt.highlight = highlight;\n\n return err\n ? callback(err)\n : callback(null, out);\n };\n\n if (!highlight || highlight.length < 3) {\n return done();\n }\n\n delete opt.highlight;\n\n if (!pending) return done();\n\n for (; i < tokens.length; i++) {\n (function(token) {\n if (token.type !== 'code') {\n return --pending || done();\n }\n return highlight(token.text, token.lang, function(err, code) {\n if (err) return done(err);\n if (code == null || code === token.text) {\n return --pending || done();\n }\n token.text = code;\n token.escaped = true;\n --pending || done();\n });\n })(tokens[i]);\n }\n\n return;\n }\n try {\n if (opt) opt = merge({}, marked.defaults, opt);\n checkSanitizeDeprecation(opt);\n return Parser.parse(Lexer.lex(src, opt), opt);\n } catch (e) {\n e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n if ((opt || marked.defaults).silent) {\n return '<p>An error occurred:</p><pre>'\n + escape(e.message + '', true)\n + '</pre>';\n }\n throw e;\n }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n merge(marked.defaults, opt);\n return marked;\n};\n\nmarked.getDefaults = function() {\n return {\n baseUrl: null,\n breaks: false,\n gfm: true,\n headerIds: true,\n headerPrefix: '',\n highlight: null,\n langPrefix: 'language-',\n mangle: true,\n pedantic: false,\n renderer: new Renderer(),\n sanitize: false,\n sanitizer: null,\n silent: false,\n smartLists: false,\n smartypants: false,\n xhtml: false\n };\n};\n\nmarked.defaults = marked.getDefaults();\n\n/**\n * Expose\n */\n\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\n\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\n\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\n\nmarked.InlineLexer = InlineLexer;\nmarked.inlineLexer = InlineLexer.output;\n\nmarked.Slugger = Slugger;\n\nmarked.parse = marked;\n\nif (typeof module !== 'undefined' && typeof exports === 'object') {\n module.exports = marked;\n} else if (typeof define === 'function' && define.amd) {\n define(function() { return marked; });\n} else {\n root.marked = marked;\n}\n})(this || (typeof window !== 'undefined' ? window : global));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/marked/lib/marked.js\n// module id = ./node_modules/marked/lib/marked.js\n// module chunks = 31","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = ./node_modules/webpack/buildin/global.js\n// module chunks = 31"],"sourceRoot":""} \ No newline at end of file