{"version":3,"file":"ckeditor.js","sources":["webpack://ClassicEditor/ckeditor.js"],"sourcesContent":["/*!\n * @license Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md.\n */\n(function(t){const e=t[\"en\"]=t[\"en\"]||{};e.dictionary=Object.assign(e.dictionary||{},{\"%0 of %1\":\"%0 of %1\",\"Align cell text to the bottom\":\"Align cell text to the bottom\",\"Align cell text to the center\":\"Align cell text to the center\",\"Align cell text to the left\":\"Align cell text to the left\",\"Align cell text to the middle\":\"Align cell text to the middle\",\"Align cell text to the right\":\"Align cell text to the right\",\"Align cell text to the top\":\"Align cell text to the top\",\"Align center\":\"Align center\",\"Align left\":\"Align left\",\"Align right\":\"Align right\",\"Align table to the left\":\"Align table to the left\",\"Align table to the right\":\"Align table to the right\",Alignment:\"Alignment\",Aquamarine:\"Aquamarine\",Background:\"Background\",Big:\"Big\",Black:\"Black\",\"Block quote\":\"Block quote\",Blue:\"Blue\",\"Blue marker\":\"Blue marker\",Bold:\"Bold\",Border:\"Border\",\"Bulleted List\":\"Bulleted List\",\"Bulleted list styles toolbar\":\"Bulleted list styles toolbar\",Cancel:\"Cancel\",\"Cannot upload file:\":\"Cannot upload file:\",\"Cell properties\":\"Cell properties\",\"Center table\":\"Center table\",\"Centered image\":\"Centered image\",\"Change image text alternative\":\"Change image text alternative\",\"Character categories\":\"Character categories\",\"Characters: %0\":\"Characters: %0\",\"Choose heading\":\"Choose heading\",Circle:\"Circle\",Color:\"Color\",\"Color picker\":\"Color picker\",Column:\"Column\",\"Could not insert image at the current position.\":\"Could not insert image at the current position.\",\"Could not obtain resized image URL.\":\"Could not obtain resized image URL.\",Dashed:\"Dashed\",Decimal:\"Decimal\",\"Decimal with leading zero\":\"Decimal with leading zero\",\"Decrease indent\":\"Decrease indent\",Default:\"Default\",\"Delete column\":\"Delete column\",\"Delete row\":\"Delete row\",\"Dim grey\":\"Dim grey\",Dimensions:\"Dimensions\",Disc:\"Disc\",\"Document colors\":\"Document colors\",Dotted:\"Dotted\",Double:\"Double\",Downloadable:\"Downloadable\",\"Dropdown toolbar\":\"Dropdown toolbar\",\"Edit link\":\"Edit link\",\"Edit source\":\"Edit source\",\"Editor toolbar\":\"Editor toolbar\",\"Enter image caption\":\"Enter image caption\",\"Font Color\":\"Font Color\",\"Font Size\":\"Font Size\",\"Full size image\":\"Full size image\",Green:\"Green\",\"Green marker\":\"Green marker\",\"Green pen\":\"Green pen\",Grey:\"Grey\",Groove:\"Groove\",\"Header column\":\"Header column\",\"Header row\":\"Header row\",Heading:\"Heading\",\"Heading 1\":\"Heading 1\",\"Heading 2\":\"Heading 2\",\"Heading 3\":\"Heading 3\",\"Heading 4\":\"Heading 4\",\"Heading 5\":\"Heading 5\",\"Heading 6\":\"Heading 6\",Height:\"Height\",Highlight:\"Highlight\",\"Horizontal line\":\"Horizontal line\",\"Horizontal text alignment toolbar\":\"Horizontal text alignment toolbar\",\"HTML snippet\":\"HTML snippet\",Huge:\"Huge\",\"Image resize list\":\"Image resize list\",\"Image toolbar\":\"Image toolbar\",\"image widget\":\"image widget\",\"Increase indent\":\"Increase indent\",Insert:\"Insert\",\"Insert column left\":\"Insert column left\",\"Insert column right\":\"Insert column right\",\"Insert HTML\":\"Insert HTML\",\"Insert image\":\"Insert image\",\"Insert image or file\":\"Insert image or file\",\"Insert image via URL\":\"Insert image via URL\",\"Insert media\":\"Insert media\",\"Insert paragraph after block\":\"Insert paragraph after block\",\"Insert paragraph before block\":\"Insert paragraph before block\",\"Insert row above\":\"Insert row above\",\"Insert row below\":\"Insert row below\",\"Insert table\":\"Insert table\",\"Inserting image failed\":\"Inserting image failed\",Inset:\"Inset\",Italic:\"Italic\",Justify:\"Justify\",\"Justify cell text\":\"Justify cell text\",\"Left aligned image\":\"Left aligned image\",\"Light blue\":\"Light blue\",\"Light green\":\"Light green\",\"Light grey\":\"Light grey\",Link:\"Link\",\"Link image\":\"Link image\",\"Link URL\":\"Link URL\",\"Lower-latin\":\"Lower-latin\",\"Lower–roman\":\"Lower–roman\",\"Media toolbar\":\"Media toolbar\",\"Media URL\":\"Media URL\",\"media widget\":\"media widget\",\"Merge cell down\":\"Merge cell down\",\"Merge cell left\":\"Merge cell left\",\"Merge cell right\":\"Merge cell right\",\"Merge cell up\":\"Merge cell up\",\"Merge cells\":\"Merge cells\",Next:\"Next\",None:\"None\",\"Numbered List\":\"Numbered List\",\"Numbered list styles toolbar\":\"Numbered list styles toolbar\",\"Open in a new tab\":\"Open in a new tab\",\"Open link in new tab\":\"Open link in new tab\",Orange:\"Orange\",Original:\"Original\",Outset:\"Outset\",Padding:\"Padding\",Paragraph:\"Paragraph\",\"Paste raw HTML here...\":\"Paste raw HTML here...\",\"Paste the image source URL.\":\"Paste the image source URL.\",\"Paste the media URL in the input.\":\"Paste the media URL in the input.\",\"Pink marker\":\"Pink marker\",Previous:\"Previous\",Purple:\"Purple\",Red:\"Red\",\"Red pen\":\"Red pen\",Redo:\"Redo\",\"Remove color\":\"Remove color\",\"Remove Format\":\"Remove Format\",\"Remove highlight\":\"Remove highlight\",\"Resize image\":\"Resize image\",\"Resize image to %0\":\"Resize image to %0\",\"Resize image to the original size\":\"Resize image to the original size\",\"Rich Text Editor\":\"Rich Text Editor\",\"Rich Text Editor, %0\":\"Rich Text Editor, %0\",Ridge:\"Ridge\",\"Right aligned image\":\"Right aligned image\",Row:\"Row\",Save:\"Save\",\"Save changes\":\"Save changes\",\"Saving changes\":\"Saving changes\",\"Select all\":\"Select all\",\"Select column\":\"Select column\",\"Select row\":\"Select row\",\"Selecting resized image failed\":\"Selecting resized image failed\",\"Show more items\":\"Show more items\",\"Side image\":\"Side image\",Small:\"Small\",Solid:\"Solid\",\"Special characters\":\"Special characters\",\"Split cell horizontally\":\"Split cell horizontally\",\"Split cell vertically\":\"Split cell vertically\",Square:\"Square\",Style:\"Style\",\"Table alignment toolbar\":\"Table alignment toolbar\",\"Table cell text alignment\":\"Table cell text alignment\",\"Table properties\":\"Table properties\",\"Table toolbar\":\"Table toolbar\",\"Text alignment\":\"Text alignment\",\"Text alignment toolbar\":\"Text alignment toolbar\",\"Text alternative\":\"Text alternative\",\"Text highlight toolbar\":\"Text highlight toolbar\",'The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".':'The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".',\"The URL must not be empty.\":\"The URL must not be empty.\",'The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".':'The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".',\"This link has no URL\":\"This link has no URL\",\"This media URL is not supported.\":\"This media URL is not supported.\",Tiny:\"Tiny\",\"Tip: Paste the URL into the content to embed faster.\":\"Tip: Paste the URL into the content to embed faster.\",\"Toggle the circle list style\":\"Toggle the circle list style\",\"Toggle the decimal list style\":\"Toggle the decimal list style\",\"Toggle the decimal with leading zero list style\":\"Toggle the decimal with leading zero list style\",\"Toggle the disc list style\":\"Toggle the disc list style\",\"Toggle the lower–latin list style\":\"Toggle the lower–latin list style\",\"Toggle the lower–roman list style\":\"Toggle the lower–roman list style\",\"Toggle the square list style\":\"Toggle the square list style\",\"Toggle the upper–latin list style\":\"Toggle the upper–latin list style\",\"Toggle the upper–roman list style\":\"Toggle the upper–roman list style\",Turquoise:\"Turquoise\",Underline:\"Underline\",Undo:\"Undo\",Unlink:\"Unlink\",Update:\"Update\",\"Update image URL\":\"Update image URL\",\"Upload failed\":\"Upload failed\",\"Upload in progress\":\"Upload in progress\",\"Upper-latin\":\"Upper-latin\",\"Upper-roman\":\"Upper-roman\",\"Vertical text alignment toolbar\":\"Vertical text alignment toolbar\",White:\"White\",\"Widget toolbar\":\"Widget toolbar\",Width:\"Width\",\"Words: %0\":\"Words: %0\",Yellow:\"Yellow\",\"Yellow marker\":\"Yellow marker\"})})(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={}));(function t(e,n){if(typeof exports===\"object\"&&typeof module===\"object\")module.exports=n();else if(typeof define===\"function\"&&define.amd)define([],n);else if(typeof exports===\"object\")exports[\"ClassicEditor\"]=n();else e[\"ClassicEditor\"]=n()})(window,(function(){return function(t){var e={};function n(o){if(e[o]){return e[o].exports}var i=e[o]={i:o,l:false,exports:{}};t[o].call(i.exports,i,i.exports,n);i.l=true;return i.exports}n.m=t;n.c=e;n.d=function(t,e,o){if(!n.o(t,e)){Object.defineProperty(t,e,{enumerable:true,get:o})}};n.r=function(t){if(typeof Symbol!==\"undefined\"&&Symbol.toStringTag){Object.defineProperty(t,Symbol.toStringTag,{value:\"Module\"})}Object.defineProperty(t,\"__esModule\",{value:true})};n.t=function(t,e){if(e&1)t=n(t);if(e&8)return t;if(e&4&&typeof t===\"object\"&&t&&t.__esModule)return t;var o=Object.create(null);n.r(o);Object.defineProperty(o,\"default\",{enumerable:true,value:t});if(e&2&&typeof t!=\"string\")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 e(){return t[\"default\"]}:function e(){return t};n.d(e,\"a\",e);return e};n.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)};n.p=\"\";return n(n.s=81)}([function(t,e,n){\"use strict\";n.d(e,\"a\",(function(){return i}));n.d(e,\"c\",(function(){return r}));n.d(e,\"b\",(function(){return s}));const o=\"https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/error-codes.html\";class i extends Error{constructor(t,e,n){const o=`${t}${n?` ${JSON.stringify(n)}`:\"\"}${a(t)}`;super(o);this.name=\"CKEditorError\";this.context=e;this.data=n}is(t){return t===\"CKEditorError\"}static rethrowUnexpectedError(t,e){if(t.is&&t.is(\"CKEditorError\")){throw t}const n=new i(t.message,e);n.stack=t.stack;throw n}}function r(t,e){console.warn(...c(t,e))}function s(t,e){console.error(...c(t,e))}function a(t){return`\\nRead more: ${o}#error-${t}`}function c(t,e){const n=a(t);return e?[t,e,n]:[t,n]}},function(t,e,n){\"use strict\";var o=function t(){var e;return function t(){if(typeof e===\"undefined\"){e=Boolean(window&&document&&document.all&&!window.atob)}return e}}();var i=function t(){var e={};return function t(n){if(typeof e[n]===\"undefined\"){var o=document.querySelector(n);if(window.HTMLIFrameElement&&o instanceof window.HTMLIFrameElement){try{o=o.contentDocument.head}catch(t){o=null}}e[n]=o}return e[n]}}();var r=[];function s(t){var e=-1;for(var n=0;n
\").replace(/\\r?\\n/g,\"
\").replace(/^\\s/,\" \").replace(/\\s$/,\" \").replace(/\\s\\s/g,\" \");if(t.includes(\"
\")||t.includes(\"
\")){t=`
${t}
`}return t}function O_(t){return t.replace(/(\\s+)<\\/span>/g,((t,e)=>{if(e.length==1){return\" \"}return e}))}const R_=[\"figcaption\",\"li\"];function j_(t){let e=\"\";if(t.is(\"$text\")||t.is(\"$textProxy\")){e=t.data}else if(t.is(\"element\",\"img\")&&t.hasAttribute(\"alt\")){e=t.getAttribute(\"alt\")}else if(t.is(\"element\",\"br\")){e=\"\\n\"}else{let n=null;for(const o of t.getChildren()){const t=j_(o);if(n&&(n.is(\"containerElement\")||o.is(\"containerElement\"))){if(R_.includes(n.name)||R_.includes(o.name)){e+=\"\\n\"}else{e+=\"\\n\\n\"}}e+=t;n=o}}return e}class F_ extends tC{static get pluginName(){return\"Clipboard\"}static get requires(){return[P_]}init(){const t=this.editor;const e=t.model.document;const n=t.editing.view;const o=n.document;this._htmlDataProcessor=new $p(o);n.addObserver(N_);this.listenTo(o,\"clipboardInput\",(e=>{if(t.isReadOnly){e.stop()}}),{priority:\"highest\"});this.listenTo(o,\"clipboardInput\",((t,e)=>{const o=e.dataTransfer;let i=\"\";if(o.getData(\"text/html\")){i=O_(o.getData(\"text/html\"))}else if(o.getData(\"text/plain\")){i=L_(o.getData(\"text/plain\"))}i=this._htmlDataProcessor.toView(i);const r=new ts(this,\"inputTransformation\");this.fire(r,{content:i,dataTransfer:o,asPlainText:e.asPlainText});if(r.stop.called){t.stop()}n.scrollToTheSelection()}),{priority:\"low\"});this.listenTo(this,\"inputTransformation\",((n,o)=>{if(!o.content.isEmpty){const i=this.editor.data;const r=this.editor.model;const s=i.toModel(o.content,\"$clipboardHolder\");if(s.childCount==0){return}if(o.asPlainText||V_(s)){const n=new Map(Array.from(e.selection.getAttributes()).filter((e=>t.model.schema.getAttributeProperties(e[0]).isFormatting)));r.change((t=>{const e=t.createRangeIn(s);for(const o of e.getItems()){if(o.is(\"$text\")||o.is(\"$textProxy\")){t.setAttributes(n,o)}}}))}r.insertContent(s);n.stop()}}),{priority:\"low\"});function i(n,i){const r=i.dataTransfer;i.preventDefault();const s=t.data.toView(t.model.getSelectedContent(e.selection));o.fire(\"clipboardOutput\",{dataTransfer:r,content:s,method:n.name})}this.listenTo(o,\"copy\",i,{priority:\"low\"});this.listenTo(o,\"cut\",((e,n)=>{if(t.isReadOnly){n.preventDefault()}else{i(e,n)}}),{priority:\"low\"});this.listenTo(o,\"clipboardOutput\",((n,o)=>{if(!o.content.isEmpty){o.dataTransfer.setData(\"text/html\",this._htmlDataProcessor.toData(o.content));o.dataTransfer.setData(\"text/plain\",j_(o.content))}if(o.method==\"cut\"){t.model.deleteContent(e.selection)}}),{priority:\"low\"})}}function V_(t){if(t.childCount>1){return false}const e=t.getChild(0);return[...e.getAttributeKeys()].length==0}class H_{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(t){if(Array.isArray(t)){t.forEach((t=>this._definitions.add(t)))}else{this._definitions.add(t)}}getDispatcher(){return t=>{t.on(\"attribute:linkHref\",((t,e,n)=>{if(!n.consumable.test(e.item,\"attribute:linkHref\")){return}const o=n.writer;const i=o.document.selection;for(const t of this._definitions){const r=o.createAttributeElement(\"a\",t.attributes,{priority:5});o.setCustomProperty(\"link\",true,r);if(t.callback(e.attributeNewValue)){if(e.item.is(\"selection\")){o.wrap(i.getFirstRange(),r)}else{o.wrap(n.mapper.toViewRange(e.range),r)}}else{o.unwrap(n.mapper.toViewRange(e.range),r)}}}),{priority:\"high\"})}}getDispatcherForLinkedImage(){return t=>{t.on(\"attribute:linkHref:image\",((t,e,n)=>{const o=n.mapper.toViewElement(e.item);const i=Array.from(o.getChildren()).find((t=>t.name===\"a\"));for(const t of this._definitions){const o=Us(t.attributes);if(t.callback(e.attributeNewValue)){for(const[t,e]of o){if(t===\"class\"){n.writer.addClass(e,i)}else{n.writer.setAttribute(t,e,i)}}}else{for(const[t,e]of o){if(t===\"class\"){n.writer.removeClass(e,i)}else{n.writer.removeAttribute(t,i)}}}}}))}}}class U_ extends nC{constructor(t){super(t);this.manualDecorators=new _s;this.automaticDecorators=new H_}restoreManualDecoratorStates(){for(const t of this.manualDecorators){t.value=this._getDecoratorStateFromModel(t.id)}}refresh(){const t=this.editor.model;const e=t.document;const n=iC(e.selection.getSelectedBlocks());if(TA(n,t.schema)){this.value=n.getAttribute(\"linkHref\");this.isEnabled=t.schema.checkAttribute(n,\"linkHref\")}else{this.value=e.selection.getAttribute(\"linkHref\");this.isEnabled=t.schema.checkAttributeInSelection(e.selection,\"linkHref\")}for(const t of this.manualDecorators){t.value=this._getDecoratorStateFromModel(t.id)}}execute(t,e={}){const n=this.editor.model;const o=n.document.selection;const i=[];const r=[];for(const t in e){if(e[t]){i.push(t)}else{r.push(t)}}n.change((e=>{if(o.isCollapsed){const s=o.getFirstPosition();if(o.hasAttribute(\"linkHref\")){const a=f_(s,\"linkHref\",o.getAttribute(\"linkHref\"),n);e.setAttribute(\"linkHref\",t,a);i.forEach((t=>{e.setAttribute(t,true,a)}));r.forEach((t=>{e.removeAttribute(t,a)}));e.setSelection(e.createPositionAfter(a.end.nodeBefore))}else if(t!==\"\"){const r=Us(o.getAttributes());r.set(\"linkHref\",t);i.forEach((t=>{r.set(t,true)}));const a=e.createText(t,r);n.insertContent(a,s);e.setSelection(e.createPositionAfter(a))}[\"linkHref\",...i,...r].forEach((t=>{e.removeSelectionAttribute(t)}))}else{const s=n.schema.getValidRanges(o.getRanges(),\"linkHref\");const a=[];for(const t of o.getSelectedBlocks()){if(n.schema.checkAttribute(t,\"linkHref\")){a.push(e.createRangeOn(t))}}const c=a.slice();for(const t of s){if(this._isRangeToUpdate(t,a)){c.push(t)}}for(const n of c){e.setAttribute(\"linkHref\",t,n);i.forEach((t=>{e.setAttribute(t,true,n)}));r.forEach((t=>{e.removeAttribute(t,n)}))}}}))}_getDecoratorStateFromModel(t){const e=this.editor.model;const n=e.document;const o=iC(n.selection.getSelectedBlocks());if(TA(o,e.schema)){return o.getAttribute(t)}return n.selection.getAttribute(t)}_isRangeToUpdate(t,e){for(const n of e){if(n.containsRange(t)){return false}}return true}}class W_ extends nC{refresh(){const t=this.editor.model;const e=t.document;const n=iC(e.selection.getSelectedBlocks());if(TA(n,t.schema)){this.isEnabled=t.schema.checkAttribute(n,\"linkHref\")}else{this.isEnabled=t.schema.checkAttributeInSelection(e.selection,\"linkHref\")}}execute(){const t=this.editor;const e=this.editor.model;const n=e.document.selection;const o=t.commands.get(\"link\");e.change((t=>{const i=n.isCollapsed?[f_(n.getFirstPosition(),\"linkHref\",n.getAttribute(\"linkHref\"),e)]:n.getRanges();for(const e of i){t.removeAttribute(\"linkHref\",e);if(o){for(const n of o.manualDecorators){t.removeAttribute(n.id,e)}}}}))}}class K_{constructor({id:t,label:e,attributes:n,defaultValue:o}){this.id=t;this.set(\"value\");this.defaultValue=o;this.label=e;this.attributes=n}}vs(K_,$c);var G_=n(29);var q_={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":true}};q_.insert=\"head\";q_.singleton=true;var Y_=ik()(G_[\"a\"],q_);var Q_=G_[\"a\"].locals||{};const $_=\"ck-link_selected\";const Z_=\"automatic\";const J_=\"manual\";const X_=/^(https?:)?\\/\\//;class ty extends tC{static get pluginName(){return\"LinkEditing\"}static get requires(){return[a_,M_,F_]}constructor(t){super(t);t.config.define(\"link\",{addTargetToExternalLinks:false})}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:\"linkHref\"});t.conversion.for(\"dataDowncast\").attributeToElement({model:\"linkHref\",view:_A});t.conversion.for(\"editingDowncast\").attributeToElement({model:\"linkHref\",view:(t,e)=>_A(yA(t),e)});t.conversion.for(\"upcast\").elementToAttribute({view:{name:\"a\",attributes:{href:true}},model:{key:\"linkHref\",value:t=>t.getAttribute(\"href\")}});t.commands.add(\"link\",new U_(t));t.commands.add(\"unlink\",new W_(t));const e=DA(t.t,EA(t.config.get(\"link.decorators\")));this._enableAutomaticDecorators(e.filter((t=>t.mode===Z_)));this._enableManualDecorators(e.filter((t=>t.mode===J_)));const n=t.plugins.get(a_);n.registerAttribute(\"linkHref\");g_(t,\"linkHref\",\"a\",$_);this._enableInsertContentSelectionAttributesFixer();this._enableClickingAfterLink();this._enableTypingOverLink();this._handleDeleteContentAfterLink()}_enableAutomaticDecorators(t){const e=this.editor;const n=e.commands.get(\"link\");const o=n.automaticDecorators;if(e.config.get(\"link.addTargetToExternalLinks\")){o.add({id:\"linkIsExternal\",mode:Z_,callback:t=>X_.test(t),attributes:{target:\"_blank\",rel:\"noopener noreferrer\"}})}o.add(t);if(o.length){e.conversion.for(\"downcast\").add(o.getDispatcher())}}_enableManualDecorators(t){if(!t.length){return}const e=this.editor;const n=e.commands.get(\"link\");const o=n.manualDecorators;t.forEach((t=>{e.model.schema.extend(\"$text\",{allowAttributes:t.id});o.add(new K_(t));e.conversion.for(\"downcast\").attributeToElement({model:t.id,view:(e,{writer:n})=>{if(e){const e=o.get(t.id).attributes;const i=n.createAttributeElement(\"a\",e,{priority:5});n.setCustomProperty(\"link\",true,i);return i}}});e.conversion.for(\"upcast\").elementToAttribute({view:{name:\"a\",attributes:o.get(t.id).attributes},model:{key:t.id}})}))}_enableInsertContentSelectionAttributesFixer(){const t=this.editor;const e=t.model;const n=e.document.selection;const o=t.commands.get(\"link\");this.listenTo(e,\"insertContent\",(()=>{const t=n.anchor.nodeBefore;const i=n.anchor.nodeAfter;if(!n.hasAttribute(\"linkHref\")){return}if(!t){return}if(!t.hasAttribute(\"linkHref\")){return}if(i&&i.hasAttribute(\"linkHref\")){return}e.change((t=>{ey(t,o.manualDecorators)}))}),{priority:\"low\"})}_enableClickingAfterLink(){const t=this.editor;const e=t.commands.get(\"link\");t.editing.view.addObserver(s_);let n=false;this.listenTo(t.editing.view.document,\"mousedown\",(()=>{n=true}));this.listenTo(t.editing.view.document,\"selectionChange\",(()=>{if(!n){return}n=false;const o=t.model.document.selection;if(!o.isCollapsed){return}if(!o.hasAttribute(\"linkHref\")){return}const i=o.getFirstPosition();const r=f_(i,\"linkHref\",o.getAttribute(\"linkHref\"),t.model);if(i.isTouching(r.start)||i.isTouching(r.end)){t.model.change((t=>{ey(t,e.manualDecorators)}))}}))}_enableTypingOverLink(){const t=this.editor;const e=t.editing.view;let n;let o;this.listenTo(e.document,\"delete\",(()=>{o=true}),{priority:\"high\"});this.listenTo(t.model,\"deleteContent\",(()=>{const e=t.model.document.selection;if(e.isCollapsed){return}if(o){o=false;return}if(!oy(t)){return}if(ny(t.model)){n=e.getAttributes()}}),{priority:\"high\"});this.listenTo(t.model,\"insertContent\",((e,[i])=>{o=false;if(!oy(t)){return}if(!n){return}t.model.change((t=>{for(const[e,o]of n){t.setAttribute(e,o,i)}}));n=null}),{priority:\"high\"})}_handleDeleteContentAfterLink(){const t=this.editor;const e=t.model;const n=e.document.selection;const o=t.editing.view;const i=t.commands.get(\"link\");let r=false;let s=false;this.listenTo(o.document,\"delete\",((t,e)=>{s=e.domEvent.keyCode===Pl.backspace}),{priority:\"high\"});this.listenTo(e,\"deleteContent\",(()=>{r=false;const t=n.getFirstPosition();const o=n.getAttribute(\"linkHref\");if(!o){return}const i=f_(t,\"linkHref\",o,e);r=i.containsPosition(t)||i.end.isEqual(t)}),{priority:\"high\"});this.listenTo(e,\"deleteContent\",(()=>{if(!s){return}s=false;if(r){return}t.model.enqueueChange((t=>{ey(t,i.manualDecorators)}))}),{priority:\"low\"})}}function ey(t,e){t.removeSelectionAttribute(\"linkHref\");for(const n of e){t.removeSelectionAttribute(n.id)}}function ny(t){const e=t.document.selection;const n=e.getFirstPosition();const o=e.getLastPosition();const i=n.nodeAfter;if(!i){return false}if(!i.is(\"$text\")){return false}if(!i.hasAttribute(\"linkHref\")){return false}const r=o.textNode||o.nodeBefore;if(i===r){return true}const s=f_(n,\"linkHref\",i.getAttribute(\"linkHref\"),t);return s.containsRange(t.createRange(n,o),true)}function oy(t){const e=t.plugins.get(\"Input\");return e.isInput(t.model.change((t=>t.batch)))}class iy extends RA{static get pluginName(){return\"Notification\"}init(){this.on(\"show:warning\",((t,e)=>{window.alert(e.message)}),{priority:\"lowest\"})}showSuccess(t,e={}){this._showNotification({message:t,type:\"success\",namespace:e.namespace,title:e.title})}showInfo(t,e={}){this._showNotification({message:t,type:\"info\",namespace:e.namespace,title:e.title})}showWarning(t,e={}){this._showNotification({message:t,type:\"warning\",namespace:e.namespace,title:e.title})}_showNotification(t){const e=`show:${t.type}`+(t.namespace?`:${t.namespace}`:\"\");this.fire(e,{message:t.message,type:t.type,title:t.title||\"\"})}}class ry extends nC{constructor(t){super(t);this.stopListening(this.editor.model.document,\"change\");this.listenTo(this.editor.model.document,\"change\",(()=>this.refresh()),{priority:\"low\"})}refresh(){const t=this.editor.commands.get(\"imageInsert\");const e=this.editor.commands.get(\"link\");this.isEnabled=t.isEnabled||e.isEnabled}execute(){const t=this.editor;const e=this.editor.config.get(\"ckfinder.openerMethod\")||\"modal\";if(e!=\"popup\"&&e!=\"modal\"){throw new ss[\"a\"](\"ckfinder-unknown-openermethod\",t)}const n=this.editor.config.get(\"ckfinder.options\")||{};n.chooseFiles=true;const o=n.onInit;if(!n.language){n.language=t.locale.uiLanguage}n.onInit=e=>{if(o){o(e)}e.on(\"files:choose\",(n=>{const o=n.data.files.toArray();const i=o.filter((t=>!t.isImage()));const r=o.filter((t=>t.isImage()));for(const e of i){t.execute(\"link\",e.getUrl())}const s=[];for(const t of r){const n=t.getUrl();s.push(n?n:e.request(\"file:getProxyUrl\",{file:t}))}if(s.length){sy(t,s)}}));e.on(\"file:choose:resizedImage\",(e=>{const n=e.data.resizedUrl;if(!n){const e=t.plugins.get(\"Notification\");const n=t.locale.t;e.showWarning(n(\"Could not obtain resized image URL.\"),{title:n(\"Selecting resized image failed\"),namespace:\"ckfinder\"});return}sy(t,[n])}))};window.CKFinder[e](n)}}function sy(t,e){const n=t.commands.get(\"imageInsert\");if(!n.isEnabled){const e=t.plugins.get(\"Notification\");const n=t.locale.t;e.showWarning(n(\"Could not insert image at the current position.\"),{title:n(\"Inserting image failed\"),namespace:\"ckfinder\"});return}t.execute(\"imageInsert\",{source:e})}class ay extends tC{static get pluginName(){return\"CKFinderEditing\"}static get requires(){return[iy,i_,ty]}init(){const t=this.editor;t.commands.add(\"ckfinder\",new ry(t))}}class cy{constructor(){const t=new window.FileReader;this._reader=t;this._data=undefined;this.set(\"loaded\",0);t.onprogress=t=>{this.loaded=t.loaded}}get error(){return this._reader.error}get data(){return this._data}read(t){const e=this._reader;this.total=t.size;return new Promise(((n,o)=>{e.onload=()=>{const t=e.result;this._data=t;n(t)};e.onerror=()=>{o(\"error\")};e.onabort=()=>{o(\"aborted\")};this._reader.readAsDataURL(t)}))}abort(){this._reader.abort()}}vs(cy,$c);class ly extends tC{static get pluginName(){return\"FileRepository\"}static get requires(){return[jA]}init(){this.loaders=new _s;this.loaders.on(\"add\",(()=>this._updatePendingAction()));this.loaders.on(\"remove\",(()=>this._updatePendingAction()));this._loadersMap=new Map;this._pendingAction=null;this.set(\"uploaded\",0);this.set(\"uploadTotal\",null);this.bind(\"uploadedPercent\").to(this,\"uploaded\",this,\"uploadTotal\",((t,e)=>e?t/e*100:0))}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter){Object(ss[\"c\"])(\"filerepository-no-upload-adapter\");return null}const e=new dy(Promise.resolve(t),this.createUploadAdapter);this.loaders.add(e);this._loadersMap.set(t,e);if(t instanceof Promise){e.file.then((t=>{this._loadersMap.set(t,e)})).catch((()=>{}))}e.on(\"change:uploaded\",(()=>{let t=0;for(const e of this.loaders){t+=e.uploaded}this.uploaded=t}));e.on(\"change:uploadTotal\",(()=>{let t=0;for(const e of this.loaders){if(e.uploadTotal){t+=e.uploadTotal}}this.uploadTotal=t}));return e}destroyLoader(t){const e=t instanceof dy?t:this.getLoader(t);e._destroy();this.loaders.remove(e);this._loadersMap.forEach(((t,n)=>{if(t===e){this._loadersMap.delete(n)}}))}_updatePendingAction(){const t=this.editor.plugins.get(jA);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t;const n=t=>`${e(\"Upload in progress\")} ${parseInt(t)}%.`;this._pendingAction=t.add(n(this.uploadedPercent));this._pendingAction.bind(\"message\").to(this,\"uploadedPercent\",n)}}else{t.remove(this._pendingAction);this._pendingAction=null}}}vs(ly,$c);class dy{constructor(t,e){this.id=ns();this._filePromiseWrapper=this._createFilePromiseWrapper(t);this._adapter=e(this);this._reader=new cy;this.set(\"status\",\"idle\");this.set(\"uploaded\",0);this.set(\"uploadTotal\",null);this.bind(\"uploadedPercent\").to(this,\"uploaded\",this,\"uploadTotal\",((t,e)=>e?t/e*100:0));this.set(\"uploadResponse\",null)}get file(){if(!this._filePromiseWrapper){return Promise.resolve(null)}else{return this._filePromiseWrapper.promise.then((t=>this._filePromiseWrapper?t:null))}}get data(){return this._reader.data}read(){if(this.status!=\"idle\"){throw new ss[\"a\"](\"filerepository-read-wrong-status\",this)}this.status=\"reading\";return this.file.then((t=>this._reader.read(t))).then((t=>{if(this.status!==\"reading\"){throw this.status}this.status=\"idle\";return t})).catch((t=>{if(t===\"aborted\"){this.status=\"aborted\";throw\"aborted\"}this.status=\"error\";throw this._reader.error?this._reader.error:t}))}upload(){if(this.status!=\"idle\"){throw new ss[\"a\"](\"filerepository-upload-wrong-status\",this)}this.status=\"uploading\";return this.file.then((()=>this._adapter.upload())).then((t=>{this.uploadResponse=t;this.status=\"idle\";return t})).catch((t=>{if(this.status===\"aborted\"){throw\"aborted\"}this.status=\"error\";throw t}))}abort(){const t=this.status;this.status=\"aborted\";if(!this._filePromiseWrapper.isFulfilled){this._filePromiseWrapper.promise.catch((()=>{}));this._filePromiseWrapper.rejecter(\"aborted\")}else if(t==\"reading\"){this._reader.abort()}else if(t==\"uploading\"&&this._adapter.abort){this._adapter.abort()}this._destroy()}_destroy(){this._filePromiseWrapper=undefined;this._reader=undefined;this._adapter=undefined;this.uploadResponse=undefined}_createFilePromiseWrapper(t){const e={};e.promise=new Promise(((n,o)=>{e.rejecter=o;e.isFulfilled=false;t.then((t=>{e.isFulfilled=true;n(t)})).catch((t=>{e.isFulfilled=true;o(t)}))}));return e}}vs(dy,$c);const uy=\"ckCsrfToken\";const hy=40;const fy=\"abcdefghijklmnopqrstuvwxyz0123456789\";function my(){let t=gy(uy);if(!t||t.length!=hy){t=ky(hy);py(uy,t)}return t}function gy(t){t=t.toLowerCase();const e=document.cookie.split(\";\");for(const n of e){const e=n.split(\"=\");const o=decodeURIComponent(e[0].trim().toLowerCase());if(o===t){return decodeURIComponent(e[1])}}return null}function py(t,e){document.cookie=encodeURIComponent(t)+\"=\"+encodeURIComponent(e)+\";path=/\"}function ky(t){let e=\"\";const n=new Uint8Array(t);window.crypto.getRandomValues(n);for(let t=0;t