From a03b8c72ce377dc84424722cc9f75ec377e27e03 Mon Sep 17 00:00:00 2001
From: flarum-bot <bot@flarum.org>
Date: Tue, 13 Nov 2018 20:15:19 +0000
Subject: [PATCH] Bundled output for commit
 f75f2214a6e59fbed97a399b5a73a3a5d481bba1 [skip ci]

---
 extensions/markdown/js/dist/forum.js     | 2 +-
 extensions/markdown/js/dist/forum.js.map | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/extensions/markdown/js/dist/forum.js b/extensions/markdown/js/dist/forum.js
index 6aeaf67fc..3875fddee 100644
--- a/extensions/markdown/js/dist/forum.js
+++ b/extensions/markdown/js/dist/forum.js
@@ -1,2 +1,2 @@
-module.exports=function(t){var e={};function n(i){if(e[i])return e[i].exports;var r=e[i]={i:i,l:!1,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=t,n.c=e,n.d=function(t,e,i){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:i})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var r in t)n.d(i,r,function(e){return t[e]}.bind(null,r));return i},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=4)}([function(t,e){t.exports=flarum.core.compat["helpers/icon"]},function(t,e){t.exports=flarum.core.compat.extend},function(t,e){t.exports=flarum.core.compat["components/TextEditor"]},function(t,e,n){var i,r,o;"undefined"!=typeof self&&self,r=[],void 0===(o="function"==typeof(i=function(){var t=/mac|iphone|ipad|ipod/i.test(navigator.platform)?"metaKey":"ctrlKey",e=/^["'`*_[({<>})\]]$/,n=/[*_]/,i=/^[ \t]*(?:(?:[-+*]|\d+\.)[ \t]+(?:\[[ x]][ \t]+)?|>[ \t]*)*(?::[ \t]*)?/,r=/(?:[-+*]|\d+\.)[ \t]+(?:\[[ x]][ \t]+)?$/,o=/[-+*\[\]x\d.]/g,l=/[^ \t]/g,s=/(\d+)\.(?=[ \t]+$)/,a=/(?:(?:^[ \t]+)?(?:[-+*]|\d+\.|[>:])(?:[ \t]+\[[ x]])?[ \t]*|^[ \t]+)$/,c=/^(?!$)/gm,u={"`":/^``$/m,"~":/^~~$/m},d={"[":"]","(":")","{":"}","<":">"},f={"]":"[",")":"(","}":"{",">":"<"};function h(t){this._useTab=!0,this._useInline=!0,this._indent="    ",this._reOutdent=/^[ ]{4}/gm,this._reKey=p(!0,!0),this._handleKey=this._handleKey.bind(this),this.setElement(t)}function p(t,e){return new RegExp("^(?:Enter"+(t?"|Tab":"")+"|[io"+(e?"\"'`*_([{<>}\\])":"")+"])$")}function m(t,e,n,i){if(t.value=e,t.selectionStart=n,t.selectionEnd=arguments.length>3?i:n,"InputEvent"in window)try{var r=new InputEvent("input");t.dispatchEvent(r)}catch(i){}}return h.prototype={constructor:h,getElement:function(){return this._elem},setElement:function(t){this._elem&&this._elem.removeEventListener("keydown",this._handleKey),this._elem=t,t.addEventListener("keydown",this._handleKey)},getValue:function(){return this._elem.value},setValue:function(t){this._elem.value=t},getIndent:function(){return this._indent},setIndent:function(t){this._indent="number"==typeof t?new Array(t+1).join(" "):(t+"").replace(/[^ \t]/g," "),this._reOutdent=new RegExp("^"+this._indent,"mg")},isTabUsed:function(){return this._useTab},useTab:function(){this._useTab=!0,this._reKey=p(!0,this._useInline)},ignoreTab:function(){this._useTab=!1,this._reKey=p(!1,this._useInline)},isInlineEnabled:function(){return this._useInline},enableInline:function(){this._useInline=!0,this._reKey=p(this._useTab,!0)},disableInline:function(){this._useInline=!1,this._reKey=p(this._useTab,!1)},destroy:function(){this._elem.removeEventListener("keydown",this._handleKey),this._elem=this._reKey=this._handleKey=this._indent=this._reOutdent=null},_handleKey:function(h){if(!h.defaultPrevented&&this._reKey.test(h.key)){var p=h.target.value.substring(0,h.target.selectionStart),v=h.target.value.substring(h.target.selectionStart,h.target.selectionEnd),g=h.target.value.substring(h.target.selectionEnd);if("Enter"!==h.key||h.ctrlKey||h.altKey||h.metaKey)if("Tab"===h.key&&!h.shiftKey||"i"===h.key&&h[t])!function(t,e,n,i,r){var o=e.length,l=e.lastIndexOf("\n")+1;l<o&&(n=e.substring(l)+n,e=e.substring(0,l)),(l<o||!n)&&(o+=r.length),n?n=n.replace(c,r):e+=r,m(t,e+n+i,o,n?l+n.length:o)}(this._elem,p,v,g,this._indent);else if("Tab"===h.key&&h.shiftKey||"o"===h.key&&h[t])!function(t,e,n,i,r,o){var l=e.length,s=e.lastIndexOf("\n")+1;s<l&&(n=e.substring(s)+n,e=e.substring(0,s),n.substring(0,r.length)===r&&(l-=r.length)),n=n.replace(o,""),m(t,e+n+i,l,s+n.length)}(this._elem,p,v,g,this._indent,this._reOutdent);else{if(!e.test(h.key))return;!function(t,e,i,r,o){i||o in d||r.charAt(0)!==o?!i&&("'"===o||o in f)?m(t,e+o+r,e.length+1):!i&&o in u&&u[o].test(e)?m(t,e+o+"language\n"+o+o+o+("\n"!==r.charAt(0)?"\n":"")+r,e.length+1,e.length+9):m(t,e+(f[o]||o)+i+(d[o]||o)+r,e.length+1,e.length+1+i.length):m(t,e+(n.test(o)?o+o:"")+r,e.length+1)}(this._elem,p,v,g,h.key)}else!function(t,e,n,c,u){var d=n?null:function(t){var e=t.lastIndexOf("\n")+1,n=t.substring(e),r=i.exec(n);return{line:n,offset:e,prefix:r&&r[0]}}(e);!n&&d.prefix?u||d.prefix!==d.line?!u&&function(t){return r.test(t)}(d.prefix)?e+="\n"+function(t){return t.replace(s,function(t,e){return parseInt(e)+1+"."})}(d.prefix):e+="\n"+function(t,e){return t.replace(e?l:o," ")}(d.prefix,u):e=e.substring(0,d.offset)+function(t){return t.replace(a,"")}(d.prefix):e+="\n",m(t,e+c,e.length)}(this._elem,p,v,g,h.shiftKey);h.preventDefault()}}},h})?i.apply(e,r):i)||(t.exports=o)},function(t,e,n){"use strict";function i(){return(i=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t}).apply(this,arguments)}n.r(e);var r=n(1),o=n(2),l=n.n(o),s=n(0),a=n.n(s),c=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(t[i]=n[i])}return t},u=function t(e,n,i){null===e&&(e=Function.prototype);var r=Object.getOwnPropertyDescriptor(e,n);if(void 0===r){var o=Object.getPrototypeOf(e);return null===o?void 0:t(o,n,i)}if("value"in r)return r.value;var l=r.get;return void 0!==l?l.call(i):void 0},d=function(){function t(t,e){for(var n=0;n<e.length;n++){var i=e[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}return function(e,n,i){return n&&t(e.prototype,n),i&&t(e,i),e}}();function f(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function h(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function p(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function v(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(v.prototype,HTMLElement.prototype),Object.setPrototypeOf(v,HTMLElement);var g=new WeakMap,_=function(t){function e(){f(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n=function(){var e=g.get(t);e&&N(t,e)};return t.addEventListener("keydown",function(t){return function(e){" "!==e.key&&"Enter"!==e.key||(e.preventDefault(),t(e))}}(n)),t.addEventListener("click",n),t}return p(e,v),d(e,[{key:"connectedCallback",value:function(){this.hasAttribute("tabindex")||this.setAttribute("tabindex","0"),this.hasAttribute("role")||this.setAttribute("role","button")}},{key:"click",value:function(){var t=g.get(this);t&&N(this,t)}}]),e}(),y=function(t){function e(){f(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return g.set(t,{prefix:"### "}),t}return p(e,_),e}();window.customElements.get("md-header")||(window.MarkdownHeaderButtonElement=y,window.customElements.define("md-header",y));var b=function(t){function e(){f(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return g.set(t,{prefix:"**",suffix:"**",trimFirst:!0}),t}return p(e,_),d(e,[{key:"connectedCallback",value:function(){u(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"connectedCallback",this).call(this),this.setAttribute("hotkey","b")}}]),e}();window.customElements.get("md-bold")||(window.MarkdownBoldButtonElement=b,window.customElements.define("md-bold",b));var w=function(t){function e(){f(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return g.set(t,{prefix:"_",suffix:"_",trimFirst:!0}),t}return p(e,_),d(e,[{key:"connectedCallback",value:function(){u(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"connectedCallback",this).call(this),this.setAttribute("hotkey","i")}}]),e}();window.customElements.get("md-italic")||(window.MarkdownItalicButtonElement=w,window.customElements.define("md-italic",w));var E=function(t){function e(){f(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return g.set(t,{prefix:"> ",multiline:!0,surroundWithNewlines:!0}),t}return p(e,_),e}();window.customElements.get("md-quote")||(window.MarkdownQuoteButtonElement=E,window.customElements.define("md-quote",E));var x=function(t){function e(){f(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return g.set(t,{prefix:"`",suffix:"`",blockPrefix:"```",blockSuffix:"```"}),t}return p(e,_),e}();window.customElements.get("md-code")||(window.MarkdownCodeButtonElement=x,window.customElements.define("md-code",x));var k=function(t){function e(){f(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return g.set(t,{prefix:"[",suffix:"](url)",replaceNext:"url",scanFor:"https?://"}),t}return p(e,_),d(e,[{key:"connectedCallback",value:function(){u(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"connectedCallback",this).call(this),this.setAttribute("hotkey","k")}}]),e}();window.customElements.get("md-link")||(window.MarkdownLinkButtonElement=k,window.customElements.define("md-link",k));var O=function(t){function e(){f(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return g.set(t,{prefix:"- ",multiline:!0,surroundWithNewlines:!0}),t}return p(e,_),e}();window.customElements.get("md-unordered-list")||(window.MarkdownUnorderedListButtonElement=O,window.customElements.define("md-unordered-list",O));var S=function(t){function e(){f(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return g.set(t,{prefix:"1. ",multiline:!0,orderedList:!0}),t}return p(e,_),e}();window.customElements.get("md-ordered-list")||(window.MarkdownOrderedListButtonElement=S,window.customElements.define("md-ordered-list",S));var j=function(t){function e(){f(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return g.set(t,{prefix:"- [ ] ",multiline:!0,surroundWithNewlines:!0}),t}return p(e,_),d(e,[{key:"connectedCallback",value:function(){u(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"connectedCallback",this).call(this),this.setAttribute("hotkey","L")}}]),e}();window.customElements.get("md-task-list")||(window.MarkdownTaskListButtonElement=j,window.customElements.define("md-task-list",j));var P=function(t){function e(){f(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return g.set(t,{prefix:"@",prefixSpace:!0}),t}return p(e,_),e}();window.customElements.get("md-mention")||(window.MarkdownMentionButtonElement=P,window.customElements.define("md-mention",P));var T=function(t){function e(){f(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return g.set(t,{prefix:"#",prefixSpace:!0}),t}return p(e,_),e}();window.customElements.get("md-ref")||(window.MarkdownRefButtonElement=T,window.customElements.define("md-ref",T));var M=navigator.userAgent.match(/Macintosh/)?"Meta":"Control",I=function(t){function e(){return f(this,e),h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this))}return p(e,v),d(e,[{key:"connectedCallback",value:function(){var t=function(t,e){if(e.metaKey&&"Meta"===M||e.ctrlKey&&"Control"===M){var n=t.querySelector('[hotkey="'+e.key+'"]');n&&(n.click(),e.preventDefault())}}.bind(null,this);this.field&&(this.field.addEventListener("keydown",t),K.set(this,t))}},{key:"disconnectedCallback",value:function(){var t=K.get(this);t&&this.field&&(this.field.removeEventListener("keydown",t),K.delete(this))}},{key:"field",get:function(){var t=this.getAttribute("for");if(t){var e=document.getElementById(t);return e instanceof HTMLTextAreaElement?e:null}}}]),e}(),K=new WeakMap;function A(t){return t.trim().split("\n").length>1}function C(t,e){return Array(e+1).join(t)}window.customElements.get("markdown-toolbar")||(window.MarkdownToolbarElement=I,window.customElements.define("markdown-toolbar",I));var L=null;function B(t,e){var n=t.value.slice(t.selectionStart,t.selectionEnd),i=void 0;i=e.orderedList?function(t){var e=/^\d+\.\s+/,n=void 0,i=void 0,r=t.value.slice(t.selectionStart,t.selectionEnd),o=r.split("\n");if(o.every(function(t){return e.test(t)}))o=o.map(function(t){return t.replace(e,"")}),r=o.join("\n");else{o=function(){var t=void 0,e=void 0,n=void 0,i=[];for(n=t=0,e=o.length;t<e;n=++t){var r=o[n];i.push(n+1+". "+r)}return i}(),r=o.join("\n");var l=W(t),s=l.newlinesToAppend,a=l.newlinesToPrepend;i=t.selectionStart+s.length,n=i+r.length,r=s+r+a}return{text:r,selectionStart:i,selectionEnd:n}}(t):e.multiline&&A(n)?function(t,e){var n=e.prefix,i=e.suffix,r=e.surroundWithNewlines,o=t.value.slice(t.selectionStart,t.selectionEnd),l=t.selectionStart,s=t.selectionEnd,a=o.split("\n");if(a.every(function(t){return t.startsWith(n)&&t.endsWith(i)}))o=a.map(function(t){return t.slice(n.length,t.length-i.length)}).join("\n"),s=l+o.length;else if(o=a.map(function(t){return n+t+i}).join("\n"),r){var c=W(t),u=c.newlinesToAppend,d=c.newlinesToPrepend;l+=u.length,s=l+o.length,o=u+o+d}return{text:o,selectionStart:l,selectionEnd:s}}(t,e):function(t,e){var n=void 0,i=void 0,r=e.prefix,o=e.suffix,l=e.blockPrefix,s=e.blockSuffix,a=e.replaceNext,c=e.prefixSpace,u=e.scanFor,d=e.surroundWithNewlines,f=t.selectionStart,h=t.selectionEnd,p=t.value.slice(t.selectionStart,t.selectionEnd),m=A(p)&&l.length>0?l+"\n":r,v=A(p)&&s.length>0?"\n"+s:o;if(c){var g=t.value[t.selectionStart-1];0===t.selectionStart||null==g||g.match(/\s/)||(m=" "+m)}p=function(t,e,n){if(t.selectionStart===t.selectionEnd)t.selectionStart=function(t,e){for(;t[e]&&null!=t[e-1]&&!t[e-1].match(/\s/);)e--;return e}(t.value,t.selectionStart),t.selectionEnd=function(t,e){for(;t[e]&&!t[e].match(/\s/);)e++;return e}(t.value,t.selectionEnd);else{var i=t.selectionStart-e.length,r=t.selectionEnd+n.length,o=t.value.slice(i,t.selectionStart)===e,l=t.value.slice(t.selectionEnd,r)===n;o&&l&&(t.selectionStart=i,t.selectionEnd=r)}return t.value.slice(t.selectionStart,t.selectionEnd)}(t,m,v);var _=t.selectionStart,y=t.selectionEnd,b=a.length>0&&v.indexOf(a)>-1&&p.length>0;if(d){var w=W(t);n=w.newlinesToAppend,i=w.newlinesToPrepend,m=n+r,v+=i}if(p.startsWith(m)&&p.endsWith(v)){var E=p.slice(m.length,p.length-v.length);if(f===h){var x=f-m.length;x=Math.max(x,_),x=Math.min(x,_+E.length),_=y=x}else y=_+E.length;return{text:E,selectionStart:_,selectionEnd:y}}if(b){if(u.length>0&&p.match(u)){v=v.replace(a,p);var k=m+v;return _=y=_+m.length,{text:k,selectionStart:_,selectionEnd:y}}var O=m+p+v;return _=_+m.length+p.length+v.indexOf(a),y=_+a.length,{text:O,selectionStart:_,selectionEnd:y}}var S=m+p+v;_=f+m.length,y=h+m.length;var j=p.match(/^\s*|\s*$/g);if(e.trimFirst&&j){var P=j[0]||"",T=j[1]||"";S=P+m+p.trim()+v+T,_+=P.length,y-=T.length}return{text:S,selectionStart:_,selectionEnd:y}}(t,e),function(t,e){var n=e.text,i=e.selectionStart,r=e.selectionEnd,o=t.selectionStart,l=t.value.slice(0,o),s=t.value.slice(t.selectionEnd);if(null===L||!0===L){t.contentEditable="true";try{L=document.execCommand("insertText",!1,n)}catch(t){L=!1}t.contentEditable="false"}if(L&&!t.value.slice(0,t.selectionStart).endsWith(n)&&(L=!1),!L){try{document.execCommand("ms-beginUndoUnit")}catch(t){}t.value=l+n+s;try{document.execCommand("ms-endUndoUnit")}catch(t){}t.dispatchEvent(new CustomEvent("input",{bubbles:!0,cancelable:!0}))}null!=i&&null!=r?t.setSelectionRange(i,r):t.setSelectionRange(o,t.selectionEnd)}(t,i)}function W(t){var e=t.value.slice(0,t.selectionStart),n=t.value.slice(t.selectionEnd),i=e.match(/\n*$/),r=n.match(/^\n*/),o=i?i[0].length:0,l=r?r[0].length:0,s=void 0,a=void 0;return e.match(/\S/)&&o<2&&(s=C("\n",2-o)),n.match(/\S/)&&l<2&&(a=C("\n",2-l)),null==s&&(s=""),null==a&&(a=""),{newlinesToAppend:s,newlinesToPrepend:a}}function N(t,e){var n=t.closest("markdown-toolbar");if(n instanceof I){var i=c({},{prefix:"",suffix:"",blockPrefix:"",blockSuffix:"",multiline:!1,replaceNext:"",prefixSpace:!1,scanFor:"",surroundWithNewlines:!1,orderedList:!1,trimFirst:!1},e),r=n.field;r&&(r.focus(),B(r,i))}}var F=n(3),R=n.n(F);app.initializers.add("flarum-markdown",function(t){var e=1;Object(r.extend)(l.a.prototype,"init",function(){this.textareaId="textarea"+e++}),Object(r.extend)(l.a.prototype,"view",function(t){t.children[0].attrs.id=this.textareaId}),Object(r.extend)(l.a.prototype,"configTextarea",function(t,e,n,i){if(!n){var r=new R.a(e);r.disableInline(),i.onunload=function(){r.destroy()}}}),Object(r.extend)(l.a.prototype,"toolbarItems",function(e){var n={className:"Button Button--icon Button--link",config:function(t){return $(t).tooltip()}},r=function(e){return t.translator.trans("flarum-markdown.forum.composer."+e+"_tooltip")};e.add("markdown",m("markdown-toolbar",{for:this.textareaId},m("md-header",i({title:r("header")},n),a()("fas fa-heading")),m("md-bold",i({title:r("bold")+" <cmd-b>"},n),a()("fas fa-bold")),m("md-italic",i({title:r("italic")+" <cmd-i>"},n),a()("fas fa-italic")),m("md-quote",i({title:r("quote")},n),a()("fas fa-quote-left")),m("md-code",i({title:r("code")},n),a()("fas fa-code")),m("md-link",i({title:r("link")+" <cmd-k>"},n),a()("fas fa-link")),m("md-unordered-list",i({title:r("unordered_list")},n),a()("fas fa-list-ul")),m("md-ordered-list",i({title:r("ordered_list")},n),a()("fas fa-list-ol"))),100)})})}]);
+module.exports=function(t){var e={};function n(o){if(e[o])return e[o].exports;var i=e[o]={i:o,l:!1,exports:{}};return t[o].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=t,n.c=e,n.d=function(t,e,o){n.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:o})},n.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)n.d(o,i,function(e){return t[e]}.bind(null,i));return o},n.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return n.d(e,"a",e),e},n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},n.p="",n(n.s=5)}([function(t,e){t.exports=flarum.core.compat["helpers/icon"]},function(t,e){t.exports=flarum.core.compat.extend},function(t,e){t.exports=flarum.core.compat["components/TextEditor"]},function(t,e,n){var o,i,r;"undefined"!=typeof self&&self,i=[],void 0===(r="function"==typeof(o=function(){var t=/mac|iphone|ipad|ipod/i.test(navigator.platform)?"metaKey":"ctrlKey",e=/^["'`*_[({<>})\]]$/,n=/[*_]/,o=/^[ \t]*(?:(?:[-+*]|\d+\.)[ \t]+(?:\[[ x]][ \t]+)?|>[ \t]*)*(?::[ \t]*)?/,i=/(?:[-+*]|\d+\.)[ \t]+(?:\[[ x]][ \t]+)?$/,r=/[-+*\[\]x\d.]/g,l=/[^ \t]/g,a=/(\d+)\.(?=[ \t]+$)/,s=/(?:(?:^[ \t]+)?(?:[-+*]|\d+\.|[>:])(?:[ \t]+\[[ x]])?[ \t]*|^[ \t]+)$/,c=/^(?!$)/gm,u={"`":/^``$/m,"~":/^~~$/m},f={"[":"]","(":")","{":"}","<":">"},d={"]":"[",")":"(","}":"{",">":"<"};function h(t){this._useTab=!0,this._useInline=!0,this._indent="    ",this._reOutdent=/^[ ]{4}/gm,this._reKey=p(!0,!0),this._handleKey=this._handleKey.bind(this),this.setElement(t)}function p(t,e){return new RegExp("^(?:Enter"+(t?"|Tab":"")+"|[io"+(e?"\"'`*_([{<>}\\])":"")+"])$")}function m(t,e,n,o){if(t.value=e,t.selectionStart=n,t.selectionEnd=arguments.length>3?o:n,"InputEvent"in window)try{var i=new InputEvent("input");t.dispatchEvent(i)}catch(o){}}return h.prototype={constructor:h,getElement:function(){return this._elem},setElement:function(t){this._elem&&this._elem.removeEventListener("keydown",this._handleKey),this._elem=t,t.addEventListener("keydown",this._handleKey)},getValue:function(){return this._elem.value},setValue:function(t){this._elem.value=t},getIndent:function(){return this._indent},setIndent:function(t){this._indent="number"==typeof t?new Array(t+1).join(" "):(t+"").replace(/[^ \t]/g," "),this._reOutdent=new RegExp("^"+this._indent,"mg")},isTabUsed:function(){return this._useTab},useTab:function(){this._useTab=!0,this._reKey=p(!0,this._useInline)},ignoreTab:function(){this._useTab=!1,this._reKey=p(!1,this._useInline)},isInlineEnabled:function(){return this._useInline},enableInline:function(){this._useInline=!0,this._reKey=p(this._useTab,!0)},disableInline:function(){this._useInline=!1,this._reKey=p(this._useTab,!1)},destroy:function(){this._elem.removeEventListener("keydown",this._handleKey),this._elem=this._reKey=this._handleKey=this._indent=this._reOutdent=null},_handleKey:function(h){if(!h.defaultPrevented&&this._reKey.test(h.key)){var p=h.target.value.substring(0,h.target.selectionStart),v=h.target.value.substring(h.target.selectionStart,h.target.selectionEnd),g=h.target.value.substring(h.target.selectionEnd);if("Enter"!==h.key||h.ctrlKey||h.altKey||h.metaKey)if("Tab"===h.key&&!h.shiftKey||"i"===h.key&&h[t])!function(t,e,n,o,i){var r=e.length,l=e.lastIndexOf("\n")+1;l<r&&(n=e.substring(l)+n,e=e.substring(0,l)),(l<r||!n)&&(r+=i.length),n?n=n.replace(c,i):e+=i,m(t,e+n+o,r,n?l+n.length:r)}(this._elem,p,v,g,this._indent);else if("Tab"===h.key&&h.shiftKey||"o"===h.key&&h[t])!function(t,e,n,o,i,r){var l=e.length,a=e.lastIndexOf("\n")+1;a<l&&(n=e.substring(a)+n,e=e.substring(0,a),n.substring(0,i.length)===i&&(l-=i.length)),n=n.replace(r,""),m(t,e+n+o,l,a+n.length)}(this._elem,p,v,g,this._indent,this._reOutdent);else{if(!e.test(h.key))return;!function(t,e,o,i,r){o||r in f||i.charAt(0)!==r?!o&&("'"===r||r in d)?m(t,e+r+i,e.length+1):!o&&r in u&&u[r].test(e)?m(t,e+r+"language\n"+r+r+r+("\n"!==i.charAt(0)?"\n":"")+i,e.length+1,e.length+9):m(t,e+(d[r]||r)+o+(f[r]||r)+i,e.length+1,e.length+1+o.length):m(t,e+(n.test(r)?r+r:"")+i,e.length+1)}(this._elem,p,v,g,h.key)}else!function(t,e,n,c,u){var f=n?null:function(t){var e=t.lastIndexOf("\n")+1,n=t.substring(e),i=o.exec(n);return{line:n,offset:e,prefix:i&&i[0]}}(e);!n&&f.prefix?u||f.prefix!==f.line?!u&&function(t){return i.test(t)}(f.prefix)?e+="\n"+function(t){return t.replace(a,function(t,e){return parseInt(e)+1+"."})}(f.prefix):e+="\n"+function(t,e){return t.replace(e?l:r," ")}(f.prefix,u):e=e.substring(0,f.offset)+function(t){return t.replace(s,"")}(f.prefix):e+="\n",m(t,e+c,e.length)}(this._elem,p,v,g,h.shiftKey);h.preventDefault()}}},h})?o.apply(e,i):o)||(t.exports=r)},function(t,e){(function(){"use strict";var t=new Set("annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph".split(" "));function e(e){var n=t.has(e);return e=/^[a-z][.0-9_a-z]*-[\-.0-9_a-z]*$/.test(e),!n&&e}function n(t){var e=t.isConnected;if(void 0!==e)return e;for(;t&&!(t.__CE_isImportDocument||t instanceof Document);)t=t.parentNode||(window.ShadowRoot&&t instanceof ShadowRoot?t.host:void 0);return!(!t||!(t.__CE_isImportDocument||t instanceof Document))}function o(t,e){for(;e&&e!==t&&!e.nextSibling;)e=e.parentNode;return e&&e!==t?e.nextSibling:null}function i(t,e,n){n=void 0===n?new Set:n;for(var r=t;r;){if(r.nodeType===Node.ELEMENT_NODE){var l=r;e(l);var a=l.localName;if("link"===a&&"import"===l.getAttribute("rel")){if((r=l.import)instanceof Node&&!n.has(r))for(n.add(r),r=r.firstChild;r;r=r.nextSibling)i(r,e,n);r=o(t,l);continue}if("template"===a){r=o(t,l);continue}if(l=l.__CE_shadowRoot)for(l=l.firstChild;l;l=l.nextSibling)i(l,e,n)}r=r.firstChild?r.firstChild:o(t,r)}}function r(t,e,n){t[e]=n}function l(){this.a=new Map,this.f=new Map,this.c=[],this.b=!1}function a(t,e){t.b=!0,t.c.push(e)}function s(t,e){t.b&&i(e,function(e){return c(t,e)})}function c(t,e){if(t.b&&!e.__CE_patched){e.__CE_patched=!0;for(var n=0;n<t.c.length;n++)t.c[n](e)}}function u(t,e){var n=[];for(i(e,function(t){return n.push(t)}),e=0;e<n.length;e++){var o=n[e];1===o.__CE_state?t.connectedCallback(o):h(t,o)}}function f(t,e){var n=[];for(i(e,function(t){return n.push(t)}),e=0;e<n.length;e++){var o=n[e];1===o.__CE_state&&t.disconnectedCallback(o)}}function d(t,e,n){var o=(n=void 0===n?{}:n).u||new Set,r=n.h||function(e){return h(t,e)},l=[];if(i(e,function(e){if("link"===e.localName&&"import"===e.getAttribute("rel")){var n=e.import;n instanceof Node&&(n.__CE_isImportDocument=!0,n.__CE_hasRegistry=!0),n&&"complete"===n.readyState?n.__CE_documentLoadHandled=!0:e.addEventListener("load",function(){var n=e.import;if(!n.__CE_documentLoadHandled){n.__CE_documentLoadHandled=!0;var i=new Set(o);i.delete(n),d(t,n,{u:i,h:r})}})}else l.push(e)},o),t.b)for(e=0;e<l.length;e++)c(t,l[e]);for(e=0;e<l.length;e++)r(l[e])}function h(t,e){if(void 0===e.__CE_state){var o=e.ownerDocument;if((o.defaultView||o.__CE_isImportDocument&&o.__CE_hasRegistry)&&(o=t.a.get(e.localName))){o.constructionStack.push(e);var i=o.constructorFunction;try{try{if(new i!==e)throw Error("The custom element constructor did not produce the element being upgraded.")}finally{o.constructionStack.pop()}}catch(t){throw e.__CE_state=2,t}if(e.__CE_state=1,e.__CE_definition=o,o.attributeChangedCallback)for(o=o.observedAttributes,i=0;i<o.length;i++){var r=o[i],l=e.getAttribute(r);null!==l&&t.attributeChangedCallback(e,r,null,l,null)}n(e)&&t.connectedCallback(e)}}}function p(t){var e=document;this.c=t,this.a=e,this.b=void 0,d(this.c,this.a),"loading"===this.a.readyState&&(this.b=new MutationObserver(this.f.bind(this)),this.b.observe(this.a,{childList:!0,subtree:!0}))}function m(t){t.b&&t.b.disconnect()}function v(t){if(t.a)throw Error("Already resolved.");t.a=void 0,t.b&&t.b(void 0)}function g(t){this.c=!1,this.a=t,this.j=new Map,this.f=function(t){return t()},this.b=!1,this.i=[],this.o=new p(t)}l.prototype.connectedCallback=function(t){var e=t.__CE_definition;e.connectedCallback&&e.connectedCallback.call(t)},l.prototype.disconnectedCallback=function(t){var e=t.__CE_definition;e.disconnectedCallback&&e.disconnectedCallback.call(t)},l.prototype.attributeChangedCallback=function(t,e,n,o,i){var r=t.__CE_definition;r.attributeChangedCallback&&-1<r.observedAttributes.indexOf(e)&&r.attributeChangedCallback.call(t,e,n,o,i)},p.prototype.f=function(t){var e=this.a.readyState;for("interactive"!==e&&"complete"!==e||m(this),e=0;e<t.length;e++)for(var n=t[e].addedNodes,o=0;o<n.length;o++)d(this.c,n[o])},g.prototype.l=function(t,n){var o=this;if(!(n instanceof Function))throw new TypeError("Custom element constructors must be functions.");if(!e(t))throw new SyntaxError("The element name '"+t+"' is not valid.");if(this.a.a.get(t))throw Error("A custom element with name '"+t+"' has already been defined.");if(this.c)throw Error("A custom element is already being defined.");this.c=!0;try{var i=function(t){var e=r[t];if(void 0!==e&&!(e instanceof Function))throw Error("The '"+t+"' callback must be a function.");return e},r=n.prototype;if(!(r instanceof Object))throw new TypeError("The custom element constructor's prototype is not an object.");var l=i("connectedCallback"),a=i("disconnectedCallback"),s=i("adoptedCallback"),c=i("attributeChangedCallback"),u=n.observedAttributes||[]}catch(t){return}finally{this.c=!1}n={localName:t,constructorFunction:n,connectedCallback:l,disconnectedCallback:a,adoptedCallback:s,attributeChangedCallback:c,observedAttributes:u,constructionStack:[]},function(t,e,n){t.a.set(e,n),t.f.set(n.constructorFunction,n)}(this.a,t,n),this.i.push(n),this.b||(this.b=!0,this.f(function(){return function(t){if(!1!==t.b){t.b=!1;for(var e=t.i,n=[],o=new Map,i=0;i<e.length;i++)o.set(e[i].localName,[]);for(d(t.a,document,{h:function(e){if(void 0===e.__CE_state){var i=e.localName,r=o.get(i);r?r.push(e):t.a.a.get(i)&&n.push(e)}}}),i=0;i<n.length;i++)h(t.a,n[i]);for(;0<e.length;){var r=e.shift();i=r.localName,r=o.get(r.localName);for(var l=0;l<r.length;l++)h(t.a,r[l]);(i=t.j.get(i))&&v(i)}}}(o)}))},g.prototype.h=function(t){d(this.a,t)},g.prototype.get=function(t){if(t=this.a.a.get(t))return t.constructorFunction},g.prototype.m=function(t){if(!e(t))return Promise.reject(new SyntaxError("'"+t+"' is not a valid custom element name."));var n=this.j.get(t);return n?n.c:(n=new function(){var t=this;this.b=this.a=void 0,this.c=new Promise(function(e){t.b=e,t.a&&e(t.a)})},this.j.set(t,n),this.a.a.get(t)&&!this.i.some(function(e){return e.localName===t})&&v(n),n.c)},g.prototype.s=function(t){m(this.o);var e=this.f;this.f=function(n){return t(function(){return e(n)})}},window.CustomElementRegistry=g,g.prototype.define=g.prototype.l,g.prototype.upgrade=g.prototype.h,g.prototype.get=g.prototype.get,g.prototype.whenDefined=g.prototype.m,g.prototype.polyfillWrapFlushCallback=g.prototype.s;var y=window.Document.prototype.createElement,w=window.Document.prototype.createElementNS,b=window.Document.prototype.importNode,_=window.Document.prototype.prepend,E=window.Document.prototype.append,C=window.DocumentFragment.prototype.prepend,k=window.DocumentFragment.prototype.append,x=window.Node.prototype.cloneNode,O=window.Node.prototype.appendChild,S=window.Node.prototype.insertBefore,j=window.Node.prototype.removeChild,N=window.Node.prototype.replaceChild,T=Object.getOwnPropertyDescriptor(window.Node.prototype,"textContent"),M=window.Element.prototype.attachShadow,A=Object.getOwnPropertyDescriptor(window.Element.prototype,"innerHTML"),P=window.Element.prototype.getAttribute,L=window.Element.prototype.setAttribute,D=window.Element.prototype.removeAttribute,I=window.Element.prototype.getAttributeNS,F=window.Element.prototype.setAttributeNS,H=window.Element.prototype.removeAttributeNS,K=window.Element.prototype.insertAdjacentElement,R=window.Element.prototype.insertAdjacentHTML,B=window.Element.prototype.prepend,W=window.Element.prototype.append,$=window.Element.prototype.before,U=window.Element.prototype.after,q=window.Element.prototype.replaceWith,z=window.Element.prototype.remove,V=window.HTMLElement,Q=Object.getOwnPropertyDescriptor(window.HTMLElement.prototype,"innerHTML"),X=window.HTMLElement.prototype.insertAdjacentElement,G=window.HTMLElement.prototype.insertAdjacentHTML,J=new function(){};function Y(t,e,o){function i(e){return function(o){for(var i=[],r=0;r<arguments.length;++r)i[r]=arguments[r];r=[];for(var l=[],a=0;a<i.length;a++){var s=i[a];if(s instanceof Element&&n(s)&&l.push(s),s instanceof DocumentFragment)for(s=s.firstChild;s;s=s.nextSibling)r.push(s);else r.push(s)}for(e.apply(this,i),i=0;i<l.length;i++)f(t,l[i]);if(n(this))for(i=0;i<r.length;i++)(l=r[i])instanceof Element&&u(t,l)}}void 0!==o.g&&(e.prepend=i(o.g)),void 0!==o.append&&(e.append=i(o.append))}var Z=window.customElements;if(!Z||Z.forcePolyfill||"function"!=typeof Z.define||"function"!=typeof Z.get){var tt=new l;!function(){var t=tt;window.HTMLElement=function(){function e(){var e=this.constructor,n=t.f.get(e);if(!n)throw Error("The custom element being constructed was not registered with `customElements`.");var o=n.constructionStack;if(0===o.length)return o=y.call(document,n.localName),Object.setPrototypeOf(o,e.prototype),o.__CE_state=1,o.__CE_definition=n,c(t,o),o;var i=o[n=o.length-1];if(i===J)throw Error("The HTMLElement constructor was either called reentrantly for this constructor or called multiple times.");return o[n]=J,Object.setPrototypeOf(i,e.prototype),c(t,i),i}return e.prototype=V.prototype,Object.defineProperty(e.prototype,"constructor",{writable:!0,configurable:!0,enumerable:!1,value:e}),e}()}(),function(){var t=tt;r(Document.prototype,"createElement",function(e){if(this.__CE_hasRegistry){var n=t.a.get(e);if(n)return new n.constructorFunction}return e=y.call(this,e),c(t,e),e}),r(Document.prototype,"importNode",function(e,n){return e=b.call(this,e,!!n),this.__CE_hasRegistry?d(t,e):s(t,e),e}),r(Document.prototype,"createElementNS",function(e,n){if(this.__CE_hasRegistry&&(null===e||"http://www.w3.org/1999/xhtml"===e)){var o=t.a.get(n);if(o)return new o.constructorFunction}return e=w.call(this,e,n),c(t,e),e}),Y(t,Document.prototype,{g:_,append:E})}(),Y(tt,DocumentFragment.prototype,{g:C,append:k}),function(){function t(t,o){Object.defineProperty(t,"textContent",{enumerable:o.enumerable,configurable:!0,get:o.get,set:function(t){if(this.nodeType===Node.TEXT_NODE)o.set.call(this,t);else{var i=void 0;if(this.firstChild){var r=this.childNodes,l=r.length;if(0<l&&n(this)){i=Array(l);for(var a=0;a<l;a++)i[a]=r[a]}}if(o.set.call(this,t),i)for(t=0;t<i.length;t++)f(e,i[t])}}})}var e=tt;r(Node.prototype,"insertBefore",function(t,o){if(t instanceof DocumentFragment){var i=Array.prototype.slice.apply(t.childNodes);if(t=S.call(this,t,o),n(this))for(o=0;o<i.length;o++)u(e,i[o]);return t}return i=n(t),o=S.call(this,t,o),i&&f(e,t),n(this)&&u(e,t),o}),r(Node.prototype,"appendChild",function(t){if(t instanceof DocumentFragment){var o=Array.prototype.slice.apply(t.childNodes);if(t=O.call(this,t),n(this))for(var i=0;i<o.length;i++)u(e,o[i]);return t}return o=n(t),i=O.call(this,t),o&&f(e,t),n(this)&&u(e,t),i}),r(Node.prototype,"cloneNode",function(t){return t=x.call(this,!!t),this.ownerDocument.__CE_hasRegistry?d(e,t):s(e,t),t}),r(Node.prototype,"removeChild",function(t){var o=n(t),i=j.call(this,t);return o&&f(e,t),i}),r(Node.prototype,"replaceChild",function(t,o){if(t instanceof DocumentFragment){var i=Array.prototype.slice.apply(t.childNodes);if(t=N.call(this,t,o),n(this))for(f(e,o),o=0;o<i.length;o++)u(e,i[o]);return t}i=n(t);var r=N.call(this,t,o),l=n(this);return l&&f(e,o),i&&f(e,t),l&&u(e,t),r}),T&&T.get?t(Node.prototype,T):a(e,function(e){t(e,{enumerable:!0,configurable:!0,get:function(){for(var t=[],e=0;e<this.childNodes.length;e++)t.push(this.childNodes[e].textContent);return t.join("")},set:function(t){for(;this.firstChild;)j.call(this,this.firstChild);O.call(this,document.createTextNode(t))}})})}(),function(){function t(t,e){Object.defineProperty(t,"innerHTML",{enumerable:e.enumerable,configurable:!0,get:e.get,set:function(t){var o=this,r=void 0;if(n(this)&&(r=[],i(this,function(t){t!==o&&r.push(t)})),e.set.call(this,t),r)for(var a=0;a<r.length;a++){var c=r[a];1===c.__CE_state&&l.disconnectedCallback(c)}return this.ownerDocument.__CE_hasRegistry?d(l,this):s(l,this),t}})}function e(t,e){r(t,"insertAdjacentElement",function(t,o){var i=n(o);return t=e.call(this,t,o),i&&f(l,o),n(t)&&u(l,o),t})}function o(t,e){function n(t,e){for(var n=[];t!==e;t=t.nextSibling)n.push(t);for(e=0;e<n.length;e++)d(l,n[e])}r(t,"insertAdjacentHTML",function(t,o){if("beforebegin"===(t=t.toLowerCase())){var i=this.previousSibling;e.call(this,t,o),n(i||this.parentNode.firstChild,this)}else if("afterbegin"===t)i=this.firstChild,e.call(this,t,o),n(this.firstChild,i);else if("beforeend"===t)i=this.lastChild,e.call(this,t,o),n(i||this.firstChild,null);else{if("afterend"!==t)throw new SyntaxError("The value provided ("+String(t)+") is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'.");i=this.nextSibling,e.call(this,t,o),n(this.nextSibling,i)}})}var l=tt;M&&r(Element.prototype,"attachShadow",function(t){return this.__CE_shadowRoot=M.call(this,t)}),A&&A.get?t(Element.prototype,A):Q&&Q.get?t(HTMLElement.prototype,Q):a(l,function(e){t(e,{enumerable:!0,configurable:!0,get:function(){return x.call(this,!0).innerHTML},set:function(t){var e="template"===this.localName,n=e?this.content:this,o=w.call(document,this.namespaceURI,this.localName);for(o.innerHTML=t;0<n.childNodes.length;)j.call(n,n.childNodes[0]);for(t=e?o.content:o;0<t.childNodes.length;)O.call(n,t.childNodes[0])}})}),r(Element.prototype,"setAttribute",function(t,e){if(1!==this.__CE_state)return L.call(this,t,e);var n=P.call(this,t);L.call(this,t,e),e=P.call(this,t),l.attributeChangedCallback(this,t,n,e,null)}),r(Element.prototype,"setAttributeNS",function(t,e,n){if(1!==this.__CE_state)return F.call(this,t,e,n);var o=I.call(this,t,e);F.call(this,t,e,n),n=I.call(this,t,e),l.attributeChangedCallback(this,e,o,n,t)}),r(Element.prototype,"removeAttribute",function(t){if(1!==this.__CE_state)return D.call(this,t);var e=P.call(this,t);D.call(this,t),null!==e&&l.attributeChangedCallback(this,t,e,null,null)}),r(Element.prototype,"removeAttributeNS",function(t,e){if(1!==this.__CE_state)return H.call(this,t,e);var n=I.call(this,t,e);H.call(this,t,e);var o=I.call(this,t,e);n!==o&&l.attributeChangedCallback(this,e,n,o,t)}),X?e(HTMLElement.prototype,X):K?e(Element.prototype,K):console.warn("Custom Elements: `Element#insertAdjacentElement` was not patched."),G?o(HTMLElement.prototype,G):R?o(Element.prototype,R):console.warn("Custom Elements: `Element#insertAdjacentHTML` was not patched."),Y(l,Element.prototype,{g:B,append:W}),function(t){function e(e){return function(o){for(var i=[],r=0;r<arguments.length;++r)i[r]=arguments[r];r=[];for(var l=[],a=0;a<i.length;a++){var s=i[a];if(s instanceof Element&&n(s)&&l.push(s),s instanceof DocumentFragment)for(s=s.firstChild;s;s=s.nextSibling)r.push(s);else r.push(s)}for(e.apply(this,i),i=0;i<l.length;i++)f(t,l[i]);if(n(this))for(i=0;i<r.length;i++)(l=r[i])instanceof Element&&u(t,l)}}var o=Element.prototype;void 0!==$&&(o.before=e($)),void 0!==$&&(o.after=e(U)),void 0!==q&&r(o,"replaceWith",function(e){for(var o=[],i=0;i<arguments.length;++i)o[i]=arguments[i];i=[];for(var r=[],l=0;l<o.length;l++){var a=o[l];if(a instanceof Element&&n(a)&&r.push(a),a instanceof DocumentFragment)for(a=a.firstChild;a;a=a.nextSibling)i.push(a);else i.push(a)}for(l=n(this),q.apply(this,o),o=0;o<r.length;o++)f(t,r[o]);if(l)for(f(t,this),o=0;o<i.length;o++)(r=i[o])instanceof Element&&u(t,r)}),void 0!==z&&r(o,"remove",function(){var e=n(this);z.call(this),e&&f(t,this)})}(l)}(),document.__CE_hasRegistry=!0;var et=new g(tt);Object.defineProperty(window,"customElements",{configurable:!0,enumerable:!0,value:et})}}).call(self)},function(t,e,n){"use strict";function o(){return(o=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t}).apply(this,arguments)}n.r(e);var i=n(1),r=n(2),l=n.n(r),a=n(0),s=n.n(a),c=(n(4),Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(t[o]=n[o])}return t}),u=function t(e,n,o){null===e&&(e=Function.prototype);var i=Object.getOwnPropertyDescriptor(e,n);if(void 0===i){var r=Object.getPrototypeOf(e);return null===r?void 0:t(r,n,o)}if("value"in i)return i.value;var l=i.get;return void 0!==l?l.call(o):void 0},f=function(){function t(t,e){for(var n=0;n<e.length;n++){var o=e[n];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(t,o.key,o)}}return function(e,n,o){return n&&t(e.prototype,n),o&&t(e,o),e}}();function d(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function h(t,e){if(!t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!e||"object"!=typeof e&&"function"!=typeof e?t:e}function p(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function, not "+typeof e);t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),e&&(Object.setPrototypeOf?Object.setPrototypeOf(t,e):t.__proto__=e)}function v(){return Reflect.construct(HTMLElement,[],this.__proto__.constructor)}Object.setPrototypeOf(v.prototype,HTMLElement.prototype),Object.setPrototypeOf(v,HTMLElement);var g=new WeakMap,y=function(t){function e(){d(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this)),n=function(){var e=g.get(t);e&&H(t,e)};return t.addEventListener("keydown",function(t){return function(e){" "!==e.key&&"Enter"!==e.key||(e.preventDefault(),t(e))}}(n)),t.addEventListener("click",n),t}return p(e,v),f(e,[{key:"connectedCallback",value:function(){this.hasAttribute("tabindex")||this.setAttribute("tabindex","0"),this.hasAttribute("role")||this.setAttribute("role","button")}},{key:"click",value:function(){var t=g.get(this);t&&H(this,t)}}]),e}(),w=function(t){function e(){d(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return g.set(t,{prefix:"### "}),t}return p(e,y),e}();window.customElements.get("md-header")||(window.MarkdownHeaderButtonElement=w,window.customElements.define("md-header",w));var b=function(t){function e(){d(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return g.set(t,{prefix:"**",suffix:"**",trimFirst:!0}),t}return p(e,y),f(e,[{key:"connectedCallback",value:function(){u(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"connectedCallback",this).call(this),this.setAttribute("hotkey","b")}}]),e}();window.customElements.get("md-bold")||(window.MarkdownBoldButtonElement=b,window.customElements.define("md-bold",b));var _=function(t){function e(){d(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return g.set(t,{prefix:"_",suffix:"_",trimFirst:!0}),t}return p(e,y),f(e,[{key:"connectedCallback",value:function(){u(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"connectedCallback",this).call(this),this.setAttribute("hotkey","i")}}]),e}();window.customElements.get("md-italic")||(window.MarkdownItalicButtonElement=_,window.customElements.define("md-italic",_));var E=function(t){function e(){d(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return g.set(t,{prefix:"> ",multiline:!0,surroundWithNewlines:!0}),t}return p(e,y),e}();window.customElements.get("md-quote")||(window.MarkdownQuoteButtonElement=E,window.customElements.define("md-quote",E));var C=function(t){function e(){d(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return g.set(t,{prefix:"`",suffix:"`",blockPrefix:"```",blockSuffix:"```"}),t}return p(e,y),e}();window.customElements.get("md-code")||(window.MarkdownCodeButtonElement=C,window.customElements.define("md-code",C));var k=function(t){function e(){d(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return g.set(t,{prefix:"[",suffix:"](url)",replaceNext:"url",scanFor:"https?://"}),t}return p(e,y),f(e,[{key:"connectedCallback",value:function(){u(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"connectedCallback",this).call(this),this.setAttribute("hotkey","k")}}]),e}();window.customElements.get("md-link")||(window.MarkdownLinkButtonElement=k,window.customElements.define("md-link",k));var x=function(t){function e(){d(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return g.set(t,{prefix:"- ",multiline:!0,surroundWithNewlines:!0}),t}return p(e,y),e}();window.customElements.get("md-unordered-list")||(window.MarkdownUnorderedListButtonElement=x,window.customElements.define("md-unordered-list",x));var O=function(t){function e(){d(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return g.set(t,{prefix:"1. ",multiline:!0,orderedList:!0}),t}return p(e,y),e}();window.customElements.get("md-ordered-list")||(window.MarkdownOrderedListButtonElement=O,window.customElements.define("md-ordered-list",O));var S=function(t){function e(){d(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return g.set(t,{prefix:"- [ ] ",multiline:!0,surroundWithNewlines:!0}),t}return p(e,y),f(e,[{key:"connectedCallback",value:function(){u(e.prototype.__proto__||Object.getPrototypeOf(e.prototype),"connectedCallback",this).call(this),this.setAttribute("hotkey","L")}}]),e}();window.customElements.get("md-task-list")||(window.MarkdownTaskListButtonElement=S,window.customElements.define("md-task-list",S));var j=function(t){function e(){d(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return g.set(t,{prefix:"@",prefixSpace:!0}),t}return p(e,y),e}();window.customElements.get("md-mention")||(window.MarkdownMentionButtonElement=j,window.customElements.define("md-mention",j));var N=function(t){function e(){d(this,e);var t=h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this));return g.set(t,{prefix:"#",prefixSpace:!0}),t}return p(e,y),e}();window.customElements.get("md-ref")||(window.MarkdownRefButtonElement=N,window.customElements.define("md-ref",N));var T=navigator.userAgent.match(/Macintosh/)?"Meta":"Control",M=function(t){function e(){return d(this,e),h(this,(e.__proto__||Object.getPrototypeOf(e)).call(this))}return p(e,v),f(e,[{key:"connectedCallback",value:function(){var t=function(t,e){if(e.metaKey&&"Meta"===T||e.ctrlKey&&"Control"===T){var n=t.querySelector('[hotkey="'+e.key+'"]');n&&(n.click(),e.preventDefault())}}.bind(null,this);this.field&&(this.field.addEventListener("keydown",t),A.set(this,t))}},{key:"disconnectedCallback",value:function(){var t=A.get(this);t&&this.field&&(this.field.removeEventListener("keydown",t),A.delete(this))}},{key:"field",get:function(){var t=this.getAttribute("for");if(t){var e=document.getElementById(t);return e instanceof HTMLTextAreaElement?e:null}}}]),e}(),A=new WeakMap;function P(t){return t.trim().split("\n").length>1}function L(t,e){return Array(e+1).join(t)}window.customElements.get("markdown-toolbar")||(window.MarkdownToolbarElement=M,window.customElements.define("markdown-toolbar",M));var D=null;function I(t,e){var n=t.value.slice(t.selectionStart,t.selectionEnd),o=void 0;o=e.orderedList?function(t){var e=/^\d+\.\s+/,n=void 0,o=void 0,i=t.value.slice(t.selectionStart,t.selectionEnd),r=i.split("\n");if(r.every(function(t){return e.test(t)}))r=r.map(function(t){return t.replace(e,"")}),i=r.join("\n");else{r=function(){var t=void 0,e=void 0,n=void 0,o=[];for(n=t=0,e=r.length;t<e;n=++t){var i=r[n];o.push(n+1+". "+i)}return o}(),i=r.join("\n");var l=F(t),a=l.newlinesToAppend,s=l.newlinesToPrepend;o=t.selectionStart+a.length,n=o+i.length,i=a+i+s}return{text:i,selectionStart:o,selectionEnd:n}}(t):e.multiline&&P(n)?function(t,e){var n=e.prefix,o=e.suffix,i=e.surroundWithNewlines,r=t.value.slice(t.selectionStart,t.selectionEnd),l=t.selectionStart,a=t.selectionEnd,s=r.split("\n");if(s.every(function(t){return t.startsWith(n)&&t.endsWith(o)}))r=s.map(function(t){return t.slice(n.length,t.length-o.length)}).join("\n"),a=l+r.length;else if(r=s.map(function(t){return n+t+o}).join("\n"),i){var c=F(t),u=c.newlinesToAppend,f=c.newlinesToPrepend;l+=u.length,a=l+r.length,r=u+r+f}return{text:r,selectionStart:l,selectionEnd:a}}(t,e):function(t,e){var n=void 0,o=void 0,i=e.prefix,r=e.suffix,l=e.blockPrefix,a=e.blockSuffix,s=e.replaceNext,c=e.prefixSpace,u=e.scanFor,f=e.surroundWithNewlines,d=t.selectionStart,h=t.selectionEnd,p=t.value.slice(t.selectionStart,t.selectionEnd),m=P(p)&&l.length>0?l+"\n":i,v=P(p)&&a.length>0?"\n"+a:r;if(c){var g=t.value[t.selectionStart-1];0===t.selectionStart||null==g||g.match(/\s/)||(m=" "+m)}p=function(t,e,n){if(t.selectionStart===t.selectionEnd)t.selectionStart=function(t,e){for(;t[e]&&null!=t[e-1]&&!t[e-1].match(/\s/);)e--;return e}(t.value,t.selectionStart),t.selectionEnd=function(t,e){for(;t[e]&&!t[e].match(/\s/);)e++;return e}(t.value,t.selectionEnd);else{var o=t.selectionStart-e.length,i=t.selectionEnd+n.length,r=t.value.slice(o,t.selectionStart)===e,l=t.value.slice(t.selectionEnd,i)===n;r&&l&&(t.selectionStart=o,t.selectionEnd=i)}return t.value.slice(t.selectionStart,t.selectionEnd)}(t,m,v);var y=t.selectionStart,w=t.selectionEnd,b=s.length>0&&v.indexOf(s)>-1&&p.length>0;if(f){var _=F(t);n=_.newlinesToAppend,o=_.newlinesToPrepend,m=n+i,v+=o}if(p.startsWith(m)&&p.endsWith(v)){var E=p.slice(m.length,p.length-v.length);if(d===h){var C=d-m.length;C=Math.max(C,y),C=Math.min(C,y+E.length),y=w=C}else w=y+E.length;return{text:E,selectionStart:y,selectionEnd:w}}if(b){if(u.length>0&&p.match(u)){v=v.replace(s,p);var k=m+v;return y=w=y+m.length,{text:k,selectionStart:y,selectionEnd:w}}var x=m+p+v;return y=y+m.length+p.length+v.indexOf(s),w=y+s.length,{text:x,selectionStart:y,selectionEnd:w}}var O=m+p+v;y=d+m.length,w=h+m.length;var S=p.match(/^\s*|\s*$/g);if(e.trimFirst&&S){var j=S[0]||"",N=S[1]||"";O=j+m+p.trim()+v+N,y+=j.length,w-=N.length}return{text:O,selectionStart:y,selectionEnd:w}}(t,e),function(t,e){var n=e.text,o=e.selectionStart,i=e.selectionEnd,r=t.selectionStart,l=t.value.slice(0,r),a=t.value.slice(t.selectionEnd);if(null===D||!0===D){t.contentEditable="true";try{D=document.execCommand("insertText",!1,n)}catch(t){D=!1}t.contentEditable="false"}if(D&&!t.value.slice(0,t.selectionStart).endsWith(n)&&(D=!1),!D){try{document.execCommand("ms-beginUndoUnit")}catch(t){}t.value=l+n+a;try{document.execCommand("ms-endUndoUnit")}catch(t){}t.dispatchEvent(new CustomEvent("input",{bubbles:!0,cancelable:!0}))}null!=o&&null!=i?t.setSelectionRange(o,i):t.setSelectionRange(r,t.selectionEnd)}(t,o)}function F(t){var e=t.value.slice(0,t.selectionStart),n=t.value.slice(t.selectionEnd),o=e.match(/\n*$/),i=n.match(/^\n*/),r=o?o[0].length:0,l=i?i[0].length:0,a=void 0,s=void 0;return e.match(/\S/)&&r<2&&(a=L("\n",2-r)),n.match(/\S/)&&l<2&&(s=L("\n",2-l)),null==a&&(a=""),null==s&&(s=""),{newlinesToAppend:a,newlinesToPrepend:s}}function H(t,e){var n=t.closest("markdown-toolbar");if(n instanceof M){var o=c({},{prefix:"",suffix:"",blockPrefix:"",blockSuffix:"",multiline:!1,replaceNext:"",prefixSpace:!1,scanFor:"",surroundWithNewlines:!1,orderedList:!1,trimFirst:!1},e),i=n.field;i&&(i.focus(),I(i,o))}}var K=n(3),R=n.n(K);app.initializers.add("flarum-markdown",function(t){var e=1;Object(i.extend)(l.a.prototype,"init",function(){this.textareaId="textarea"+e++}),Object(i.extend)(l.a.prototype,"view",function(t){t.children[0].attrs.id=this.textareaId}),Object(i.extend)(l.a.prototype,"configTextarea",function(t,e,n,o){if(!n){var i=new R.a(e);i.disableInline(),o.onunload=function(){i.destroy()}}}),Object(i.extend)(l.a.prototype,"toolbarItems",function(e){var n={className:"Button Button--icon Button--link",config:function(t){return $(t).tooltip()}},i=function(e){return t.translator.trans("flarum-markdown.forum.composer."+e+"_tooltip")};e.add("markdown",m("markdown-toolbar",{for:this.textareaId},m("md-header",o({title:i("header")},n),s()("fas fa-heading")),m("md-bold",o({title:i("bold")+" <cmd-b>"},n),s()("fas fa-bold")),m("md-italic",o({title:i("italic")+" <cmd-i>"},n),s()("fas fa-italic")),m("md-quote",o({title:i("quote")},n),s()("fas fa-quote-left")),m("md-code",o({title:i("code")},n),s()("fas fa-code")),m("md-link",o({title:i("link")+" <cmd-k>"},n),s()("fas fa-link")),m("md-unordered-list",o({title:i("unordered_list")},n),s()("fas fa-list-ul")),m("md-ordered-list",o({title:i("ordered_list")},n),s()("fas fa-list-ol"))),100)})})}]);
 //# sourceMappingURL=forum.js.map
\ No newline at end of file
diff --git a/extensions/markdown/js/dist/forum.js.map b/extensions/markdown/js/dist/forum.js.map
index bb70219fd..307e51f00 100644
--- a/extensions/markdown/js/dist/forum.js.map
+++ b/extensions/markdown/js/dist/forum.js.map
@@ -1 +1 @@
-{"version":3,"sources":["webpack://@flarum/markdown/webpack/bootstrap","webpack://@flarum/markdown/external \"flarum.core.compat['helpers/icon']\"","webpack://@flarum/markdown/external \"flarum.core.compat['extend']\"","webpack://@flarum/markdown/external \"flarum.core.compat['components/TextEditor']\"","webpack://@flarum/markdown/./node_modules/mdarea/mdarea.js","webpack://@flarum/markdown/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@flarum/markdown/./node_modules/@github/markdown-toolbar-element/dist/index.esm.js","webpack://@flarum/markdown/./src/forum/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","flarum","core","compat","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","self","undefined","ctrlKey","test","navigator","platform","reInlineKey","reDoubledInline","rePrefix","reList","reCleanIndent","rePureIndent","reIncrement","reStripLast","reMkIndent","codeBlocks","`","~","openingParens","[","(","{","<","closingParens","]",")","}",">","MarkdownArea","elem","this","_useTab","_useInline","_indent","_reOutdent","_reKey","makeKeyRe","_handleKey","setElement","tab","inline","RegExp","apply","e","selectionStart","selectionEnd","arguments","length","window","evt","InputEvent","dispatchEvent","constructor","getElement","_elem","removeEventListener","addEventListener","getValue","setValue","getIndent","setIndent","indent","Array","join","replace","isTabUsed","useTab","ignoreTab","isInlineEnabled","enableInline","disableInline","destroy","defaultPrevented","prefix","target","substring","selection","postfix","altKey","metaKey","shiftKey","lastIndexOf","handleIndentKey","reOutdent","handleOutdentKey","charAt","handleInlineKey","shift","info","str","offset","line","exec","getLineInfo","isList","_","parseInt","increment","pure","toIndent","stripLast","handleEnterKey","preventDefault","_extends","assign","source","index_esm_extends","_get","receiver","Function","desc","getOwnPropertyDescriptor","parent","getPrototypeOf","_createClass","defineProperties","props","descriptor","configurable","writable","Constructor","protoProps","staticProps","_classCallCheck","instance","TypeError","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","setPrototypeOf","__proto__","_CustomElement","Reflect","construct","HTMLElement","styles","WeakMap","MarkdownButtonElement","_CustomElement2","_this","style","applyStyle","fn","event","keydown","hasAttribute","setAttribute","MarkdownHeaderButtonElement","_MarkdownButtonElemen","_this2","set","customElements","define","MarkdownBoldButtonElement","_MarkdownButtonElemen2","_this3","suffix","trimFirst","MarkdownItalicButtonElement","_MarkdownButtonElemen3","_this4","MarkdownQuoteButtonElement","_MarkdownButtonElemen4","_this5","multiline","surroundWithNewlines","MarkdownCodeButtonElement","_MarkdownButtonElemen5","_this6","blockPrefix","blockSuffix","MarkdownLinkButtonElement","_MarkdownButtonElemen6","_this7","replaceNext","scanFor","MarkdownUnorderedListButtonElement","_MarkdownButtonElemen7","_this8","MarkdownOrderedListButtonElement","_MarkdownButtonElemen8","_this9","orderedList","MarkdownTaskListButtonElement","_MarkdownButtonElemen9","_this10","MarkdownMentionButtonElement","_MarkdownButtonElemen10","_this11","prefixSpace","MarkdownRefButtonElement","_MarkdownButtonElemen11","_this12","modifierKey","userAgent","match","MarkdownToolbarElement","_CustomElement3","toolbar","button","querySelector","click","field","shortcutListeners","delete","id","getAttribute","document","getElementById","HTMLTextAreaElement","isMultipleLines","string","trim","split","repeat","canInsertText","styleSelectedText","textarea","styleArgs","text","slice","result","orderedListRegex","lines","every","map","len","index","results","push","_newlinesToSurroundSe2","newlinesToSurroundSelectedText","_newlinesToAppend2","newlinesToAppend","_newlinesToPrepend2","newlinesToPrepend","arg","startsWith","endsWith","_newlinesToSurroundSe","_newlinesToAppend","_newlinesToPrepend","multilineStyle","originalSelectionStart","originalSelectionEnd","selectedText","prefixToUse","suffixToUse","beforeSelection","wordSelectionStart","wordSelectionEnd","expandedSelectionStart","expandedSelectionEnd","beginsWithPrefix","endsWithSuffix","expandSelectedText","hasReplaceNext","indexOf","ref","replacementText","position","Math","max","min","_replacementText2","_replacementText3","_replacementText","whitespaceEdges","leadingWhitespace","trailingWhitespace","blockStyle","_ref","before","after","contentEditable","execCommand","error","CustomEvent","bubbles","cancelable","setSelectionRange","insertText","afterSelection","breaksBefore","breaksAfter","newlinesBeforeSelection","newlinesAfterSelection","closest","focus","app","initializers","add","extend","TextEditor","textareaId","vdom","children","attrs","element","isInitialized","context","editor","onunload","items","className","config","elm","$","tooltip","translator","trans","for","title","icon"],"mappings":"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","file":"forum.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, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\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\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 4);\n","module.exports = flarum.core.compat['helpers/icon'];","module.exports = flarum.core.compat['extend'];","module.exports = flarum.core.compat['components/TextEditor'];","(function(root, factory) {\n    if (typeof define === 'function' && define.amd) {\n        define([], factory);\n    } else if (typeof module === 'object' && module.exports) {\n        module.exports = factory();\n    } else {\n        root.MarkdownArea = factory();\n    }\n})(typeof self !== 'undefined' ? self : this, function() {\n\n    var isMac = /mac|iphone|ipad|ipod/i.test(navigator.platform),\n        ctrlKey = isMac ? 'metaKey' : 'ctrlKey',\n        reInlineKey = /^[\"'`*_[({<>})\\]]$/,\n        reDoubledInline = /[*_]/,\n        rePrefix = /^[ \\t]*(?:(?:[-+*]|\\d+\\.)[ \\t]+(?:\\[[ x]][ \\t]+)?|>[ \\t]*)*(?::[ \\t]*)?/,\n        reList = /(?:[-+*]|\\d+\\.)[ \\t]+(?:\\[[ x]][ \\t]+)?$/,\n        reCleanIndent = /[-+*\\[\\]x\\d.]/g,\n        rePureIndent = /[^ \\t]/g,\n        reIncrement = /(\\d+)\\.(?=[ \\t]+$)/,\n        reStripLast = /(?:(?:^[ \\t]+)?(?:[-+*]|\\d+\\.|[>:])(?:[ \\t]+\\[[ x]])?[ \\t]*|^[ \\t]+)$/,\n        reMkIndent = /^(?!$)/mg,\n        codeBlocks = {'`': /^``$/m, '~': /^~~$/m},\n        openingParens = {'[': ']', '(': ')', '{': '}', '<': '>'},\n        closingParens = {']': '[', ')': '(', '}': '{', '>': '<'};\n\n\n    function MarkdownArea(elem) {\n        this._useTab = true;\n        this._useInline = true;\n        this._indent = '    ';\n        this._reOutdent = /^[ ]{4}/mg;\n        this._reKey = makeKeyRe(true, true);\n        this._handleKey = this._handleKey.bind(this);\n        this.setElement(elem);\n    }\n\n    MarkdownArea.prototype = {\n        constructor: MarkdownArea,\n\n        getElement: function () {\n            return this._elem;\n        },\n\n        setElement: function (elem) {\n            if (this._elem) {\n                this._elem.removeEventListener('keydown', this._handleKey);\n            }\n\n            this._elem = elem;\n            elem.addEventListener('keydown', this._handleKey);\n        },\n\n        getValue: function () {\n            return this._elem.value;\n        },\n\n        setValue: function (value) {\n            this._elem.value = value;\n        },\n\n        getIndent: function () {\n            return this._indent;\n        },\n\n        setIndent: function (indent) {\n            if (typeof indent === 'number') {\n                this._indent = new Array(indent + 1).join(' ');\n            } else {\n                this._indent = (indent + '').replace(/[^ \\t]/g, ' ');\n            }\n\n            this._reOutdent = new RegExp('^' + this._indent, 'mg');\n        },\n\n        isTabUsed: function () {\n            return this._useTab;\n        },\n\n        useTab: function () {\n            this._useTab = true;\n            this._reKey = makeKeyRe(true, this._useInline);\n        },\n\n        ignoreTab: function () {\n            this._useTab = false;\n            this._reKey = makeKeyRe(false, this._useInline);\n        },\n\n        isInlineEnabled: function() {\n            return this._useInline;\n        },\n\n        enableInline: function () {\n            this._useInline = true;\n            this._reKey = makeKeyRe(this._useTab, true);\n        },\n\n        disableInline: function () {\n            this._useInline = false;\n            this._reKey = makeKeyRe(this._useTab, false);\n        },\n\n        destroy: function () {\n            this._elem.removeEventListener('keydown', this._handleKey);\n            this._elem = this._reKey = this._handleKey = this._indent = this._reOutdent = null;\n        },\n\n        _handleKey: function (evt) {\n            if (!evt.defaultPrevented && this._reKey.test(evt.key)) {\n                var prefix = evt.target.value.substring(0, evt.target.selectionStart),\n                    selection = evt.target.value.substring(evt.target.selectionStart, evt.target.selectionEnd),\n                    postfix = evt.target.value.substring(evt.target.selectionEnd);\n\n                if (evt.key === 'Enter' && !evt.ctrlKey && !evt.altKey && !evt.metaKey) {\n                    handleEnterKey(this._elem, prefix, selection, postfix, evt.shiftKey);\n                } else if (evt.key === 'Tab' && !evt.shiftKey || evt.key === 'i' && evt[ctrlKey]) {\n                    handleIndentKey(this._elem, prefix, selection, postfix, this._indent);\n                } else if (evt.key === 'Tab' && evt.shiftKey || evt.key === 'o' && evt[ctrlKey]) {\n                    handleOutdentKey(this._elem, prefix, selection, postfix, this._indent, this._reOutdent);\n                } else if (reInlineKey.test(evt.key)) {\n                    handleInlineKey(this._elem, prefix, selection, postfix, evt.key);\n                } else {\n                    return;\n                }\n\n                evt.preventDefault();\n            }\n        }\n    };\n\n\n    function makeKeyRe(tab, inline) {\n        return new RegExp('^(?:Enter' + (tab ? '|Tab' : '') + '|[io' + (inline ? '\"\\'`*_([{<>}\\\\])' : '') + '])$');\n    }\n\n\n    function handleEnterKey (elem, prefix, selection, postfix, shift) {\n        var info = !selection ? getLineInfo(prefix) : null;\n\n        if (!selection && info.prefix) {\n            if (!shift && info.prefix === info.line) {\n                prefix = prefix.substring(0, info.offset) + stripLast(info.prefix);\n            } else if (!shift && isList(info.prefix)) {\n                prefix += \"\\n\" + increment(info.prefix);\n            } else {\n                prefix += \"\\n\" + toIndent(info.prefix, shift);\n            }\n        } else {\n            prefix += \"\\n\";\n        }\n\n        apply(elem, prefix + postfix, prefix.length);\n    }\n\n    function handleIndentKey (elem, prefix, selection, postfix, indent) {\n        var s = prefix.length,\n            n = prefix.lastIndexOf(\"\\n\") + 1;\n\n        if (n < s) {\n            selection = prefix.substring(n) + selection;\n            prefix = prefix.substring(0, n);\n        }\n\n        if (n < s || !selection) {\n            s += indent.length;\n        }\n\n        if (selection) {\n            selection = selection.replace(reMkIndent, indent);\n        } else {\n            prefix += indent;\n        }\n\n        apply(elem, prefix + selection + postfix, s, selection ? n + selection.length : s);\n    }\n\n    function handleOutdentKey (elem, prefix, selection, postfix, indent, reOutdent) {\n        var s = prefix.length,\n            n = prefix.lastIndexOf(\"\\n\") + 1;\n\n        if (n < s) {\n            selection = prefix.substring(n) + selection;\n            prefix = prefix.substring(0, n);\n\n            if (selection.substring(0, indent.length) === indent) {\n                s -= indent.length;\n            }\n        }\n\n        selection = selection.replace(reOutdent, '');\n        apply(elem, prefix + selection + postfix, s, n + selection.length);\n    }\n\n    function handleInlineKey (elem, prefix, selection, postfix, key) {\n        if (!selection && !(key in openingParens) && postfix.charAt(0) === key) {\n            apply(elem, prefix + (reDoubledInline.test(key) ? key + key : '') + postfix, prefix.length + 1);\n        } else if (!selection && (key === \"'\" || key in closingParens)) {\n            apply(elem, prefix + key + postfix, prefix.length + 1);\n        } else if (!selection && key in codeBlocks && codeBlocks[key].test(prefix)) {\n            apply(elem, prefix + key + \"language\\n\" + key + key + key + (postfix.charAt(0) !== \"\\n\" ? \"\\n\" : '') + postfix, prefix.length + 1, prefix.length + 9);\n        } else {\n            apply(\n                elem,\n                prefix + (closingParens[key] || key) + selection + (openingParens[key] || key) + postfix,\n                prefix.length + 1,\n                prefix.length + 1 + selection.length\n            );\n        }\n    }\n\n    function apply(elem, value, s, e) {\n        elem.value = value;\n        elem.selectionStart = s;\n        elem.selectionEnd = arguments.length > 3 ? e : s;\n\n        if ('InputEvent' in window) try {\n            var evt = new InputEvent('input');\n            elem.dispatchEvent(evt);\n        } catch (e) { }\n    }\n\n    function getLineInfo(str) {\n        var offset = str.lastIndexOf(\"\\n\") + 1,\n            line = str.substring(offset),\n            m = rePrefix.exec(line);\n\n        return {\n            line: line,\n            offset: offset,\n            prefix: m && m[0]\n        };\n    }\n\n    function isList(prefix) {\n        return reList.test(prefix);\n    }\n\n    function toIndent(prefix, pure) {\n        return prefix.replace(pure ? rePureIndent : reCleanIndent, ' ');\n    }\n\n    function increment(prefix) {\n        return prefix.replace(reIncrement, function (_, n) {\n            return (parseInt(n) + 1) + '.';\n        })\n    }\n\n    function stripLast(prefix) {\n        return prefix.replace(reStripLast, '');\n    }\n\n\n    return MarkdownArea;\n\n});\n","export default function _extends() {\n  _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  };\n\n  return _extends.apply(this, arguments);\n}","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _CustomElement() {\n  return Reflect.construct(HTMLElement, [], this.__proto__.constructor);\n}\n\n;\nObject.setPrototypeOf(_CustomElement.prototype, HTMLElement.prototype);\nObject.setPrototypeOf(_CustomElement, HTMLElement);\nfunction keydown(fn) {\n  return function (event) {\n    if (event.key === ' ' || event.key === 'Enter') {\n      event.preventDefault();\n      fn(event);\n    }\n  };\n}\n\nvar styles = new WeakMap();\n\nvar MarkdownButtonElement = function (_CustomElement2) {\n  _inherits(MarkdownButtonElement, _CustomElement2);\n\n  function MarkdownButtonElement() {\n    _classCallCheck(this, MarkdownButtonElement);\n\n    var _this = _possibleConstructorReturn(this, (MarkdownButtonElement.__proto__ || Object.getPrototypeOf(MarkdownButtonElement)).call(this));\n\n    var apply = function apply() {\n      var style = styles.get(_this);\n      if (!style) return;\n      applyStyle(_this, style);\n    };\n    _this.addEventListener('keydown', keydown(apply));\n    _this.addEventListener('click', apply);\n    return _this;\n  }\n\n  _createClass(MarkdownButtonElement, [{\n    key: 'connectedCallback',\n    value: function connectedCallback() {\n      if (!this.hasAttribute('tabindex')) {\n        this.setAttribute('tabindex', '0');\n      }\n\n      if (!this.hasAttribute('role')) {\n        this.setAttribute('role', 'button');\n      }\n    }\n  }, {\n    key: 'click',\n    value: function click() {\n      var style = styles.get(this);\n      if (!style) return;\n      applyStyle(this, style);\n    }\n  }]);\n\n  return MarkdownButtonElement;\n}(_CustomElement);\n\nvar MarkdownHeaderButtonElement = function (_MarkdownButtonElemen) {\n  _inherits(MarkdownHeaderButtonElement, _MarkdownButtonElemen);\n\n  function MarkdownHeaderButtonElement() {\n    _classCallCheck(this, MarkdownHeaderButtonElement);\n\n    var _this2 = _possibleConstructorReturn(this, (MarkdownHeaderButtonElement.__proto__ || Object.getPrototypeOf(MarkdownHeaderButtonElement)).call(this));\n\n    styles.set(_this2, { prefix: '### ' });\n    return _this2;\n  }\n\n  return MarkdownHeaderButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-header')) {\n  window.MarkdownHeaderButtonElement = MarkdownHeaderButtonElement;\n  window.customElements.define('md-header', MarkdownHeaderButtonElement);\n}\n\nvar MarkdownBoldButtonElement = function (_MarkdownButtonElemen2) {\n  _inherits(MarkdownBoldButtonElement, _MarkdownButtonElemen2);\n\n  function MarkdownBoldButtonElement() {\n    _classCallCheck(this, MarkdownBoldButtonElement);\n\n    var _this3 = _possibleConstructorReturn(this, (MarkdownBoldButtonElement.__proto__ || Object.getPrototypeOf(MarkdownBoldButtonElement)).call(this));\n\n    styles.set(_this3, { prefix: '**', suffix: '**', trimFirst: true });\n    return _this3;\n  }\n\n  _createClass(MarkdownBoldButtonElement, [{\n    key: 'connectedCallback',\n    value: function connectedCallback() {\n      _get(MarkdownBoldButtonElement.prototype.__proto__ || Object.getPrototypeOf(MarkdownBoldButtonElement.prototype), 'connectedCallback', this).call(this);\n      this.setAttribute('hotkey', 'b');\n    }\n  }]);\n\n  return MarkdownBoldButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-bold')) {\n  window.MarkdownBoldButtonElement = MarkdownBoldButtonElement;\n  window.customElements.define('md-bold', MarkdownBoldButtonElement);\n}\n\nvar MarkdownItalicButtonElement = function (_MarkdownButtonElemen3) {\n  _inherits(MarkdownItalicButtonElement, _MarkdownButtonElemen3);\n\n  function MarkdownItalicButtonElement() {\n    _classCallCheck(this, MarkdownItalicButtonElement);\n\n    var _this4 = _possibleConstructorReturn(this, (MarkdownItalicButtonElement.__proto__ || Object.getPrototypeOf(MarkdownItalicButtonElement)).call(this));\n\n    styles.set(_this4, { prefix: '_', suffix: '_', trimFirst: true });\n    return _this4;\n  }\n\n  _createClass(MarkdownItalicButtonElement, [{\n    key: 'connectedCallback',\n    value: function connectedCallback() {\n      _get(MarkdownItalicButtonElement.prototype.__proto__ || Object.getPrototypeOf(MarkdownItalicButtonElement.prototype), 'connectedCallback', this).call(this);\n      this.setAttribute('hotkey', 'i');\n    }\n  }]);\n\n  return MarkdownItalicButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-italic')) {\n  window.MarkdownItalicButtonElement = MarkdownItalicButtonElement;\n  window.customElements.define('md-italic', MarkdownItalicButtonElement);\n}\n\nvar MarkdownQuoteButtonElement = function (_MarkdownButtonElemen4) {\n  _inherits(MarkdownQuoteButtonElement, _MarkdownButtonElemen4);\n\n  function MarkdownQuoteButtonElement() {\n    _classCallCheck(this, MarkdownQuoteButtonElement);\n\n    var _this5 = _possibleConstructorReturn(this, (MarkdownQuoteButtonElement.__proto__ || Object.getPrototypeOf(MarkdownQuoteButtonElement)).call(this));\n\n    styles.set(_this5, { prefix: '> ', multiline: true, surroundWithNewlines: true });\n    return _this5;\n  }\n\n  return MarkdownQuoteButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-quote')) {\n  window.MarkdownQuoteButtonElement = MarkdownQuoteButtonElement;\n  window.customElements.define('md-quote', MarkdownQuoteButtonElement);\n}\n\nvar MarkdownCodeButtonElement = function (_MarkdownButtonElemen5) {\n  _inherits(MarkdownCodeButtonElement, _MarkdownButtonElemen5);\n\n  function MarkdownCodeButtonElement() {\n    _classCallCheck(this, MarkdownCodeButtonElement);\n\n    var _this6 = _possibleConstructorReturn(this, (MarkdownCodeButtonElement.__proto__ || Object.getPrototypeOf(MarkdownCodeButtonElement)).call(this));\n\n    styles.set(_this6, { prefix: '`', suffix: '`', blockPrefix: '```', blockSuffix: '```' });\n    return _this6;\n  }\n\n  return MarkdownCodeButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-code')) {\n  window.MarkdownCodeButtonElement = MarkdownCodeButtonElement;\n  window.customElements.define('md-code', MarkdownCodeButtonElement);\n}\n\nvar MarkdownLinkButtonElement = function (_MarkdownButtonElemen6) {\n  _inherits(MarkdownLinkButtonElement, _MarkdownButtonElemen6);\n\n  function MarkdownLinkButtonElement() {\n    _classCallCheck(this, MarkdownLinkButtonElement);\n\n    var _this7 = _possibleConstructorReturn(this, (MarkdownLinkButtonElement.__proto__ || Object.getPrototypeOf(MarkdownLinkButtonElement)).call(this));\n\n    styles.set(_this7, { prefix: '[', suffix: '](url)', replaceNext: 'url', scanFor: 'https?://' });\n    return _this7;\n  }\n\n  _createClass(MarkdownLinkButtonElement, [{\n    key: 'connectedCallback',\n    value: function connectedCallback() {\n      _get(MarkdownLinkButtonElement.prototype.__proto__ || Object.getPrototypeOf(MarkdownLinkButtonElement.prototype), 'connectedCallback', this).call(this);\n      this.setAttribute('hotkey', 'k');\n    }\n  }]);\n\n  return MarkdownLinkButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-link')) {\n  window.MarkdownLinkButtonElement = MarkdownLinkButtonElement;\n  window.customElements.define('md-link', MarkdownLinkButtonElement);\n}\n\nvar MarkdownUnorderedListButtonElement = function (_MarkdownButtonElemen7) {\n  _inherits(MarkdownUnorderedListButtonElement, _MarkdownButtonElemen7);\n\n  function MarkdownUnorderedListButtonElement() {\n    _classCallCheck(this, MarkdownUnorderedListButtonElement);\n\n    var _this8 = _possibleConstructorReturn(this, (MarkdownUnorderedListButtonElement.__proto__ || Object.getPrototypeOf(MarkdownUnorderedListButtonElement)).call(this));\n\n    styles.set(_this8, { prefix: '- ', multiline: true, surroundWithNewlines: true });\n    return _this8;\n  }\n\n  return MarkdownUnorderedListButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-unordered-list')) {\n  window.MarkdownUnorderedListButtonElement = MarkdownUnorderedListButtonElement;\n  window.customElements.define('md-unordered-list', MarkdownUnorderedListButtonElement);\n}\n\nvar MarkdownOrderedListButtonElement = function (_MarkdownButtonElemen8) {\n  _inherits(MarkdownOrderedListButtonElement, _MarkdownButtonElemen8);\n\n  function MarkdownOrderedListButtonElement() {\n    _classCallCheck(this, MarkdownOrderedListButtonElement);\n\n    var _this9 = _possibleConstructorReturn(this, (MarkdownOrderedListButtonElement.__proto__ || Object.getPrototypeOf(MarkdownOrderedListButtonElement)).call(this));\n\n    styles.set(_this9, { prefix: '1. ', multiline: true, orderedList: true });\n    return _this9;\n  }\n\n  return MarkdownOrderedListButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-ordered-list')) {\n  window.MarkdownOrderedListButtonElement = MarkdownOrderedListButtonElement;\n  window.customElements.define('md-ordered-list', MarkdownOrderedListButtonElement);\n}\n\nvar MarkdownTaskListButtonElement = function (_MarkdownButtonElemen9) {\n  _inherits(MarkdownTaskListButtonElement, _MarkdownButtonElemen9);\n\n  function MarkdownTaskListButtonElement() {\n    _classCallCheck(this, MarkdownTaskListButtonElement);\n\n    var _this10 = _possibleConstructorReturn(this, (MarkdownTaskListButtonElement.__proto__ || Object.getPrototypeOf(MarkdownTaskListButtonElement)).call(this));\n\n    styles.set(_this10, { prefix: '- [ ] ', multiline: true, surroundWithNewlines: true });\n    return _this10;\n  }\n\n  _createClass(MarkdownTaskListButtonElement, [{\n    key: 'connectedCallback',\n    value: function connectedCallback() {\n      _get(MarkdownTaskListButtonElement.prototype.__proto__ || Object.getPrototypeOf(MarkdownTaskListButtonElement.prototype), 'connectedCallback', this).call(this);\n      this.setAttribute('hotkey', 'L');\n    }\n  }]);\n\n  return MarkdownTaskListButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-task-list')) {\n  window.MarkdownTaskListButtonElement = MarkdownTaskListButtonElement;\n  window.customElements.define('md-task-list', MarkdownTaskListButtonElement);\n}\n\nvar MarkdownMentionButtonElement = function (_MarkdownButtonElemen10) {\n  _inherits(MarkdownMentionButtonElement, _MarkdownButtonElemen10);\n\n  function MarkdownMentionButtonElement() {\n    _classCallCheck(this, MarkdownMentionButtonElement);\n\n    var _this11 = _possibleConstructorReturn(this, (MarkdownMentionButtonElement.__proto__ || Object.getPrototypeOf(MarkdownMentionButtonElement)).call(this));\n\n    styles.set(_this11, { prefix: '@', prefixSpace: true });\n    return _this11;\n  }\n\n  return MarkdownMentionButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-mention')) {\n  window.MarkdownMentionButtonElement = MarkdownMentionButtonElement;\n  window.customElements.define('md-mention', MarkdownMentionButtonElement);\n}\n\nvar MarkdownRefButtonElement = function (_MarkdownButtonElemen11) {\n  _inherits(MarkdownRefButtonElement, _MarkdownButtonElemen11);\n\n  function MarkdownRefButtonElement() {\n    _classCallCheck(this, MarkdownRefButtonElement);\n\n    var _this12 = _possibleConstructorReturn(this, (MarkdownRefButtonElement.__proto__ || Object.getPrototypeOf(MarkdownRefButtonElement)).call(this));\n\n    styles.set(_this12, { prefix: '#', prefixSpace: true });\n    return _this12;\n  }\n\n  return MarkdownRefButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-ref')) {\n  window.MarkdownRefButtonElement = MarkdownRefButtonElement;\n  window.customElements.define('md-ref', MarkdownRefButtonElement);\n}\n\nvar modifierKey = navigator.userAgent.match(/Macintosh/) ? 'Meta' : 'Control';\n\nvar MarkdownToolbarElement = function (_CustomElement3) {\n  _inherits(MarkdownToolbarElement, _CustomElement3);\n\n  function MarkdownToolbarElement() {\n    _classCallCheck(this, MarkdownToolbarElement);\n\n    return _possibleConstructorReturn(this, (MarkdownToolbarElement.__proto__ || Object.getPrototypeOf(MarkdownToolbarElement)).call(this));\n  }\n\n  _createClass(MarkdownToolbarElement, [{\n    key: 'connectedCallback',\n    value: function connectedCallback() {\n      var fn = shortcut.bind(null, this);\n      if (this.field) {\n        this.field.addEventListener('keydown', fn);\n        shortcutListeners.set(this, fn);\n      }\n    }\n  }, {\n    key: 'disconnectedCallback',\n    value: function disconnectedCallback() {\n      var fn = shortcutListeners.get(this);\n      if (fn && this.field) {\n        this.field.removeEventListener('keydown', fn);\n        shortcutListeners.delete(this);\n      }\n    }\n  }, {\n    key: 'field',\n    get: function get() {\n      var id = this.getAttribute('for');\n      if (!id) return;\n      var field = document.getElementById(id);\n      return field instanceof HTMLTextAreaElement ? field : null;\n    }\n  }]);\n\n  return MarkdownToolbarElement;\n}(_CustomElement);\n\nvar shortcutListeners = new WeakMap();\n\nfunction shortcut(toolbar, event) {\n  if (event.metaKey && modifierKey === 'Meta' || event.ctrlKey && modifierKey === 'Control') {\n    var button = toolbar.querySelector('[hotkey=\"' + event.key + '\"]');\n    if (button) {\n      button.click();\n      event.preventDefault();\n    }\n  }\n}\n\nif (!window.customElements.get('markdown-toolbar')) {\n  window.MarkdownToolbarElement = MarkdownToolbarElement;\n  window.customElements.define('markdown-toolbar', MarkdownToolbarElement);\n}\n\nfunction isMultipleLines(string) {\n  return string.trim().split('\\n').length > 1;\n}\n\nfunction repeat(string, n) {\n  return Array(n + 1).join(string);\n}\n\nfunction wordSelectionStart(text, index) {\n  while (text[index] && text[index - 1] != null && !text[index - 1].match(/\\s/)) {\n    index--;\n  }\n  return index;\n}\n\nfunction wordSelectionEnd(text, index) {\n  while (text[index] && !text[index].match(/\\s/)) {\n    index++;\n  }\n  return index;\n}\n\nvar canInsertText = null;\n\nfunction insertText(textarea, _ref) {\n  var text = _ref.text,\n      selectionStart = _ref.selectionStart,\n      selectionEnd = _ref.selectionEnd;\n\n  var originalSelectionStart = textarea.selectionStart;\n  var before = textarea.value.slice(0, originalSelectionStart);\n  var after = textarea.value.slice(textarea.selectionEnd);\n\n  if (canInsertText === null || canInsertText === true) {\n    textarea.contentEditable = 'true';\n    try {\n      canInsertText = document.execCommand('insertText', false, text);\n    } catch (error) {\n      canInsertText = false;\n    }\n    textarea.contentEditable = 'false';\n  }\n\n  if (canInsertText && !textarea.value.slice(0, textarea.selectionStart).endsWith(text)) {\n    canInsertText = false;\n  }\n\n  if (!canInsertText) {\n    try {\n      document.execCommand('ms-beginUndoUnit');\n    } catch (e) {\n      // Do nothing.\n    }\n    textarea.value = before + text + after;\n    try {\n      document.execCommand('ms-endUndoUnit');\n    } catch (e) {\n      // Do nothing.\n    }\n    textarea.dispatchEvent(new CustomEvent('input', { bubbles: true, cancelable: true }));\n  }\n\n  if (selectionStart != null && selectionEnd != null) {\n    textarea.setSelectionRange(selectionStart, selectionEnd);\n  } else {\n    textarea.setSelectionRange(originalSelectionStart, textarea.selectionEnd);\n  }\n}\n\nfunction styleSelectedText(textarea, styleArgs) {\n  var text = textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n\n  var result = void 0;\n  if (styleArgs.orderedList) {\n    result = orderedList(textarea);\n  } else if (styleArgs.multiline && isMultipleLines(text)) {\n    result = multilineStyle(textarea, styleArgs);\n  } else {\n    result = blockStyle(textarea, styleArgs);\n  }\n\n  insertText(textarea, result);\n}\n\nfunction expandSelectedText(textarea, prefixToUse, suffixToUse) {\n  if (textarea.selectionStart === textarea.selectionEnd) {\n    textarea.selectionStart = wordSelectionStart(textarea.value, textarea.selectionStart);\n    textarea.selectionEnd = wordSelectionEnd(textarea.value, textarea.selectionEnd);\n  } else {\n    var expandedSelectionStart = textarea.selectionStart - prefixToUse.length;\n    var expandedSelectionEnd = textarea.selectionEnd + suffixToUse.length;\n    var beginsWithPrefix = textarea.value.slice(expandedSelectionStart, textarea.selectionStart) === prefixToUse;\n    var endsWithSuffix = textarea.value.slice(textarea.selectionEnd, expandedSelectionEnd) === suffixToUse;\n    if (beginsWithPrefix && endsWithSuffix) {\n      textarea.selectionStart = expandedSelectionStart;\n      textarea.selectionEnd = expandedSelectionEnd;\n    }\n  }\n  return textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n}\n\nfunction newlinesToSurroundSelectedText(textarea) {\n  var beforeSelection = textarea.value.slice(0, textarea.selectionStart);\n  var afterSelection = textarea.value.slice(textarea.selectionEnd);\n\n  var breaksBefore = beforeSelection.match(/\\n*$/);\n  var breaksAfter = afterSelection.match(/^\\n*/);\n  var newlinesBeforeSelection = breaksBefore ? breaksBefore[0].length : 0;\n  var newlinesAfterSelection = breaksAfter ? breaksAfter[0].length : 0;\n\n  var newlinesToAppend = void 0;\n  var newlinesToPrepend = void 0;\n\n  if (beforeSelection.match(/\\S/) && newlinesBeforeSelection < 2) {\n    newlinesToAppend = repeat('\\n', 2 - newlinesBeforeSelection);\n  }\n\n  if (afterSelection.match(/\\S/) && newlinesAfterSelection < 2) {\n    newlinesToPrepend = repeat('\\n', 2 - newlinesAfterSelection);\n  }\n\n  if (newlinesToAppend == null) {\n    newlinesToAppend = '';\n  }\n\n  if (newlinesToPrepend == null) {\n    newlinesToPrepend = '';\n  }\n\n  return { newlinesToAppend: newlinesToAppend, newlinesToPrepend: newlinesToPrepend };\n}\n\nfunction blockStyle(textarea, arg) {\n  var newlinesToAppend = void 0;\n  var newlinesToPrepend = void 0;\n\n  var prefix = arg.prefix,\n      suffix = arg.suffix,\n      blockPrefix = arg.blockPrefix,\n      blockSuffix = arg.blockSuffix,\n      replaceNext = arg.replaceNext,\n      prefixSpace = arg.prefixSpace,\n      scanFor = arg.scanFor,\n      surroundWithNewlines = arg.surroundWithNewlines;\n\n  var originalSelectionStart = textarea.selectionStart;\n  var originalSelectionEnd = textarea.selectionEnd;\n\n  var selectedText = textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n  var prefixToUse = isMultipleLines(selectedText) && blockPrefix.length > 0 ? blockPrefix + '\\n' : prefix;\n  var suffixToUse = isMultipleLines(selectedText) && blockSuffix.length > 0 ? '\\n' + blockSuffix : suffix;\n\n  if (prefixSpace) {\n    var beforeSelection = textarea.value[textarea.selectionStart - 1];\n    if (textarea.selectionStart !== 0 && beforeSelection != null && !beforeSelection.match(/\\s/)) {\n      prefixToUse = ' ' + prefixToUse;\n    }\n  }\n  selectedText = expandSelectedText(textarea, prefixToUse, suffixToUse);\n  var selectionStart = textarea.selectionStart;\n  var selectionEnd = textarea.selectionEnd;\n  var hasReplaceNext = replaceNext.length > 0 && suffixToUse.indexOf(replaceNext) > -1 && selectedText.length > 0;\n  if (surroundWithNewlines) {\n    var ref = newlinesToSurroundSelectedText(textarea);\n    newlinesToAppend = ref.newlinesToAppend;\n    newlinesToPrepend = ref.newlinesToPrepend;\n    prefixToUse = newlinesToAppend + prefix;\n    suffixToUse += newlinesToPrepend;\n  }\n\n  if (selectedText.startsWith(prefixToUse) && selectedText.endsWith(suffixToUse)) {\n    var replacementText = selectedText.slice(prefixToUse.length, selectedText.length - suffixToUse.length);\n    if (originalSelectionStart === originalSelectionEnd) {\n      var position = originalSelectionStart - prefixToUse.length;\n      position = Math.max(position, selectionStart);\n      position = Math.min(position, selectionStart + replacementText.length);\n      selectionStart = selectionEnd = position;\n    } else {\n      selectionEnd = selectionStart + replacementText.length;\n    }\n    return { text: replacementText, selectionStart: selectionStart, selectionEnd: selectionEnd };\n  } else if (!hasReplaceNext) {\n    var _replacementText = prefixToUse + selectedText + suffixToUse;\n    selectionStart = originalSelectionStart + prefixToUse.length;\n    selectionEnd = originalSelectionEnd + prefixToUse.length;\n    var whitespaceEdges = selectedText.match(/^\\s*|\\s*$/g);\n    if (arg.trimFirst && whitespaceEdges) {\n      var leadingWhitespace = whitespaceEdges[0] || '';\n      var trailingWhitespace = whitespaceEdges[1] || '';\n      _replacementText = leadingWhitespace + prefixToUse + selectedText.trim() + suffixToUse + trailingWhitespace;\n      selectionStart += leadingWhitespace.length;\n      selectionEnd -= trailingWhitespace.length;\n    }\n    return { text: _replacementText, selectionStart: selectionStart, selectionEnd: selectionEnd };\n  } else if (scanFor.length > 0 && selectedText.match(scanFor)) {\n    suffixToUse = suffixToUse.replace(replaceNext, selectedText);\n    var _replacementText2 = prefixToUse + suffixToUse;\n    selectionStart = selectionEnd = selectionStart + prefixToUse.length;\n    return { text: _replacementText2, selectionStart: selectionStart, selectionEnd: selectionEnd };\n  } else {\n    var _replacementText3 = prefixToUse + selectedText + suffixToUse;\n    selectionStart = selectionStart + prefixToUse.length + selectedText.length + suffixToUse.indexOf(replaceNext);\n    selectionEnd = selectionStart + replaceNext.length;\n    return { text: _replacementText3, selectionStart: selectionStart, selectionEnd: selectionEnd };\n  }\n}\n\nfunction multilineStyle(textarea, arg) {\n  var prefix = arg.prefix,\n      suffix = arg.suffix,\n      surroundWithNewlines = arg.surroundWithNewlines;\n\n  var text = textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n  var selectionStart = textarea.selectionStart;\n  var selectionEnd = textarea.selectionEnd;\n  var lines = text.split('\\n');\n  var undoStyle = lines.every(function (line) {\n    return line.startsWith(prefix) && line.endsWith(suffix);\n  });\n\n  if (undoStyle) {\n    text = lines.map(function (line) {\n      return line.slice(prefix.length, line.length - suffix.length);\n    }).join('\\n');\n    selectionEnd = selectionStart + text.length;\n  } else {\n    text = lines.map(function (line) {\n      return prefix + line + suffix;\n    }).join('\\n');\n    if (surroundWithNewlines) {\n      var _newlinesToSurroundSe = newlinesToSurroundSelectedText(textarea),\n          _newlinesToAppend = _newlinesToSurroundSe.newlinesToAppend,\n          _newlinesToPrepend = _newlinesToSurroundSe.newlinesToPrepend;\n\n      selectionStart += _newlinesToAppend.length;\n      selectionEnd = selectionStart + text.length;\n      text = _newlinesToAppend + text + _newlinesToPrepend;\n    }\n  }\n\n  return { text: text, selectionStart: selectionStart, selectionEnd: selectionEnd };\n}\n\nfunction orderedList(textarea) {\n  var orderedListRegex = /^\\d+\\.\\s+/;\n  var selectionEnd = void 0;\n  var selectionStart = void 0;\n  var text = textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n  var lines = text.split('\\n');\n\n  var undoStyling = lines.every(function (line) {\n    return orderedListRegex.test(line);\n  });\n\n  if (undoStyling) {\n    lines = lines.map(function (line) {\n      return line.replace(orderedListRegex, '');\n    });\n    text = lines.join('\\n');\n  } else {\n    lines = function () {\n      var i = void 0;\n      var len = void 0;\n      var index = void 0;\n      var results = [];\n      for (index = i = 0, len = lines.length; i < len; index = ++i) {\n        var line = lines[index];\n        results.push(index + 1 + '. ' + line);\n      }\n      return results;\n    }();\n    text = lines.join('\\n');\n\n    var _newlinesToSurroundSe2 = newlinesToSurroundSelectedText(textarea),\n        _newlinesToAppend2 = _newlinesToSurroundSe2.newlinesToAppend,\n        _newlinesToPrepend2 = _newlinesToSurroundSe2.newlinesToPrepend;\n\n    selectionStart = textarea.selectionStart + _newlinesToAppend2.length;\n    selectionEnd = selectionStart + text.length;\n    text = _newlinesToAppend2 + text + _newlinesToPrepend2;\n  }\n\n  return { text: text, selectionStart: selectionStart, selectionEnd: selectionEnd };\n}\n\nfunction applyStyle(button, styles) {\n  var toolbar = button.closest('markdown-toolbar');\n  if (!(toolbar instanceof MarkdownToolbarElement)) return;\n\n  var defaults = {\n    prefix: '',\n    suffix: '',\n    blockPrefix: '',\n    blockSuffix: '',\n    multiline: false,\n    replaceNext: '',\n    prefixSpace: false,\n    scanFor: '',\n    surroundWithNewlines: false,\n    orderedList: false,\n    trimFirst: false\n  };\n\n  var style = _extends({}, defaults, styles);\n\n  var field = toolbar.field;\n  if (field) {\n    field.focus();\n    styleSelectedText(field, style);\n  }\n}\n\nexport default MarkdownToolbarElement;\n","import { extend } from 'flarum/extend';\nimport TextEditor from 'flarum/components/TextEditor';\nimport icon from 'flarum/helpers/icon';\n\nimport '@github/markdown-toolbar-element';\nimport MarkdownArea from 'mdarea/mdarea.js';\n\napp.initializers.add('flarum-markdown', function(app) {\n  let index = 1;\n\n  extend(TextEditor.prototype, 'init', function() {\n    this.textareaId = 'textarea'+(index++);\n  });\n\n  extend(TextEditor.prototype, 'view', function(vdom) {\n    vdom.children[0].attrs.id = this.textareaId;\n  });\n\n  extend(TextEditor.prototype, 'configTextarea', function(value, element, isInitialized, context) {\n    if (isInitialized) return;\n\n    const editor = new MarkdownArea(element);\n    editor.disableInline();\n\n    context.onunload = function() {\n      editor.destroy();\n    };\n  });\n\n  extend(TextEditor.prototype, 'toolbarItems', function(items) {\n    const attrs = {\n      className: 'Button Button--icon Button--link',\n      config: elm => $(elm).tooltip()\n    };\n\n    const tooltip = name => app.translator.trans(`flarum-markdown.forum.composer.${name}_tooltip`);\n\n    items.add('markdown', (\n      <markdown-toolbar for={this.textareaId}>\n        <md-header title={tooltip('header')} {...attrs}>{icon('fas fa-heading')}</md-header>\n        <md-bold title={tooltip('bold')+' <cmd-b>'} {...attrs}>{icon('fas fa-bold')}</md-bold>\n        <md-italic title={tooltip('italic')+' <cmd-i>'} {...attrs}>{icon('fas fa-italic')}</md-italic>\n        <md-quote title={tooltip('quote')} {...attrs}>{icon('fas fa-quote-left')}</md-quote>\n        <md-code title={tooltip('code')} {...attrs}>{icon('fas fa-code')}</md-code>\n        <md-link title={tooltip('link')+' <cmd-k>'} {...attrs}>{icon('fas fa-link')}</md-link>\n        <md-unordered-list title={tooltip('unordered_list')} {...attrs}>{icon('fas fa-list-ul')}</md-unordered-list>\n        <md-ordered-list title={tooltip('ordered_list')} {...attrs}>{icon('fas fa-list-ol')}</md-ordered-list>\n      </markdown-toolbar>\n    ), 100);\n  });\n});\n"],"sourceRoot":""}
\ No newline at end of file
+{"version":3,"sources":["webpack://@flarum/markdown/webpack/bootstrap","webpack://@flarum/markdown/external \"flarum.core.compat['helpers/icon']\"","webpack://@flarum/markdown/external \"flarum.core.compat['extend']\"","webpack://@flarum/markdown/external \"flarum.core.compat['components/TextEditor']\"","webpack://@flarum/markdown/./node_modules/mdarea/mdarea.js","webpack://@flarum/markdown/./node_modules/@webcomponents/custom-elements/custom-elements.min.js","webpack://@flarum/markdown/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://@flarum/markdown/./node_modules/@github/markdown-toolbar-element/dist/index.esm.js","webpack://@flarum/markdown/./src/forum/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","flarum","core","compat","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_ARRAY__","__WEBPACK_AMD_DEFINE_RESULT__","self","undefined","ctrlKey","test","navigator","platform","reInlineKey","reDoubledInline","rePrefix","reList","reCleanIndent","rePureIndent","reIncrement","reStripLast","reMkIndent","codeBlocks","`","~","openingParens","[","(","{","<","closingParens","]",")","}",">","MarkdownArea","elem","this","_useTab","_useInline","_indent","_reOutdent","_reKey","makeKeyRe","_handleKey","setElement","tab","inline","RegExp","apply","e","selectionStart","selectionEnd","arguments","length","window","evt","InputEvent","dispatchEvent","constructor","getElement","_elem","removeEventListener","addEventListener","getValue","setValue","getIndent","setIndent","indent","Array","join","replace","isTabUsed","useTab","ignoreTab","isInlineEnabled","enableInline","disableInline","destroy","defaultPrevented","prefix","target","substring","selection","postfix","altKey","metaKey","shiftKey","lastIndexOf","handleIndentKey","reOutdent","handleOutdentKey","charAt","handleInlineKey","shift","info","str","offset","line","exec","getLineInfo","isList","_","parseInt","increment","pure","toIndent","stripLast","handleEnterKey","preventDefault","aa","Set","split","g","b","a","has","isConnected","__CE_isImportDocument","Document","parentNode","ShadowRoot","host","nextSibling","q","nodeType","Node","ELEMENT_NODE","f","localName","getAttribute","import","add","firstChild","__CE_shadowRoot","u","Map","v","push","w","x","__CE_patched","y","__CE_state","connectedCallback","z","A","disconnectedCallback","B","h","__CE_hasRegistry","readyState","__CE_documentLoadHandled","delete","ownerDocument","defaultView","constructionStack","constructorFunction","Error","pop","__CE_definition","attributeChangedCallback","observedAttributes","C","document","MutationObserver","observe","childList","subtree","D","disconnect","E","F","j","indexOf","addedNodes","Function","TypeError","SyntaxError","k","adoptedCallback","set","ba","da","Promise","reject","some","CustomElementRegistry","define","upgrade","whenDefined","polyfillWrapFlushCallback","G","createElement","H","createElementNS","ea","importNode","fa","prepend","ha","append","ia","DocumentFragment","ja","I","cloneNode","J","appendChild","K","insertBefore","L","removeChild","M","replaceChild","N","getOwnPropertyDescriptor","O","Element","attachShadow","P","Q","R","setAttribute","S","removeAttribute","T","getAttributeNS","U","setAttributeNS","ka","removeAttributeNS","la","insertAdjacentElement","ma","insertAdjacentHTML","na","oa","V","before","pa","after","qa","replaceWith","ra","remove","sa","HTMLElement","W","ta","ua","va","Y","Z","customElements","forcePolyfill","X","setPrototypeOf","writable","configurable","wa","xa","TEXT_NODE","childNodes","slice","textContent","createTextNode","ya","toLowerCase","previousSibling","lastChild","String","innerHTML","content","namespaceURI","console","warn","za","Aa","_extends","assign","source","index_esm_extends","_get","receiver","desc","parent","getPrototypeOf","_createClass","defineProperties","props","descriptor","Constructor","protoProps","staticProps","_classCallCheck","instance","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","__proto__","_CustomElement","Reflect","construct","styles","WeakMap","MarkdownButtonElement","_CustomElement2","_this","style","applyStyle","fn","event","keydown","hasAttribute","MarkdownHeaderButtonElement","_MarkdownButtonElemen","_this2","MarkdownBoldButtonElement","_MarkdownButtonElemen2","_this3","suffix","trimFirst","MarkdownItalicButtonElement","_MarkdownButtonElemen3","_this4","MarkdownQuoteButtonElement","_MarkdownButtonElemen4","_this5","multiline","surroundWithNewlines","MarkdownCodeButtonElement","_MarkdownButtonElemen5","_this6","blockPrefix","blockSuffix","MarkdownLinkButtonElement","_MarkdownButtonElemen6","_this7","replaceNext","scanFor","MarkdownUnorderedListButtonElement","_MarkdownButtonElemen7","_this8","MarkdownOrderedListButtonElement","_MarkdownButtonElemen8","_this9","orderedList","MarkdownTaskListButtonElement","_MarkdownButtonElemen9","_this10","MarkdownMentionButtonElement","_MarkdownButtonElemen10","_this11","prefixSpace","MarkdownRefButtonElement","_MarkdownButtonElemen11","_this12","modifierKey","userAgent","match","MarkdownToolbarElement","_CustomElement3","toolbar","button","querySelector","click","field","shortcutListeners","id","getElementById","HTMLTextAreaElement","isMultipleLines","string","trim","repeat","canInsertText","styleSelectedText","textarea","styleArgs","text","result","orderedListRegex","lines","every","map","len","index","results","_newlinesToSurroundSe2","newlinesToSurroundSelectedText","_newlinesToAppend2","newlinesToAppend","_newlinesToPrepend2","newlinesToPrepend","arg","startsWith","endsWith","_newlinesToSurroundSe","_newlinesToAppend","_newlinesToPrepend","multilineStyle","originalSelectionStart","originalSelectionEnd","selectedText","prefixToUse","suffixToUse","beforeSelection","wordSelectionStart","wordSelectionEnd","expandedSelectionStart","expandedSelectionEnd","beginsWithPrefix","endsWithSuffix","expandSelectedText","hasReplaceNext","ref","replacementText","position","Math","max","min","_replacementText2","_replacementText3","_replacementText","whitespaceEdges","leadingWhitespace","trailingWhitespace","blockStyle","_ref","contentEditable","execCommand","error","CustomEvent","bubbles","cancelable","setSelectionRange","insertText","afterSelection","breaksBefore","breaksAfter","newlinesBeforeSelection","newlinesAfterSelection","closest","focus","app","initializers","extend","TextEditor","textareaId","vdom","children","attrs","element","isInitialized","context","editor","onunload","items","className","config","elm","$","tooltip","translator","trans","for","title","icon"],"mappings":"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","file":"forum.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, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\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\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 5);\n","module.exports = flarum.core.compat['helpers/icon'];","module.exports = flarum.core.compat['extend'];","module.exports = flarum.core.compat['components/TextEditor'];","(function(root, factory) {\n    if (typeof define === 'function' && define.amd) {\n        define([], factory);\n    } else if (typeof module === 'object' && module.exports) {\n        module.exports = factory();\n    } else {\n        root.MarkdownArea = factory();\n    }\n})(typeof self !== 'undefined' ? self : this, function() {\n\n    var isMac = /mac|iphone|ipad|ipod/i.test(navigator.platform),\n        ctrlKey = isMac ? 'metaKey' : 'ctrlKey',\n        reInlineKey = /^[\"'`*_[({<>})\\]]$/,\n        reDoubledInline = /[*_]/,\n        rePrefix = /^[ \\t]*(?:(?:[-+*]|\\d+\\.)[ \\t]+(?:\\[[ x]][ \\t]+)?|>[ \\t]*)*(?::[ \\t]*)?/,\n        reList = /(?:[-+*]|\\d+\\.)[ \\t]+(?:\\[[ x]][ \\t]+)?$/,\n        reCleanIndent = /[-+*\\[\\]x\\d.]/g,\n        rePureIndent = /[^ \\t]/g,\n        reIncrement = /(\\d+)\\.(?=[ \\t]+$)/,\n        reStripLast = /(?:(?:^[ \\t]+)?(?:[-+*]|\\d+\\.|[>:])(?:[ \\t]+\\[[ x]])?[ \\t]*|^[ \\t]+)$/,\n        reMkIndent = /^(?!$)/mg,\n        codeBlocks = {'`': /^``$/m, '~': /^~~$/m},\n        openingParens = {'[': ']', '(': ')', '{': '}', '<': '>'},\n        closingParens = {']': '[', ')': '(', '}': '{', '>': '<'};\n\n\n    function MarkdownArea(elem) {\n        this._useTab = true;\n        this._useInline = true;\n        this._indent = '    ';\n        this._reOutdent = /^[ ]{4}/mg;\n        this._reKey = makeKeyRe(true, true);\n        this._handleKey = this._handleKey.bind(this);\n        this.setElement(elem);\n    }\n\n    MarkdownArea.prototype = {\n        constructor: MarkdownArea,\n\n        getElement: function () {\n            return this._elem;\n        },\n\n        setElement: function (elem) {\n            if (this._elem) {\n                this._elem.removeEventListener('keydown', this._handleKey);\n            }\n\n            this._elem = elem;\n            elem.addEventListener('keydown', this._handleKey);\n        },\n\n        getValue: function () {\n            return this._elem.value;\n        },\n\n        setValue: function (value) {\n            this._elem.value = value;\n        },\n\n        getIndent: function () {\n            return this._indent;\n        },\n\n        setIndent: function (indent) {\n            if (typeof indent === 'number') {\n                this._indent = new Array(indent + 1).join(' ');\n            } else {\n                this._indent = (indent + '').replace(/[^ \\t]/g, ' ');\n            }\n\n            this._reOutdent = new RegExp('^' + this._indent, 'mg');\n        },\n\n        isTabUsed: function () {\n            return this._useTab;\n        },\n\n        useTab: function () {\n            this._useTab = true;\n            this._reKey = makeKeyRe(true, this._useInline);\n        },\n\n        ignoreTab: function () {\n            this._useTab = false;\n            this._reKey = makeKeyRe(false, this._useInline);\n        },\n\n        isInlineEnabled: function() {\n            return this._useInline;\n        },\n\n        enableInline: function () {\n            this._useInline = true;\n            this._reKey = makeKeyRe(this._useTab, true);\n        },\n\n        disableInline: function () {\n            this._useInline = false;\n            this._reKey = makeKeyRe(this._useTab, false);\n        },\n\n        destroy: function () {\n            this._elem.removeEventListener('keydown', this._handleKey);\n            this._elem = this._reKey = this._handleKey = this._indent = this._reOutdent = null;\n        },\n\n        _handleKey: function (evt) {\n            if (!evt.defaultPrevented && this._reKey.test(evt.key)) {\n                var prefix = evt.target.value.substring(0, evt.target.selectionStart),\n                    selection = evt.target.value.substring(evt.target.selectionStart, evt.target.selectionEnd),\n                    postfix = evt.target.value.substring(evt.target.selectionEnd);\n\n                if (evt.key === 'Enter' && !evt.ctrlKey && !evt.altKey && !evt.metaKey) {\n                    handleEnterKey(this._elem, prefix, selection, postfix, evt.shiftKey);\n                } else if (evt.key === 'Tab' && !evt.shiftKey || evt.key === 'i' && evt[ctrlKey]) {\n                    handleIndentKey(this._elem, prefix, selection, postfix, this._indent);\n                } else if (evt.key === 'Tab' && evt.shiftKey || evt.key === 'o' && evt[ctrlKey]) {\n                    handleOutdentKey(this._elem, prefix, selection, postfix, this._indent, this._reOutdent);\n                } else if (reInlineKey.test(evt.key)) {\n                    handleInlineKey(this._elem, prefix, selection, postfix, evt.key);\n                } else {\n                    return;\n                }\n\n                evt.preventDefault();\n            }\n        }\n    };\n\n\n    function makeKeyRe(tab, inline) {\n        return new RegExp('^(?:Enter' + (tab ? '|Tab' : '') + '|[io' + (inline ? '\"\\'`*_([{<>}\\\\])' : '') + '])$');\n    }\n\n\n    function handleEnterKey (elem, prefix, selection, postfix, shift) {\n        var info = !selection ? getLineInfo(prefix) : null;\n\n        if (!selection && info.prefix) {\n            if (!shift && info.prefix === info.line) {\n                prefix = prefix.substring(0, info.offset) + stripLast(info.prefix);\n            } else if (!shift && isList(info.prefix)) {\n                prefix += \"\\n\" + increment(info.prefix);\n            } else {\n                prefix += \"\\n\" + toIndent(info.prefix, shift);\n            }\n        } else {\n            prefix += \"\\n\";\n        }\n\n        apply(elem, prefix + postfix, prefix.length);\n    }\n\n    function handleIndentKey (elem, prefix, selection, postfix, indent) {\n        var s = prefix.length,\n            n = prefix.lastIndexOf(\"\\n\") + 1;\n\n        if (n < s) {\n            selection = prefix.substring(n) + selection;\n            prefix = prefix.substring(0, n);\n        }\n\n        if (n < s || !selection) {\n            s += indent.length;\n        }\n\n        if (selection) {\n            selection = selection.replace(reMkIndent, indent);\n        } else {\n            prefix += indent;\n        }\n\n        apply(elem, prefix + selection + postfix, s, selection ? n + selection.length : s);\n    }\n\n    function handleOutdentKey (elem, prefix, selection, postfix, indent, reOutdent) {\n        var s = prefix.length,\n            n = prefix.lastIndexOf(\"\\n\") + 1;\n\n        if (n < s) {\n            selection = prefix.substring(n) + selection;\n            prefix = prefix.substring(0, n);\n\n            if (selection.substring(0, indent.length) === indent) {\n                s -= indent.length;\n            }\n        }\n\n        selection = selection.replace(reOutdent, '');\n        apply(elem, prefix + selection + postfix, s, n + selection.length);\n    }\n\n    function handleInlineKey (elem, prefix, selection, postfix, key) {\n        if (!selection && !(key in openingParens) && postfix.charAt(0) === key) {\n            apply(elem, prefix + (reDoubledInline.test(key) ? key + key : '') + postfix, prefix.length + 1);\n        } else if (!selection && (key === \"'\" || key in closingParens)) {\n            apply(elem, prefix + key + postfix, prefix.length + 1);\n        } else if (!selection && key in codeBlocks && codeBlocks[key].test(prefix)) {\n            apply(elem, prefix + key + \"language\\n\" + key + key + key + (postfix.charAt(0) !== \"\\n\" ? \"\\n\" : '') + postfix, prefix.length + 1, prefix.length + 9);\n        } else {\n            apply(\n                elem,\n                prefix + (closingParens[key] || key) + selection + (openingParens[key] || key) + postfix,\n                prefix.length + 1,\n                prefix.length + 1 + selection.length\n            );\n        }\n    }\n\n    function apply(elem, value, s, e) {\n        elem.value = value;\n        elem.selectionStart = s;\n        elem.selectionEnd = arguments.length > 3 ? e : s;\n\n        if ('InputEvent' in window) try {\n            var evt = new InputEvent('input');\n            elem.dispatchEvent(evt);\n        } catch (e) { }\n    }\n\n    function getLineInfo(str) {\n        var offset = str.lastIndexOf(\"\\n\") + 1,\n            line = str.substring(offset),\n            m = rePrefix.exec(line);\n\n        return {\n            line: line,\n            offset: offset,\n            prefix: m && m[0]\n        };\n    }\n\n    function isList(prefix) {\n        return reList.test(prefix);\n    }\n\n    function toIndent(prefix, pure) {\n        return prefix.replace(pure ? rePureIndent : reCleanIndent, ' ');\n    }\n\n    function increment(prefix) {\n        return prefix.replace(reIncrement, function (_, n) {\n            return (parseInt(n) + 1) + '.';\n        })\n    }\n\n    function stripLast(prefix) {\n        return prefix.replace(reStripLast, '');\n    }\n\n\n    return MarkdownArea;\n\n});\n","(function(){\n'use strict';var aa=new Set(\"annotation-xml color-profile font-face font-face-src font-face-uri font-face-format font-face-name missing-glyph\".split(\" \"));function g(b){var a=aa.has(b);b=/^[a-z][.0-9_a-z]*-[\\-.0-9_a-z]*$/.test(b);return!a&&b}function l(b){var a=b.isConnected;if(void 0!==a)return a;for(;b&&!(b.__CE_isImportDocument||b instanceof Document);)b=b.parentNode||(window.ShadowRoot&&b instanceof ShadowRoot?b.host:void 0);return!(!b||!(b.__CE_isImportDocument||b instanceof Document))}\nfunction p(b,a){for(;a&&a!==b&&!a.nextSibling;)a=a.parentNode;return a&&a!==b?a.nextSibling:null}\nfunction q(b,a,d){d=void 0===d?new Set:d;for(var c=b;c;){if(c.nodeType===Node.ELEMENT_NODE){var e=c;a(e);var f=e.localName;if(\"link\"===f&&\"import\"===e.getAttribute(\"rel\")){c=e.import;if(c instanceof Node&&!d.has(c))for(d.add(c),c=c.firstChild;c;c=c.nextSibling)q(c,a,d);c=p(b,e);continue}else if(\"template\"===f){c=p(b,e);continue}if(e=e.__CE_shadowRoot)for(e=e.firstChild;e;e=e.nextSibling)q(e,a,d)}c=c.firstChild?c.firstChild:p(b,c)}}function t(b,a,d){b[a]=d};function u(){this.a=new Map;this.f=new Map;this.c=[];this.b=!1}function ba(b,a,d){b.a.set(a,d);b.f.set(d.constructorFunction,d)}function v(b,a){b.b=!0;b.c.push(a)}function w(b,a){b.b&&q(a,function(a){return x(b,a)})}function x(b,a){if(b.b&&!a.__CE_patched){a.__CE_patched=!0;for(var d=0;d<b.c.length;d++)b.c[d](a)}}function y(b,a){var d=[];q(a,function(a){return d.push(a)});for(a=0;a<d.length;a++){var c=d[a];1===c.__CE_state?b.connectedCallback(c):z(b,c)}}\nfunction A(b,a){var d=[];q(a,function(a){return d.push(a)});for(a=0;a<d.length;a++){var c=d[a];1===c.__CE_state&&b.disconnectedCallback(c)}}\nfunction B(b,a,d){d=void 0===d?{}:d;var c=d.u||new Set,e=d.h||function(a){return z(b,a)},f=[];q(a,function(a){if(\"link\"===a.localName&&\"import\"===a.getAttribute(\"rel\")){var d=a.import;d instanceof Node&&(d.__CE_isImportDocument=!0,d.__CE_hasRegistry=!0);d&&\"complete\"===d.readyState?d.__CE_documentLoadHandled=!0:a.addEventListener(\"load\",function(){var d=a.import;if(!d.__CE_documentLoadHandled){d.__CE_documentLoadHandled=!0;var f=new Set(c);f.delete(d);B(b,d,{u:f,h:e})}})}else f.push(a)},c);if(b.b)for(a=\n0;a<f.length;a++)x(b,f[a]);for(a=0;a<f.length;a++)e(f[a])}\nfunction z(b,a){if(void 0===a.__CE_state){var d=a.ownerDocument;if(d.defaultView||d.__CE_isImportDocument&&d.__CE_hasRegistry)if(d=b.a.get(a.localName)){d.constructionStack.push(a);var c=d.constructorFunction;try{try{if(new c!==a)throw Error(\"The custom element constructor did not produce the element being upgraded.\");}finally{d.constructionStack.pop()}}catch(m){throw a.__CE_state=2,m;}a.__CE_state=1;a.__CE_definition=d;if(d.attributeChangedCallback)for(d=d.observedAttributes,c=0;c<d.length;c++){var e=\nd[c],f=a.getAttribute(e);null!==f&&b.attributeChangedCallback(a,e,null,f,null)}l(a)&&b.connectedCallback(a)}}}u.prototype.connectedCallback=function(b){var a=b.__CE_definition;a.connectedCallback&&a.connectedCallback.call(b)};u.prototype.disconnectedCallback=function(b){var a=b.__CE_definition;a.disconnectedCallback&&a.disconnectedCallback.call(b)};\nu.prototype.attributeChangedCallback=function(b,a,d,c,e){var f=b.__CE_definition;f.attributeChangedCallback&&-1<f.observedAttributes.indexOf(a)&&f.attributeChangedCallback.call(b,a,d,c,e)};function C(b){var a=document;this.c=b;this.a=a;this.b=void 0;B(this.c,this.a);\"loading\"===this.a.readyState&&(this.b=new MutationObserver(this.f.bind(this)),this.b.observe(this.a,{childList:!0,subtree:!0}))}function D(b){b.b&&b.b.disconnect()}C.prototype.f=function(b){var a=this.a.readyState;\"interactive\"!==a&&\"complete\"!==a||D(this);for(a=0;a<b.length;a++)for(var d=b[a].addedNodes,c=0;c<d.length;c++)B(this.c,d[c])};function ca(){var b=this;this.b=this.a=void 0;this.c=new Promise(function(a){b.b=a;b.a&&a(b.a)})}function E(b){if(b.a)throw Error(\"Already resolved.\");b.a=void 0;b.b&&b.b(void 0)};function F(b){this.c=!1;this.a=b;this.j=new Map;this.f=function(a){return a()};this.b=!1;this.i=[];this.o=new C(b)}\nF.prototype.l=function(b,a){var d=this;if(!(a instanceof Function))throw new TypeError(\"Custom element constructors must be functions.\");if(!g(b))throw new SyntaxError(\"The element name '\"+b+\"' is not valid.\");if(this.a.a.get(b))throw Error(\"A custom element with name '\"+b+\"' has already been defined.\");if(this.c)throw Error(\"A custom element is already being defined.\");this.c=!0;try{var c=function(a){var b=e[a];if(void 0!==b&&!(b instanceof Function))throw Error(\"The '\"+a+\"' callback must be a function.\");\nreturn b},e=a.prototype;if(!(e instanceof Object))throw new TypeError(\"The custom element constructor's prototype is not an object.\");var f=c(\"connectedCallback\");var m=c(\"disconnectedCallback\");var k=c(\"adoptedCallback\");var h=c(\"attributeChangedCallback\");var n=a.observedAttributes||[]}catch(r){return}finally{this.c=!1}a={localName:b,constructorFunction:a,connectedCallback:f,disconnectedCallback:m,adoptedCallback:k,attributeChangedCallback:h,observedAttributes:n,constructionStack:[]};ba(this.a,\nb,a);this.i.push(a);this.b||(this.b=!0,this.f(function(){return da(d)}))};F.prototype.h=function(b){B(this.a,b)};\nfunction da(b){if(!1!==b.b){b.b=!1;for(var a=b.i,d=[],c=new Map,e=0;e<a.length;e++)c.set(a[e].localName,[]);B(b.a,document,{h:function(a){if(void 0===a.__CE_state){var e=a.localName,f=c.get(e);f?f.push(a):b.a.a.get(e)&&d.push(a)}}});for(e=0;e<d.length;e++)z(b.a,d[e]);for(;0<a.length;){var f=a.shift();e=f.localName;f=c.get(f.localName);for(var m=0;m<f.length;m++)z(b.a,f[m]);(e=b.j.get(e))&&E(e)}}}F.prototype.get=function(b){if(b=this.a.a.get(b))return b.constructorFunction};\nF.prototype.m=function(b){if(!g(b))return Promise.reject(new SyntaxError(\"'\"+b+\"' is not a valid custom element name.\"));var a=this.j.get(b);if(a)return a.c;a=new ca;this.j.set(b,a);this.a.a.get(b)&&!this.i.some(function(a){return a.localName===b})&&E(a);return a.c};F.prototype.s=function(b){D(this.o);var a=this.f;this.f=function(d){return b(function(){return a(d)})}};window.CustomElementRegistry=F;F.prototype.define=F.prototype.l;F.prototype.upgrade=F.prototype.h;F.prototype.get=F.prototype.get;\nF.prototype.whenDefined=F.prototype.m;F.prototype.polyfillWrapFlushCallback=F.prototype.s;var G=window.Document.prototype.createElement,H=window.Document.prototype.createElementNS,ea=window.Document.prototype.importNode,fa=window.Document.prototype.prepend,ha=window.Document.prototype.append,ia=window.DocumentFragment.prototype.prepend,ja=window.DocumentFragment.prototype.append,I=window.Node.prototype.cloneNode,J=window.Node.prototype.appendChild,K=window.Node.prototype.insertBefore,L=window.Node.prototype.removeChild,M=window.Node.prototype.replaceChild,N=Object.getOwnPropertyDescriptor(window.Node.prototype,\n\"textContent\"),O=window.Element.prototype.attachShadow,P=Object.getOwnPropertyDescriptor(window.Element.prototype,\"innerHTML\"),Q=window.Element.prototype.getAttribute,R=window.Element.prototype.setAttribute,S=window.Element.prototype.removeAttribute,T=window.Element.prototype.getAttributeNS,U=window.Element.prototype.setAttributeNS,ka=window.Element.prototype.removeAttributeNS,la=window.Element.prototype.insertAdjacentElement,ma=window.Element.prototype.insertAdjacentHTML,na=window.Element.prototype.prepend,\noa=window.Element.prototype.append,V=window.Element.prototype.before,pa=window.Element.prototype.after,qa=window.Element.prototype.replaceWith,ra=window.Element.prototype.remove,sa=window.HTMLElement,W=Object.getOwnPropertyDescriptor(window.HTMLElement.prototype,\"innerHTML\"),ta=window.HTMLElement.prototype.insertAdjacentElement,ua=window.HTMLElement.prototype.insertAdjacentHTML;var va=new function(){};function wa(){var b=X;window.HTMLElement=function(){function a(){var a=this.constructor,c=b.f.get(a);if(!c)throw Error(\"The custom element being constructed was not registered with `customElements`.\");var e=c.constructionStack;if(0===e.length)return e=G.call(document,c.localName),Object.setPrototypeOf(e,a.prototype),e.__CE_state=1,e.__CE_definition=c,x(b,e),e;c=e.length-1;var f=e[c];if(f===va)throw Error(\"The HTMLElement constructor was either called reentrantly for this constructor or called multiple times.\");\ne[c]=va;Object.setPrototypeOf(f,a.prototype);x(b,f);return f}a.prototype=sa.prototype;Object.defineProperty(a.prototype,\"constructor\",{writable:!0,configurable:!0,enumerable:!1,value:a});return a}()};function Y(b,a,d){function c(a){return function(d){for(var e=[],c=0;c<arguments.length;++c)e[c]=arguments[c];c=[];for(var f=[],n=0;n<e.length;n++){var r=e[n];r instanceof Element&&l(r)&&f.push(r);if(r instanceof DocumentFragment)for(r=r.firstChild;r;r=r.nextSibling)c.push(r);else c.push(r)}a.apply(this,e);for(e=0;e<f.length;e++)A(b,f[e]);if(l(this))for(e=0;e<c.length;e++)f=c[e],f instanceof Element&&y(b,f)}}void 0!==d.g&&(a.prepend=c(d.g));void 0!==d.append&&(a.append=c(d.append))};function xa(){var b=X;t(Document.prototype,\"createElement\",function(a){if(this.__CE_hasRegistry){var d=b.a.get(a);if(d)return new d.constructorFunction}a=G.call(this,a);x(b,a);return a});t(Document.prototype,\"importNode\",function(a,d){a=ea.call(this,a,!!d);this.__CE_hasRegistry?B(b,a):w(b,a);return a});t(Document.prototype,\"createElementNS\",function(a,d){if(this.__CE_hasRegistry&&(null===a||\"http://www.w3.org/1999/xhtml\"===a)){var c=b.a.get(d);if(c)return new c.constructorFunction}a=H.call(this,a,\nd);x(b,a);return a});Y(b,Document.prototype,{g:fa,append:ha})};function ya(){function b(b,c){Object.defineProperty(b,\"textContent\",{enumerable:c.enumerable,configurable:!0,get:c.get,set:function(b){if(this.nodeType===Node.TEXT_NODE)c.set.call(this,b);else{var d=void 0;if(this.firstChild){var e=this.childNodes,k=e.length;if(0<k&&l(this)){d=Array(k);for(var h=0;h<k;h++)d[h]=e[h]}}c.set.call(this,b);if(d)for(b=0;b<d.length;b++)A(a,d[b])}}})}var a=X;t(Node.prototype,\"insertBefore\",function(b,c){if(b instanceof DocumentFragment){var e=Array.prototype.slice.apply(b.childNodes);\nb=K.call(this,b,c);if(l(this))for(c=0;c<e.length;c++)y(a,e[c]);return b}e=l(b);c=K.call(this,b,c);e&&A(a,b);l(this)&&y(a,b);return c});t(Node.prototype,\"appendChild\",function(b){if(b instanceof DocumentFragment){var c=Array.prototype.slice.apply(b.childNodes);b=J.call(this,b);if(l(this))for(var e=0;e<c.length;e++)y(a,c[e]);return b}c=l(b);e=J.call(this,b);c&&A(a,b);l(this)&&y(a,b);return e});t(Node.prototype,\"cloneNode\",function(b){b=I.call(this,!!b);this.ownerDocument.__CE_hasRegistry?B(a,b):w(a,\nb);return b});t(Node.prototype,\"removeChild\",function(b){var c=l(b),e=L.call(this,b);c&&A(a,b);return e});t(Node.prototype,\"replaceChild\",function(b,c){if(b instanceof DocumentFragment){var e=Array.prototype.slice.apply(b.childNodes);b=M.call(this,b,c);if(l(this))for(A(a,c),c=0;c<e.length;c++)y(a,e[c]);return b}e=l(b);var f=M.call(this,b,c),d=l(this);d&&A(a,c);e&&A(a,b);d&&y(a,b);return f});N&&N.get?b(Node.prototype,N):v(a,function(a){b(a,{enumerable:!0,configurable:!0,get:function(){for(var b=[],\na=0;a<this.childNodes.length;a++)b.push(this.childNodes[a].textContent);return b.join(\"\")},set:function(b){for(;this.firstChild;)L.call(this,this.firstChild);J.call(this,document.createTextNode(b))}})})};function za(b){function a(a){return function(e){for(var c=[],d=0;d<arguments.length;++d)c[d]=arguments[d];d=[];for(var k=[],h=0;h<c.length;h++){var n=c[h];n instanceof Element&&l(n)&&k.push(n);if(n instanceof DocumentFragment)for(n=n.firstChild;n;n=n.nextSibling)d.push(n);else d.push(n)}a.apply(this,c);for(c=0;c<k.length;c++)A(b,k[c]);if(l(this))for(c=0;c<d.length;c++)k=d[c],k instanceof Element&&y(b,k)}}var d=Element.prototype;void 0!==V&&(d.before=a(V));void 0!==V&&(d.after=a(pa));void 0!==qa&&\nt(d,\"replaceWith\",function(a){for(var c=[],d=0;d<arguments.length;++d)c[d]=arguments[d];d=[];for(var m=[],k=0;k<c.length;k++){var h=c[k];h instanceof Element&&l(h)&&m.push(h);if(h instanceof DocumentFragment)for(h=h.firstChild;h;h=h.nextSibling)d.push(h);else d.push(h)}k=l(this);qa.apply(this,c);for(c=0;c<m.length;c++)A(b,m[c]);if(k)for(A(b,this),c=0;c<d.length;c++)m=d[c],m instanceof Element&&y(b,m)});void 0!==ra&&t(d,\"remove\",function(){var a=l(this);ra.call(this);a&&A(b,this)})};function Aa(){function b(a,b){Object.defineProperty(a,\"innerHTML\",{enumerable:b.enumerable,configurable:!0,get:b.get,set:function(a){var d=this,e=void 0;l(this)&&(e=[],q(this,function(a){a!==d&&e.push(a)}));b.set.call(this,a);if(e)for(var f=0;f<e.length;f++){var m=e[f];1===m.__CE_state&&c.disconnectedCallback(m)}this.ownerDocument.__CE_hasRegistry?B(c,this):w(c,this);return a}})}function a(a,b){t(a,\"insertAdjacentElement\",function(a,d){var e=l(d);a=b.call(this,a,d);e&&A(c,d);l(a)&&y(c,d);return a})}\nfunction d(a,b){function d(a,b){for(var d=[];a!==b;a=a.nextSibling)d.push(a);for(b=0;b<d.length;b++)B(c,d[b])}t(a,\"insertAdjacentHTML\",function(a,c){a=a.toLowerCase();if(\"beforebegin\"===a){var e=this.previousSibling;b.call(this,a,c);d(e||this.parentNode.firstChild,this)}else if(\"afterbegin\"===a)e=this.firstChild,b.call(this,a,c),d(this.firstChild,e);else if(\"beforeend\"===a)e=this.lastChild,b.call(this,a,c),d(e||this.firstChild,null);else if(\"afterend\"===a)e=this.nextSibling,b.call(this,a,c),d(this.nextSibling,\ne);else throw new SyntaxError(\"The value provided (\"+String(a)+\") is not one of 'beforebegin', 'afterbegin', 'beforeend', or 'afterend'.\");})}var c=X;O&&t(Element.prototype,\"attachShadow\",function(a){return this.__CE_shadowRoot=a=O.call(this,a)});P&&P.get?b(Element.prototype,P):W&&W.get?b(HTMLElement.prototype,W):v(c,function(a){b(a,{enumerable:!0,configurable:!0,get:function(){return I.call(this,!0).innerHTML},set:function(a){var b=\"template\"===this.localName,c=b?this.content:this,d=H.call(document,\nthis.namespaceURI,this.localName);for(d.innerHTML=a;0<c.childNodes.length;)L.call(c,c.childNodes[0]);for(a=b?d.content:d;0<a.childNodes.length;)J.call(c,a.childNodes[0])}})});t(Element.prototype,\"setAttribute\",function(a,b){if(1!==this.__CE_state)return R.call(this,a,b);var d=Q.call(this,a);R.call(this,a,b);b=Q.call(this,a);c.attributeChangedCallback(this,a,d,b,null)});t(Element.prototype,\"setAttributeNS\",function(a,b,d){if(1!==this.__CE_state)return U.call(this,a,b,d);var e=T.call(this,a,b);U.call(this,\na,b,d);d=T.call(this,a,b);c.attributeChangedCallback(this,b,e,d,a)});t(Element.prototype,\"removeAttribute\",function(a){if(1!==this.__CE_state)return S.call(this,a);var b=Q.call(this,a);S.call(this,a);null!==b&&c.attributeChangedCallback(this,a,b,null,null)});t(Element.prototype,\"removeAttributeNS\",function(a,b){if(1!==this.__CE_state)return ka.call(this,a,b);var d=T.call(this,a,b);ka.call(this,a,b);var e=T.call(this,a,b);d!==e&&c.attributeChangedCallback(this,b,d,e,a)});ta?a(HTMLElement.prototype,\nta):la?a(Element.prototype,la):console.warn(\"Custom Elements: `Element#insertAdjacentElement` was not patched.\");ua?d(HTMLElement.prototype,ua):ma?d(Element.prototype,ma):console.warn(\"Custom Elements: `Element#insertAdjacentHTML` was not patched.\");Y(c,Element.prototype,{g:na,append:oa});za(c)};/*\n\n Copyright (c) 2016 The Polymer Project Authors. All rights reserved.\n This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt\n The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt\n The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt\n Code distributed by Google as part of the polymer project is also\n subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt\n*/\nvar Z=window.customElements;if(!Z||Z.forcePolyfill||\"function\"!=typeof Z.define||\"function\"!=typeof Z.get){var X=new u;wa();xa();Y(X,DocumentFragment.prototype,{g:ia,append:ja});ya();Aa();document.__CE_hasRegistry=!0;var customElements=new F(X);Object.defineProperty(window,\"customElements\",{configurable:!0,enumerable:!0,value:customElements})};\n}).call(self);\n\n//# sourceMappingURL=custom-elements.min.js.map\n","export default function _extends() {\n  _extends = Object.assign || function (target) {\n    for (var i = 1; i < arguments.length; i++) {\n      var source = arguments[i];\n\n      for (var key in source) {\n        if (Object.prototype.hasOwnProperty.call(source, key)) {\n          target[key] = source[key];\n        }\n      }\n    }\n\n    return target;\n  };\n\n  return _extends.apply(this, arguments);\n}","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction _CustomElement() {\n  return Reflect.construct(HTMLElement, [], this.__proto__.constructor);\n}\n\n;\nObject.setPrototypeOf(_CustomElement.prototype, HTMLElement.prototype);\nObject.setPrototypeOf(_CustomElement, HTMLElement);\nfunction keydown(fn) {\n  return function (event) {\n    if (event.key === ' ' || event.key === 'Enter') {\n      event.preventDefault();\n      fn(event);\n    }\n  };\n}\n\nvar styles = new WeakMap();\n\nvar MarkdownButtonElement = function (_CustomElement2) {\n  _inherits(MarkdownButtonElement, _CustomElement2);\n\n  function MarkdownButtonElement() {\n    _classCallCheck(this, MarkdownButtonElement);\n\n    var _this = _possibleConstructorReturn(this, (MarkdownButtonElement.__proto__ || Object.getPrototypeOf(MarkdownButtonElement)).call(this));\n\n    var apply = function apply() {\n      var style = styles.get(_this);\n      if (!style) return;\n      applyStyle(_this, style);\n    };\n    _this.addEventListener('keydown', keydown(apply));\n    _this.addEventListener('click', apply);\n    return _this;\n  }\n\n  _createClass(MarkdownButtonElement, [{\n    key: 'connectedCallback',\n    value: function connectedCallback() {\n      if (!this.hasAttribute('tabindex')) {\n        this.setAttribute('tabindex', '0');\n      }\n\n      if (!this.hasAttribute('role')) {\n        this.setAttribute('role', 'button');\n      }\n    }\n  }, {\n    key: 'click',\n    value: function click() {\n      var style = styles.get(this);\n      if (!style) return;\n      applyStyle(this, style);\n    }\n  }]);\n\n  return MarkdownButtonElement;\n}(_CustomElement);\n\nvar MarkdownHeaderButtonElement = function (_MarkdownButtonElemen) {\n  _inherits(MarkdownHeaderButtonElement, _MarkdownButtonElemen);\n\n  function MarkdownHeaderButtonElement() {\n    _classCallCheck(this, MarkdownHeaderButtonElement);\n\n    var _this2 = _possibleConstructorReturn(this, (MarkdownHeaderButtonElement.__proto__ || Object.getPrototypeOf(MarkdownHeaderButtonElement)).call(this));\n\n    styles.set(_this2, { prefix: '### ' });\n    return _this2;\n  }\n\n  return MarkdownHeaderButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-header')) {\n  window.MarkdownHeaderButtonElement = MarkdownHeaderButtonElement;\n  window.customElements.define('md-header', MarkdownHeaderButtonElement);\n}\n\nvar MarkdownBoldButtonElement = function (_MarkdownButtonElemen2) {\n  _inherits(MarkdownBoldButtonElement, _MarkdownButtonElemen2);\n\n  function MarkdownBoldButtonElement() {\n    _classCallCheck(this, MarkdownBoldButtonElement);\n\n    var _this3 = _possibleConstructorReturn(this, (MarkdownBoldButtonElement.__proto__ || Object.getPrototypeOf(MarkdownBoldButtonElement)).call(this));\n\n    styles.set(_this3, { prefix: '**', suffix: '**', trimFirst: true });\n    return _this3;\n  }\n\n  _createClass(MarkdownBoldButtonElement, [{\n    key: 'connectedCallback',\n    value: function connectedCallback() {\n      _get(MarkdownBoldButtonElement.prototype.__proto__ || Object.getPrototypeOf(MarkdownBoldButtonElement.prototype), 'connectedCallback', this).call(this);\n      this.setAttribute('hotkey', 'b');\n    }\n  }]);\n\n  return MarkdownBoldButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-bold')) {\n  window.MarkdownBoldButtonElement = MarkdownBoldButtonElement;\n  window.customElements.define('md-bold', MarkdownBoldButtonElement);\n}\n\nvar MarkdownItalicButtonElement = function (_MarkdownButtonElemen3) {\n  _inherits(MarkdownItalicButtonElement, _MarkdownButtonElemen3);\n\n  function MarkdownItalicButtonElement() {\n    _classCallCheck(this, MarkdownItalicButtonElement);\n\n    var _this4 = _possibleConstructorReturn(this, (MarkdownItalicButtonElement.__proto__ || Object.getPrototypeOf(MarkdownItalicButtonElement)).call(this));\n\n    styles.set(_this4, { prefix: '_', suffix: '_', trimFirst: true });\n    return _this4;\n  }\n\n  _createClass(MarkdownItalicButtonElement, [{\n    key: 'connectedCallback',\n    value: function connectedCallback() {\n      _get(MarkdownItalicButtonElement.prototype.__proto__ || Object.getPrototypeOf(MarkdownItalicButtonElement.prototype), 'connectedCallback', this).call(this);\n      this.setAttribute('hotkey', 'i');\n    }\n  }]);\n\n  return MarkdownItalicButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-italic')) {\n  window.MarkdownItalicButtonElement = MarkdownItalicButtonElement;\n  window.customElements.define('md-italic', MarkdownItalicButtonElement);\n}\n\nvar MarkdownQuoteButtonElement = function (_MarkdownButtonElemen4) {\n  _inherits(MarkdownQuoteButtonElement, _MarkdownButtonElemen4);\n\n  function MarkdownQuoteButtonElement() {\n    _classCallCheck(this, MarkdownQuoteButtonElement);\n\n    var _this5 = _possibleConstructorReturn(this, (MarkdownQuoteButtonElement.__proto__ || Object.getPrototypeOf(MarkdownQuoteButtonElement)).call(this));\n\n    styles.set(_this5, { prefix: '> ', multiline: true, surroundWithNewlines: true });\n    return _this5;\n  }\n\n  return MarkdownQuoteButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-quote')) {\n  window.MarkdownQuoteButtonElement = MarkdownQuoteButtonElement;\n  window.customElements.define('md-quote', MarkdownQuoteButtonElement);\n}\n\nvar MarkdownCodeButtonElement = function (_MarkdownButtonElemen5) {\n  _inherits(MarkdownCodeButtonElement, _MarkdownButtonElemen5);\n\n  function MarkdownCodeButtonElement() {\n    _classCallCheck(this, MarkdownCodeButtonElement);\n\n    var _this6 = _possibleConstructorReturn(this, (MarkdownCodeButtonElement.__proto__ || Object.getPrototypeOf(MarkdownCodeButtonElement)).call(this));\n\n    styles.set(_this6, { prefix: '`', suffix: '`', blockPrefix: '```', blockSuffix: '```' });\n    return _this6;\n  }\n\n  return MarkdownCodeButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-code')) {\n  window.MarkdownCodeButtonElement = MarkdownCodeButtonElement;\n  window.customElements.define('md-code', MarkdownCodeButtonElement);\n}\n\nvar MarkdownLinkButtonElement = function (_MarkdownButtonElemen6) {\n  _inherits(MarkdownLinkButtonElement, _MarkdownButtonElemen6);\n\n  function MarkdownLinkButtonElement() {\n    _classCallCheck(this, MarkdownLinkButtonElement);\n\n    var _this7 = _possibleConstructorReturn(this, (MarkdownLinkButtonElement.__proto__ || Object.getPrototypeOf(MarkdownLinkButtonElement)).call(this));\n\n    styles.set(_this7, { prefix: '[', suffix: '](url)', replaceNext: 'url', scanFor: 'https?://' });\n    return _this7;\n  }\n\n  _createClass(MarkdownLinkButtonElement, [{\n    key: 'connectedCallback',\n    value: function connectedCallback() {\n      _get(MarkdownLinkButtonElement.prototype.__proto__ || Object.getPrototypeOf(MarkdownLinkButtonElement.prototype), 'connectedCallback', this).call(this);\n      this.setAttribute('hotkey', 'k');\n    }\n  }]);\n\n  return MarkdownLinkButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-link')) {\n  window.MarkdownLinkButtonElement = MarkdownLinkButtonElement;\n  window.customElements.define('md-link', MarkdownLinkButtonElement);\n}\n\nvar MarkdownUnorderedListButtonElement = function (_MarkdownButtonElemen7) {\n  _inherits(MarkdownUnorderedListButtonElement, _MarkdownButtonElemen7);\n\n  function MarkdownUnorderedListButtonElement() {\n    _classCallCheck(this, MarkdownUnorderedListButtonElement);\n\n    var _this8 = _possibleConstructorReturn(this, (MarkdownUnorderedListButtonElement.__proto__ || Object.getPrototypeOf(MarkdownUnorderedListButtonElement)).call(this));\n\n    styles.set(_this8, { prefix: '- ', multiline: true, surroundWithNewlines: true });\n    return _this8;\n  }\n\n  return MarkdownUnorderedListButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-unordered-list')) {\n  window.MarkdownUnorderedListButtonElement = MarkdownUnorderedListButtonElement;\n  window.customElements.define('md-unordered-list', MarkdownUnorderedListButtonElement);\n}\n\nvar MarkdownOrderedListButtonElement = function (_MarkdownButtonElemen8) {\n  _inherits(MarkdownOrderedListButtonElement, _MarkdownButtonElemen8);\n\n  function MarkdownOrderedListButtonElement() {\n    _classCallCheck(this, MarkdownOrderedListButtonElement);\n\n    var _this9 = _possibleConstructorReturn(this, (MarkdownOrderedListButtonElement.__proto__ || Object.getPrototypeOf(MarkdownOrderedListButtonElement)).call(this));\n\n    styles.set(_this9, { prefix: '1. ', multiline: true, orderedList: true });\n    return _this9;\n  }\n\n  return MarkdownOrderedListButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-ordered-list')) {\n  window.MarkdownOrderedListButtonElement = MarkdownOrderedListButtonElement;\n  window.customElements.define('md-ordered-list', MarkdownOrderedListButtonElement);\n}\n\nvar MarkdownTaskListButtonElement = function (_MarkdownButtonElemen9) {\n  _inherits(MarkdownTaskListButtonElement, _MarkdownButtonElemen9);\n\n  function MarkdownTaskListButtonElement() {\n    _classCallCheck(this, MarkdownTaskListButtonElement);\n\n    var _this10 = _possibleConstructorReturn(this, (MarkdownTaskListButtonElement.__proto__ || Object.getPrototypeOf(MarkdownTaskListButtonElement)).call(this));\n\n    styles.set(_this10, { prefix: '- [ ] ', multiline: true, surroundWithNewlines: true });\n    return _this10;\n  }\n\n  _createClass(MarkdownTaskListButtonElement, [{\n    key: 'connectedCallback',\n    value: function connectedCallback() {\n      _get(MarkdownTaskListButtonElement.prototype.__proto__ || Object.getPrototypeOf(MarkdownTaskListButtonElement.prototype), 'connectedCallback', this).call(this);\n      this.setAttribute('hotkey', 'L');\n    }\n  }]);\n\n  return MarkdownTaskListButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-task-list')) {\n  window.MarkdownTaskListButtonElement = MarkdownTaskListButtonElement;\n  window.customElements.define('md-task-list', MarkdownTaskListButtonElement);\n}\n\nvar MarkdownMentionButtonElement = function (_MarkdownButtonElemen10) {\n  _inherits(MarkdownMentionButtonElement, _MarkdownButtonElemen10);\n\n  function MarkdownMentionButtonElement() {\n    _classCallCheck(this, MarkdownMentionButtonElement);\n\n    var _this11 = _possibleConstructorReturn(this, (MarkdownMentionButtonElement.__proto__ || Object.getPrototypeOf(MarkdownMentionButtonElement)).call(this));\n\n    styles.set(_this11, { prefix: '@', prefixSpace: true });\n    return _this11;\n  }\n\n  return MarkdownMentionButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-mention')) {\n  window.MarkdownMentionButtonElement = MarkdownMentionButtonElement;\n  window.customElements.define('md-mention', MarkdownMentionButtonElement);\n}\n\nvar MarkdownRefButtonElement = function (_MarkdownButtonElemen11) {\n  _inherits(MarkdownRefButtonElement, _MarkdownButtonElemen11);\n\n  function MarkdownRefButtonElement() {\n    _classCallCheck(this, MarkdownRefButtonElement);\n\n    var _this12 = _possibleConstructorReturn(this, (MarkdownRefButtonElement.__proto__ || Object.getPrototypeOf(MarkdownRefButtonElement)).call(this));\n\n    styles.set(_this12, { prefix: '#', prefixSpace: true });\n    return _this12;\n  }\n\n  return MarkdownRefButtonElement;\n}(MarkdownButtonElement);\n\nif (!window.customElements.get('md-ref')) {\n  window.MarkdownRefButtonElement = MarkdownRefButtonElement;\n  window.customElements.define('md-ref', MarkdownRefButtonElement);\n}\n\nvar modifierKey = navigator.userAgent.match(/Macintosh/) ? 'Meta' : 'Control';\n\nvar MarkdownToolbarElement = function (_CustomElement3) {\n  _inherits(MarkdownToolbarElement, _CustomElement3);\n\n  function MarkdownToolbarElement() {\n    _classCallCheck(this, MarkdownToolbarElement);\n\n    return _possibleConstructorReturn(this, (MarkdownToolbarElement.__proto__ || Object.getPrototypeOf(MarkdownToolbarElement)).call(this));\n  }\n\n  _createClass(MarkdownToolbarElement, [{\n    key: 'connectedCallback',\n    value: function connectedCallback() {\n      var fn = shortcut.bind(null, this);\n      if (this.field) {\n        this.field.addEventListener('keydown', fn);\n        shortcutListeners.set(this, fn);\n      }\n    }\n  }, {\n    key: 'disconnectedCallback',\n    value: function disconnectedCallback() {\n      var fn = shortcutListeners.get(this);\n      if (fn && this.field) {\n        this.field.removeEventListener('keydown', fn);\n        shortcutListeners.delete(this);\n      }\n    }\n  }, {\n    key: 'field',\n    get: function get() {\n      var id = this.getAttribute('for');\n      if (!id) return;\n      var field = document.getElementById(id);\n      return field instanceof HTMLTextAreaElement ? field : null;\n    }\n  }]);\n\n  return MarkdownToolbarElement;\n}(_CustomElement);\n\nvar shortcutListeners = new WeakMap();\n\nfunction shortcut(toolbar, event) {\n  if (event.metaKey && modifierKey === 'Meta' || event.ctrlKey && modifierKey === 'Control') {\n    var button = toolbar.querySelector('[hotkey=\"' + event.key + '\"]');\n    if (button) {\n      button.click();\n      event.preventDefault();\n    }\n  }\n}\n\nif (!window.customElements.get('markdown-toolbar')) {\n  window.MarkdownToolbarElement = MarkdownToolbarElement;\n  window.customElements.define('markdown-toolbar', MarkdownToolbarElement);\n}\n\nfunction isMultipleLines(string) {\n  return string.trim().split('\\n').length > 1;\n}\n\nfunction repeat(string, n) {\n  return Array(n + 1).join(string);\n}\n\nfunction wordSelectionStart(text, index) {\n  while (text[index] && text[index - 1] != null && !text[index - 1].match(/\\s/)) {\n    index--;\n  }\n  return index;\n}\n\nfunction wordSelectionEnd(text, index) {\n  while (text[index] && !text[index].match(/\\s/)) {\n    index++;\n  }\n  return index;\n}\n\nvar canInsertText = null;\n\nfunction insertText(textarea, _ref) {\n  var text = _ref.text,\n      selectionStart = _ref.selectionStart,\n      selectionEnd = _ref.selectionEnd;\n\n  var originalSelectionStart = textarea.selectionStart;\n  var before = textarea.value.slice(0, originalSelectionStart);\n  var after = textarea.value.slice(textarea.selectionEnd);\n\n  if (canInsertText === null || canInsertText === true) {\n    textarea.contentEditable = 'true';\n    try {\n      canInsertText = document.execCommand('insertText', false, text);\n    } catch (error) {\n      canInsertText = false;\n    }\n    textarea.contentEditable = 'false';\n  }\n\n  if (canInsertText && !textarea.value.slice(0, textarea.selectionStart).endsWith(text)) {\n    canInsertText = false;\n  }\n\n  if (!canInsertText) {\n    try {\n      document.execCommand('ms-beginUndoUnit');\n    } catch (e) {\n      // Do nothing.\n    }\n    textarea.value = before + text + after;\n    try {\n      document.execCommand('ms-endUndoUnit');\n    } catch (e) {\n      // Do nothing.\n    }\n    textarea.dispatchEvent(new CustomEvent('input', { bubbles: true, cancelable: true }));\n  }\n\n  if (selectionStart != null && selectionEnd != null) {\n    textarea.setSelectionRange(selectionStart, selectionEnd);\n  } else {\n    textarea.setSelectionRange(originalSelectionStart, textarea.selectionEnd);\n  }\n}\n\nfunction styleSelectedText(textarea, styleArgs) {\n  var text = textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n\n  var result = void 0;\n  if (styleArgs.orderedList) {\n    result = orderedList(textarea);\n  } else if (styleArgs.multiline && isMultipleLines(text)) {\n    result = multilineStyle(textarea, styleArgs);\n  } else {\n    result = blockStyle(textarea, styleArgs);\n  }\n\n  insertText(textarea, result);\n}\n\nfunction expandSelectedText(textarea, prefixToUse, suffixToUse) {\n  if (textarea.selectionStart === textarea.selectionEnd) {\n    textarea.selectionStart = wordSelectionStart(textarea.value, textarea.selectionStart);\n    textarea.selectionEnd = wordSelectionEnd(textarea.value, textarea.selectionEnd);\n  } else {\n    var expandedSelectionStart = textarea.selectionStart - prefixToUse.length;\n    var expandedSelectionEnd = textarea.selectionEnd + suffixToUse.length;\n    var beginsWithPrefix = textarea.value.slice(expandedSelectionStart, textarea.selectionStart) === prefixToUse;\n    var endsWithSuffix = textarea.value.slice(textarea.selectionEnd, expandedSelectionEnd) === suffixToUse;\n    if (beginsWithPrefix && endsWithSuffix) {\n      textarea.selectionStart = expandedSelectionStart;\n      textarea.selectionEnd = expandedSelectionEnd;\n    }\n  }\n  return textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n}\n\nfunction newlinesToSurroundSelectedText(textarea) {\n  var beforeSelection = textarea.value.slice(0, textarea.selectionStart);\n  var afterSelection = textarea.value.slice(textarea.selectionEnd);\n\n  var breaksBefore = beforeSelection.match(/\\n*$/);\n  var breaksAfter = afterSelection.match(/^\\n*/);\n  var newlinesBeforeSelection = breaksBefore ? breaksBefore[0].length : 0;\n  var newlinesAfterSelection = breaksAfter ? breaksAfter[0].length : 0;\n\n  var newlinesToAppend = void 0;\n  var newlinesToPrepend = void 0;\n\n  if (beforeSelection.match(/\\S/) && newlinesBeforeSelection < 2) {\n    newlinesToAppend = repeat('\\n', 2 - newlinesBeforeSelection);\n  }\n\n  if (afterSelection.match(/\\S/) && newlinesAfterSelection < 2) {\n    newlinesToPrepend = repeat('\\n', 2 - newlinesAfterSelection);\n  }\n\n  if (newlinesToAppend == null) {\n    newlinesToAppend = '';\n  }\n\n  if (newlinesToPrepend == null) {\n    newlinesToPrepend = '';\n  }\n\n  return { newlinesToAppend: newlinesToAppend, newlinesToPrepend: newlinesToPrepend };\n}\n\nfunction blockStyle(textarea, arg) {\n  var newlinesToAppend = void 0;\n  var newlinesToPrepend = void 0;\n\n  var prefix = arg.prefix,\n      suffix = arg.suffix,\n      blockPrefix = arg.blockPrefix,\n      blockSuffix = arg.blockSuffix,\n      replaceNext = arg.replaceNext,\n      prefixSpace = arg.prefixSpace,\n      scanFor = arg.scanFor,\n      surroundWithNewlines = arg.surroundWithNewlines;\n\n  var originalSelectionStart = textarea.selectionStart;\n  var originalSelectionEnd = textarea.selectionEnd;\n\n  var selectedText = textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n  var prefixToUse = isMultipleLines(selectedText) && blockPrefix.length > 0 ? blockPrefix + '\\n' : prefix;\n  var suffixToUse = isMultipleLines(selectedText) && blockSuffix.length > 0 ? '\\n' + blockSuffix : suffix;\n\n  if (prefixSpace) {\n    var beforeSelection = textarea.value[textarea.selectionStart - 1];\n    if (textarea.selectionStart !== 0 && beforeSelection != null && !beforeSelection.match(/\\s/)) {\n      prefixToUse = ' ' + prefixToUse;\n    }\n  }\n  selectedText = expandSelectedText(textarea, prefixToUse, suffixToUse);\n  var selectionStart = textarea.selectionStart;\n  var selectionEnd = textarea.selectionEnd;\n  var hasReplaceNext = replaceNext.length > 0 && suffixToUse.indexOf(replaceNext) > -1 && selectedText.length > 0;\n  if (surroundWithNewlines) {\n    var ref = newlinesToSurroundSelectedText(textarea);\n    newlinesToAppend = ref.newlinesToAppend;\n    newlinesToPrepend = ref.newlinesToPrepend;\n    prefixToUse = newlinesToAppend + prefix;\n    suffixToUse += newlinesToPrepend;\n  }\n\n  if (selectedText.startsWith(prefixToUse) && selectedText.endsWith(suffixToUse)) {\n    var replacementText = selectedText.slice(prefixToUse.length, selectedText.length - suffixToUse.length);\n    if (originalSelectionStart === originalSelectionEnd) {\n      var position = originalSelectionStart - prefixToUse.length;\n      position = Math.max(position, selectionStart);\n      position = Math.min(position, selectionStart + replacementText.length);\n      selectionStart = selectionEnd = position;\n    } else {\n      selectionEnd = selectionStart + replacementText.length;\n    }\n    return { text: replacementText, selectionStart: selectionStart, selectionEnd: selectionEnd };\n  } else if (!hasReplaceNext) {\n    var _replacementText = prefixToUse + selectedText + suffixToUse;\n    selectionStart = originalSelectionStart + prefixToUse.length;\n    selectionEnd = originalSelectionEnd + prefixToUse.length;\n    var whitespaceEdges = selectedText.match(/^\\s*|\\s*$/g);\n    if (arg.trimFirst && whitespaceEdges) {\n      var leadingWhitespace = whitespaceEdges[0] || '';\n      var trailingWhitespace = whitespaceEdges[1] || '';\n      _replacementText = leadingWhitespace + prefixToUse + selectedText.trim() + suffixToUse + trailingWhitespace;\n      selectionStart += leadingWhitespace.length;\n      selectionEnd -= trailingWhitespace.length;\n    }\n    return { text: _replacementText, selectionStart: selectionStart, selectionEnd: selectionEnd };\n  } else if (scanFor.length > 0 && selectedText.match(scanFor)) {\n    suffixToUse = suffixToUse.replace(replaceNext, selectedText);\n    var _replacementText2 = prefixToUse + suffixToUse;\n    selectionStart = selectionEnd = selectionStart + prefixToUse.length;\n    return { text: _replacementText2, selectionStart: selectionStart, selectionEnd: selectionEnd };\n  } else {\n    var _replacementText3 = prefixToUse + selectedText + suffixToUse;\n    selectionStart = selectionStart + prefixToUse.length + selectedText.length + suffixToUse.indexOf(replaceNext);\n    selectionEnd = selectionStart + replaceNext.length;\n    return { text: _replacementText3, selectionStart: selectionStart, selectionEnd: selectionEnd };\n  }\n}\n\nfunction multilineStyle(textarea, arg) {\n  var prefix = arg.prefix,\n      suffix = arg.suffix,\n      surroundWithNewlines = arg.surroundWithNewlines;\n\n  var text = textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n  var selectionStart = textarea.selectionStart;\n  var selectionEnd = textarea.selectionEnd;\n  var lines = text.split('\\n');\n  var undoStyle = lines.every(function (line) {\n    return line.startsWith(prefix) && line.endsWith(suffix);\n  });\n\n  if (undoStyle) {\n    text = lines.map(function (line) {\n      return line.slice(prefix.length, line.length - suffix.length);\n    }).join('\\n');\n    selectionEnd = selectionStart + text.length;\n  } else {\n    text = lines.map(function (line) {\n      return prefix + line + suffix;\n    }).join('\\n');\n    if (surroundWithNewlines) {\n      var _newlinesToSurroundSe = newlinesToSurroundSelectedText(textarea),\n          _newlinesToAppend = _newlinesToSurroundSe.newlinesToAppend,\n          _newlinesToPrepend = _newlinesToSurroundSe.newlinesToPrepend;\n\n      selectionStart += _newlinesToAppend.length;\n      selectionEnd = selectionStart + text.length;\n      text = _newlinesToAppend + text + _newlinesToPrepend;\n    }\n  }\n\n  return { text: text, selectionStart: selectionStart, selectionEnd: selectionEnd };\n}\n\nfunction orderedList(textarea) {\n  var orderedListRegex = /^\\d+\\.\\s+/;\n  var selectionEnd = void 0;\n  var selectionStart = void 0;\n  var text = textarea.value.slice(textarea.selectionStart, textarea.selectionEnd);\n  var lines = text.split('\\n');\n\n  var undoStyling = lines.every(function (line) {\n    return orderedListRegex.test(line);\n  });\n\n  if (undoStyling) {\n    lines = lines.map(function (line) {\n      return line.replace(orderedListRegex, '');\n    });\n    text = lines.join('\\n');\n  } else {\n    lines = function () {\n      var i = void 0;\n      var len = void 0;\n      var index = void 0;\n      var results = [];\n      for (index = i = 0, len = lines.length; i < len; index = ++i) {\n        var line = lines[index];\n        results.push(index + 1 + '. ' + line);\n      }\n      return results;\n    }();\n    text = lines.join('\\n');\n\n    var _newlinesToSurroundSe2 = newlinesToSurroundSelectedText(textarea),\n        _newlinesToAppend2 = _newlinesToSurroundSe2.newlinesToAppend,\n        _newlinesToPrepend2 = _newlinesToSurroundSe2.newlinesToPrepend;\n\n    selectionStart = textarea.selectionStart + _newlinesToAppend2.length;\n    selectionEnd = selectionStart + text.length;\n    text = _newlinesToAppend2 + text + _newlinesToPrepend2;\n  }\n\n  return { text: text, selectionStart: selectionStart, selectionEnd: selectionEnd };\n}\n\nfunction applyStyle(button, styles) {\n  var toolbar = button.closest('markdown-toolbar');\n  if (!(toolbar instanceof MarkdownToolbarElement)) return;\n\n  var defaults = {\n    prefix: '',\n    suffix: '',\n    blockPrefix: '',\n    blockSuffix: '',\n    multiline: false,\n    replaceNext: '',\n    prefixSpace: false,\n    scanFor: '',\n    surroundWithNewlines: false,\n    orderedList: false,\n    trimFirst: false\n  };\n\n  var style = _extends({}, defaults, styles);\n\n  var field = toolbar.field;\n  if (field) {\n    field.focus();\n    styleSelectedText(field, style);\n  }\n}\n\nexport default MarkdownToolbarElement;\n","import { extend } from 'flarum/extend';\nimport TextEditor from 'flarum/components/TextEditor';\nimport icon from 'flarum/helpers/icon';\n\nimport '@webcomponents/custom-elements';\nimport '@github/markdown-toolbar-element';\nimport MarkdownArea from 'mdarea/mdarea.js';\n\napp.initializers.add('flarum-markdown', function(app) {\n  let index = 1;\n\n  extend(TextEditor.prototype, 'init', function() {\n    this.textareaId = 'textarea'+(index++);\n  });\n\n  extend(TextEditor.prototype, 'view', function(vdom) {\n    vdom.children[0].attrs.id = this.textareaId;\n  });\n\n  extend(TextEditor.prototype, 'configTextarea', function(value, element, isInitialized, context) {\n    if (isInitialized) return;\n\n    const editor = new MarkdownArea(element);\n    editor.disableInline();\n\n    context.onunload = function() {\n      editor.destroy();\n    };\n  });\n\n  extend(TextEditor.prototype, 'toolbarItems', function(items) {\n    const attrs = {\n      className: 'Button Button--icon Button--link',\n      config: elm => $(elm).tooltip()\n    };\n\n    const tooltip = name => app.translator.trans(`flarum-markdown.forum.composer.${name}_tooltip`);\n\n    items.add('markdown', (\n      <markdown-toolbar for={this.textareaId}>\n        <md-header title={tooltip('header')} {...attrs}>{icon('fas fa-heading')}</md-header>\n        <md-bold title={tooltip('bold')+' <cmd-b>'} {...attrs}>{icon('fas fa-bold')}</md-bold>\n        <md-italic title={tooltip('italic')+' <cmd-i>'} {...attrs}>{icon('fas fa-italic')}</md-italic>\n        <md-quote title={tooltip('quote')} {...attrs}>{icon('fas fa-quote-left')}</md-quote>\n        <md-code title={tooltip('code')} {...attrs}>{icon('fas fa-code')}</md-code>\n        <md-link title={tooltip('link')+' <cmd-k>'} {...attrs}>{icon('fas fa-link')}</md-link>\n        <md-unordered-list title={tooltip('unordered_list')} {...attrs}>{icon('fas fa-list-ul')}</md-unordered-list>\n        <md-ordered-list title={tooltip('ordered_list')} {...attrs}>{icon('fas fa-list-ol')}</md-ordered-list>\n      </markdown-toolbar>\n    ), 100);\n  });\n});\n"],"sourceRoot":""}
\ No newline at end of file